Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)B
Posts
4
Comments
9
Joined
4 yr. ago

  • Thanks for the feedback :)

    Regarding mobile devices my plan on the short term is to integrate with Floccus.

    In the meantime I have been using a workaround with Syncthing as following:

    I have a folder synced between my mobile devices and gosuki. From time to time I export all the mobile browser bookmarks using the built-in export to html. On Gosuki you can setup the html-autoimport module which continuously watches the synced folder and imports the bookmarks. It works flawlessly.

  • Because it's an open and decentralized protocol in the same vein as email. It is the most likely to survive in the longterm as it's not tied to a single entity.

    Fragmentation is inevitable in a decentralized protocol. Look at email or http servers, there is no standard mainstream app but a standard extensible protocol, that's how the internet was originally designed to grow. Now that corporations are pushing their own protocols, they have an incentive to lock users in their ecosystem.

  • Not at all, message archive management and Push Notifications are some of the core XMPP extensions that almost any XMPP app supports.

    Let me tell you an other huge advantage of XMPP for those who care about privacy: it's called Omemo, which is essentially the same protocol used by signal. Given the current push by govs to undermine encryption and private messaging providers, it is probably a good idea to look into self hosting anything remotely related to privacy. Even if they manage to (and they will) to pass their spyware everywhere, if more people self-host it would be much more costly for them and we would see many more secure protocols popup.

  • I use a self hosted XMPP stack with ejabberd as server and conversations.im for mobile apps. I have audio and video calls and tons of features built into xmpp. There is a huge selection of apps for all platforms.

    XMPP is a battle tested protocol that all major messaging apps use underneath.

    I used Matrix a few years ago for a full year. I dropped it and never came back. It is a bloated solution to a problem that was already solved by xmpp.

    I programmed a bot that is shared with a private room that provides commands such as archiving websites with archiveit or yt videos with TubeArchivist

    I am planning however to migrate from Ejabberd to Prosody as I would like to easilly hack on the source code or extensions and Ejabberd is Erlang with a very rigid stack.

  • We need a decentralized community owned cloudflare alternative. Anubis looks on good track.

  • Right I must have just blanket banned the whole /8 to be sure alibaba cloud is included. Did some time ago so I forgot

  • I am planning to try it out, but for caddy users I came up with a solution that works after being bombarded by AI crawlers for weeks.

    It is a custom caddy CEL expression filter coupled with caddy-ratelimit and caddy-defender.

    Now here's the fun part, the defender plugin can produce garbage as response so when a matching AI crawler fits it will poison their training dataset.

    Originally I only relied on the rate limiter and noticed that AI bots kept trying whenever the limit was reset. Once I introduced data poisoning they all stopped :)

     
        
    git.blob42.xyz {
        @bot <<CEL
            header({'Accept-Language': 'zh-CN'}) || header_regexp('User-Agent', '(?i:(.*bot.*|.*crawler.*|.*meta.*|.*google.*|.*microsoft.*|.*spider.*))')
        CEL
    
    
        abort @bot
        
    
        defender garbage {
    
            ranges aws azurepubliccloud deepseek gcloud githubcopilot openai 47.0.0.0/8
          
        }
    
        rate_limit {
            zone dynamic_botstop {
                match {
                    method GET
                     # to use with defender
                     #header X-RateLimit-Apply true
                     #not header LetMeThrough 1
                }
                key {remote_ip}
                events 1500
                window 30s
                #events 10
                #window 1m
            }
        }
    
        reverse_proxy upstream.server:4242
    
        handle_errors 429 {
            respond "429: Rate limit exceeded."
        }
    
    }
    
      

    If I am not mistaken the 47.0.0.0/8 ip block is for Alibaba cloud