Salta al contenuto
Citiverse è uno spazio aperto a tutte le comunità. Se vuoi aprire un gruppo locale o una sezione per la tua organizzazione, puoi contattare gli amministratori: pagina dei contatti.

Anyone with experience using anubis on their lemmy server, have a good config?

Lemmy
16 10 0
  • I regularly encounter images not loading from quock.au. No idea if they've got that under control now but that is the most visible issue every instance fights with. Gonna be great when we have a recommended configuration for Lemmy.

    Yep, essentially the botPolicy.yaml there could be a collectively developed anubis config, based on what works best.

  • I've recently added anubis to lemmy.ml, and it seems to be working well.

    I have a PR to add anubis to lemmy-ansible (our main installation method), and I could use some help tweaking / optimizing its botPolicy.yaml config, for federated services.

    Anyone with experience running anubis, this would be much appreciated.

    Sure. I have found that the default botPolicy works fine for blocking the AI bots, but blocks federation.

    At the reverse proxy level:

    if ($request_method = POST) {
        proxy_pass http://nodebb; 
    }
    

    Because Anubis can't filter by HTTP method, unless I am mistaken. This just broadly allows all incoming activities. If you want to get specific, limit it to your shared inbox or individual user inboxes via regular expression or something. I didn't find that it was necessary.

    As for botPolicies.yaml

      # Allow /inbox
      - name: allow-ap-headers
        headers_regex:
          Accept: application/ld\+json; profile="https://www.w3.org/ns/activitystreams"
          Accept: application/activity\+json
        action: ALLOW
    
      - name: allow-assets
        path_regex: /assets
        action: ALLOW
    

    The former allows those specific AP headers (it is naive, some AP impls. send slight variations of those two headers.

    The latter allows our uploads.

  • Sure. I have found that the default botPolicy works fine for blocking the AI bots, but blocks federation.

    At the reverse proxy level:

    if ($request_method = POST) {
        proxy_pass http://nodebb; 
    }
    

    Because Anubis can't filter by HTTP method, unless I am mistaken. This just broadly allows all incoming activities. If you want to get specific, limit it to your shared inbox or individual user inboxes via regular expression or something. I didn't find that it was necessary.

    As for botPolicies.yaml

      # Allow /inbox
      - name: allow-ap-headers
        headers_regex:
          Accept: application/ld\+json; profile="https://www.w3.org/ns/activitystreams"
          Accept: application/activity\+json
        action: ALLOW
    
      - name: allow-assets
        path_regex: /assets
        action: ALLOW
    

    The former allows those specific AP headers (it is naive, some AP impls. send slight variations of those two headers.

    The latter allows our uploads.

    Lemmy has a separated UI and backend hosted on different ports, so its trivial for us to just only use anubis for the front end. We couldn't put it in front of everything due to apps also.

  • This is the botPolicy.yaml that we use on slrpnk.net :

    bots:
      - name: known-crawler
        action: CHALLENGE
        expression:
          # https://anubis.techaro.lol/docs/admin/configuration/expressions
          all:
            # Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
            - userAgent.contains("Macintosh; Intel Mac") && userAgent.contains("Chrome/125.0.0.0") # very old chrome?
            - missingHeader(headers, "Sec-Ch-Ua") # a valid chrome has this header
        challenge:
          difficulty: 6
          algorithm: slow
    
        # Assert behaviour that only genuine browsers display.
        # This ensures that Chrome or Firefox versions
      - name: realistic-browser-catchall
        expression:
          all:
            - '"User-Agent" in headers'
            - '( userAgent.contains("Firefox") ) || ( userAgent.contains("Chrome") ) || ( userAgent.contains("Safari") )'
            - '"Accept" in headers'
            - '"Sec-Fetch-Dest" in headers'
            - '"Sec-Fetch-Mode" in headers'
            - '"Sec-Fetch-Site" in headers'
            - '"Accept-Encoding" in headers'
            - '( headers["Accept-Encoding"].contains("zstd") || headers["Accept-Encoding"].contains("br") )'
            - '"Accept-Language" in headers'
        action: CHALLENGE
        challenge:
          difficulty: 2
          algorithm: fast
    
      - name: generic-browser
        user_agent_regex: (?i:mozilla|opera)
        action: CHALLENGE
        challenge:
          difficulty: 4
          algorithm: fast
    
    status_codes:
      CHALLENGE: 202
      DENY: 406
    
    dnsbl: false
    
    #store:
    #  backend: valkey
    #  parameters:
    #    url: redis://valkey-primary:6379/0
    

    I think I just took it over from Codeberg.org back from when they still used Anubis. Nothing really relevant to Lemmy specifically and it is only in front of the frontends, not the s2s federation API.

    It seems though like there are some crawlers that use 3rd party hosted alternative frontends to crawl (unintentionally?) through the federation API, so something in front of that would be useful I guess.

  • Well behaved bots should see the origin in the headers and only crawl those.

  • I've recently added anubis to lemmy.ml, and it seems to be working well.

    I have a PR to add anubis to lemmy-ansible (our main installation method), and I could use some help tweaking / optimizing its botPolicy.yaml config, for federated services.

    Anyone with experience running anubis, this would be much appreciated.

    Not Lemmy specific, but I wanted to set up Anubis in a setup where I have one reverse proxy (nginx) handling many different domains. Last time I looked, it seemed to need one Anubis instance per domain. Is that still the case? Goal was to have a single Anubis instance and route all through it

  • Not Lemmy specific, but I wanted to set up Anubis in a setup where I have one reverse proxy (nginx) handling many different domains. Last time I looked, it seemed to need one Anubis instance per domain. Is that still the case? Goal was to have a single Anubis instance and route all through it

    I'm not an expert, but I think the fact that you need to set a TARGET in anubis, IE, where does anubis send you after passing it, means that you do need separate anubis's for each site.

  • Not Lemmy specific, but I wanted to set up Anubis in a setup where I have one reverse proxy (nginx) handling many different domains. Last time I looked, it seemed to need one Anubis instance per domain. Is that still the case? Goal was to have a single Anubis instance and route all through it

    You could probably put Anubis in front of your reverse-proxy, but then you need something else in front of it that handles TLS certificates. So maybe something like this: HAProxy->Anubis->Nginx.

  • I've recently added anubis to lemmy.ml, and it seems to be working well.

    I have a PR to add anubis to lemmy-ansible (our main installation method), and I could use some help tweaking / optimizing its botPolicy.yaml config, for federated services.

    Anyone with experience running anubis, this would be much appreciated.

    i think feddit.org and lemmy.dbzer0.com both use it

    in feddit.org's case, the anubis loading screen displays for waaay too long. i've told the feddit.org admins repeatedly but got no response.

    i'm not sure whether lemmy.dbzer0.com still uses it, but i think i remember seeing the loading screen there too. maybe they just reduced the loading time so much that i can't see it anymore.

  • i think feddit.org and lemmy.dbzer0.com both use it

    in feddit.org's case, the anubis loading screen displays for waaay too long. i've told the feddit.org admins repeatedly but got no response.

    i'm not sure whether lemmy.dbzer0.com still uses it, but i think i remember seeing the loading screen there too. maybe they just reduced the loading time so much that i can't see it anymore.

    We're actually using haphash, not anubis

  • Is somewhere an engine for private messaging?

    Lemmy lemmy
    3
    0 Votazioni
    3 Post
    0 Visualizzazioni
    julian@activitypub.spaceJ
    E2EE messaging is being worked on. PoC available via Emissary (@benpate@mastodon.social) Most other software on AP supports reduced visibility messaging. Threadiverse, there's NodeBB
  • 1 Votazioni
    1 Post
    1 Visualizzazioni
    Nessuno ha risposto
  • 0 Votazioni
    68 Post
    135 Visualizzazioni
    informapirata@lemmy.worldI
    oh, a clarification: I'm still @macfranc@poliversity.it I'm a fan of Lemmy, though I recognize that some limitations could be considered flaws (https://piefed.social/comment/11707767). However, your perspective must take into account some design (and history) issues with the software you mentioned: Lemmy barely works with PeerTube [discuss.tchncs.de] It's important to understand a few concepts here: Lemmy is based on Activitypub groups A group works by "resharing" an initial post and all replies to that post With some programs (Mastodon's "socialverse," Misskey, Pleroma, Friendica, or Pixelfed), you can "post inside a group" only by mentioning the "group user"; with others (Lemmy/Piefed/Mbin/NodeBB's forumverse, but also Peertube, Mobilizon, or Flipboard), you simply assign a discussion to a group (you can do this easily from the interface). This second mode doesn't yet have a syntax shared by all the software in the Fediverse. Finally, a very important feature of Lemmy is that a post can only be published to one channel at a time. This might seem like a limitation (we'll discuss it later, when talking about Flipboard), but it's actually designed by the developers to prevent synchronous crossposting, which can dramatically increase spam. Lemmy handles the display of Peertube content very well and correctly assigns it to the correct Peertube channel. What doesn't work well is the update system, which is why Lemmy can't act as a Peertube feed reader. This isn't Lemmy's fault, nor is it Peertube's, as each handles Activitypub groups differently. Lemmy doesn't work with Pixelfed [discuss.tchncs.de] That's not true. Lemmy handles Pixelfed very well. Pixelfed users can open threads on Lemmy or reply to Lemmy discussions. However, Pixelfed only shows users retweets made by Pixelfed, not those from other software. Therefore, Pixelfed users cannot access the groups. Regarding your user, I'd like to point out that feddit.it can see it: https://feddit.it/u/NotAHopeInHades@pixelfed.social Lemmy doesn't work with Loops [discuss.tchncs.de] Loops is still a very immature software, with very limited interoperability. I wouldn't consider it a valid test for certifying Lemmy's functionality. Regarding your user, I'd like to point out that feddit.it can see it: https://feddit.it/u/spaceotter@loops.video Lemmy doesn't work with Micro.blog [discuss.tchncs.de] I'm not familiar with Microblog, but (regarding your user) I'd like to point out that feddit.it can see it: https://feddit.it/u/akshay@social.learnlearn.in Lemmy doesn't seem to work with Flipboard Flipboard uses groups to manage the "magazines" of the "main accounts." Magazines are the thematic sections of the main account. Basically, the main account (for example, @NationalGeographic@flipboard.com) publishes a news item, and depending on the topic, it can be published in the "Science" Activitypub group (@science-NationalGeographic@flipboard.com) or the "Environment" Activitypub group (@environment-NationalGeographic@flipboard.com), OR both. This design, intended to maximize visibility on the Mastodon audience, is incompatible with Lemmy's logic. Lemmy, in fact, as I mentioned before, doesn't allow synchronous crossposting of the same content across multiple groups. The same goes for Misskey. Lemmy handles Misskey very well. And Misskey handles Lemmy very well. I don't understand the problem.
  • 5 Votazioni
    4 Post
    43 Visualizzazioni
    macfranc@poliversity.itM
    @elettrona sì ma gup.pe non veniva utilizzato perché fosse estremamente ricco di funzionalità Ma solo perché era il primo servizio pensato per un utilizzo di massa. Ora #fedigroups è la stessa cosa di gup.pe, ma in questi ultimi anni si sono affermati sistemi molto più Pratici e con possibilità di moderazione migliori, come quelli delle piattaforme che ho menzionato. Noi stessi abbiamo creato poliverso.org dove è possibile creare account gruppi gestibili direttamente dal proprio account Friendica; feddit.it basato su Lemmy dove abbiamo liberalizzato la possibilità per tutti gli utenti iscritti di creare una nuova comunità tematica; e soprattutto citiverse.it con NodeBB che in questo momento è oggettivamente la piattaforma più interessante del Fediverso. Credo quindi che il tempo del software di gup.pe sia un po' tramontato@fediverso
  • 0 Votazioni
    4 Post
    1 Visualizzazioni
    mradcliffe@nokoto.orgM
    If I do need to wrap it an Announce, then I think I will need to do the following based on how it works on my end.Create my post as normal, but don’t address it to the community initially.Announce my own post making sure I address it to the community.I guess that might show up as me boosting my own post on some instances (tooting my own horn? Horning my own toot?), which I would feel ashamed of. 
  • 10 Votazioni
    9 Post
    113 Visualizzazioni
    poliverso@feddit.itP
    Potresti usare i tre feed attualmente usati da fedinews.it https://feddit.it/feeds/local.xml?sort=New https://citiverse.it/recent.rss https://lemmy.casasnow.noho.st/feeds/local.xml?sort=New
  • 4 Votazioni
    1 Post
    64 Visualizzazioni
    Nessuno ha risposto

Citiverse è un progetto che si basa su NodeBB ed è federato! | Categorie federate | Chat | 📱 Installa web app o APK | 🧡 Donazioni | Privacy Policy

Il server utilizzato è quello di Webdock, in Danimarca. Se volete provarlo potete ottenere il 20% di sconto con questo link e noi riceveremo un aiuto sotto forma di credito da usare proprio per mantenere Citiverse.