Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
We Distribute
  1. Home
  2. Uncategorized
  3. Need help implementing ActivityPub - getting inconsistent results across platforms

Need help implementing ActivityPub - getting inconsistent results across platforms

Scheduled Pinned Locked Moved Uncategorized
fediverse
16 Posts 6 Posters 46 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ? Guest

    My friend is working on adding ActivityPub support to his blog platform (BDServer) so people can follow/comment from Mastodon, Lemmy, etc.

    Current status: Lemmy and Misskey can find and follow his account (@blenderdumbass@blenderdumbass.org), but Mastodon can't find it at all, even though he sees proper ActivityPub requests hitting his server.

    The technical details are pretty gnarly - RSA signature verification, HTTP header recreation, multi-threading issues. He wrote up the full journey here: Please Help Me With Activity Pub

    If anyone has ActivityPub experience or wants to take a look at the code (Python), we have a Matrix room for BDServer development. Any insights on why different platforms behave differently would be super helpful.

    You're invited to talk on Matrix

    You're invited to talk on Matrix

    favicon

    (matrix.to)

    Source code: ActivityPub.py

    flamingos@feddit.ukF This user is from outside of this forum
    flamingos@feddit.ukF This user is from outside of this forum
    flamingos@feddit.uk
    wrote last edited by
    #3

    I'm not the most knowledgeable about Mastodon's APub implementation, but having a look at the Actor of that profile, it might be because it's invalid JSON-LD. Now, Mastodon doesn't actually do proper JSON-LD checks, you can follow PieFed profiles from Mastodon and they don't produce proper JSON-LD, but they do include "https://w3id.org/security/v1" in their @context, and doing a code search of Mastodon's source code does show some checks for if that's included.

    Lemmy's I am familiar with and irrc it doesn't even check if @context is present.

    1 Reply Last reply
    0
    • irelephant@lemmy.dbzer0.comI irelephant@lemmy.dbzer0.com

      Did something change since this was posted?
      I can look it up properly on mastodon.
      You have to be signed in to fetch accounts on mastodon, is that the problem?

      Are you using any framework to build the site? There's a few libraries for activitypub.
      These links could be helpful: https://codeberg.org/fediverse/delightful-activitypub-development/

      blenderdumbass@lm.madiator.cloudB This user is from outside of this forum
      blenderdumbass@lm.madiator.cloudB This user is from outside of this forum
      blenderdumbass@lm.madiator.cloud
      wrote last edited by
      #4

      Seems like somebody mentioned the account on the fediverse that started a chain reaction of various instances requesting a bunch of stuff. Which made it to Mastodon.social too. It still doesn't work though.

      The server is written in python and the idea is to make it deploy-able without needing to install anything extra. So I'm trying to implement my own activity pub.

      irelephant@lemmy.dbzer0.comI rglullis@communick.newsR julian@community.nodebb.orgJ 3 Replies Last reply
      0
      • irelephant@lemmy.dbzer0.comI irelephant@lemmy.dbzer0.com

        Did something change since this was posted?
        I can look it up properly on mastodon.
        You have to be signed in to fetch accounts on mastodon, is that the problem?

        Are you using any framework to build the site? There's a few libraries for activitypub.
        These links could be helpful: https://codeberg.org/fediverse/delightful-activitypub-development/

        ? Offline
        ? Offline
        Guest
        wrote last edited by
        #5

        I would say for now the most issue is about acually pulling posts.

        1 Reply Last reply
        0
        • blenderdumbass@lm.madiator.cloudB blenderdumbass@lm.madiator.cloud

          Seems like somebody mentioned the account on the fediverse that started a chain reaction of various instances requesting a bunch of stuff. Which made it to Mastodon.social too. It still doesn't work though.

          The server is written in python and the idea is to make it deploy-able without needing to install anything extra. So I'm trying to implement my own activity pub.

          irelephant@lemmy.dbzer0.comI This user is from outside of this forum
          irelephant@lemmy.dbzer0.comI This user is from outside of this forum
          irelephant@lemmy.dbzer0.com
          wrote last edited by
          #6

          Running curl https://blenderdumbass.org/activitypub/account/blenderdumbass -H "Accept: application/activity+json" twice in a row outputs some bunkerweb anti-spam stuff.

          ? blenderdumbass@lm.madiator.cloudB 2 Replies Last reply
          0
          • irelephant@lemmy.dbzer0.comI irelephant@lemmy.dbzer0.com

            Running curl https://blenderdumbass.org/activitypub/account/blenderdumbass -H "Accept: application/activity+json" twice in a row outputs some bunkerweb anti-spam stuff.

            ? Offline
            ? Offline
            Guest
            wrote last edited by
            #7

            Disabled bunker for now.

            irelephant@lemmy.dbzer0.comI 1 Reply Last reply
            0
            • blenderdumbass@lm.madiator.cloudB blenderdumbass@lm.madiator.cloud

              Seems like somebody mentioned the account on the fediverse that started a chain reaction of various instances requesting a bunch of stuff. Which made it to Mastodon.social too. It still doesn't work though.

              The server is written in python and the idea is to make it deploy-able without needing to install anything extra. So I'm trying to implement my own activity pub.

              rglullis@communick.newsR This user is from outside of this forum
              rglullis@communick.newsR This user is from outside of this forum
              rglullis@communick.news
              wrote last edited by
              #8

              It's for django, but take a look into my ActivityPub Toolkit. It is designed to be compliant with ActivityPub and not with any particular implementation, so it should be easy for you to adapt to your own needs.

              blenderdumbass@lm.madiator.cloudB 1 Reply Last reply
              0
              • ? Guest

                My friend is working on adding ActivityPub support to his blog platform (BDServer) so people can follow/comment from Mastodon, Lemmy, etc.

                Current status: Lemmy and Misskey can find and follow his account (@blenderdumbass@blenderdumbass.org), but Mastodon can't find it at all, even though he sees proper ActivityPub requests hitting his server.

                The technical details are pretty gnarly - RSA signature verification, HTTP header recreation, multi-threading issues. He wrote up the full journey here: Please Help Me With Activity Pub

                If anyone has ActivityPub experience or wants to take a look at the code (Python), we have a Matrix room for BDServer development. Any insights on why different platforms behave differently would be super helpful.

                You're invited to talk on Matrix

                You're invited to talk on Matrix

                favicon

                (matrix.to)

                Source code: ActivityPub.py

                rglullis@communick.newsR This user is from outside of this forum
                rglullis@communick.newsR This user is from outside of this forum
                rglullis@communick.news
                wrote last edited by
                #9

                Maybe this kind of discussion will get more interested people on !activitypub@programming.dev .

                1 Reply Last reply
                0
                • ? Guest

                  Disabled bunker for now.

                  irelephant@lemmy.dbzer0.comI This user is from outside of this forum
                  irelephant@lemmy.dbzer0.comI This user is from outside of this forum
                  irelephant@lemmy.dbzer0.com
                  wrote last edited by
                  #10

                  Also: bunker blocks me 100% of the time on individual articles.

                  ? 1 Reply Last reply
                  0
                  • irelephant@lemmy.dbzer0.comI irelephant@lemmy.dbzer0.com

                    Also: bunker blocks me 100% of the time on individual articles.

                    ? Offline
                    ? Offline
                    Guest
                    wrote last edited by
                    #11

                    Should not too I removed all blocks.

                    1 Reply Last reply
                    0
                    • rglullis@communick.newsR rglullis@communick.news

                      It's for django, but take a look into my ActivityPub Toolkit. It is designed to be compliant with ActivityPub and not with any particular implementation, so it should be easy for you to adapt to your own needs.

                      blenderdumbass@lm.madiator.cloudB This user is from outside of this forum
                      blenderdumbass@lm.madiator.cloudB This user is from outside of this forum
                      blenderdumbass@lm.madiator.cloud
                      wrote last edited by
                      #12

                      This doesn't have any link to code. And all the other buttons say that the docs are not implemented yet.

                      rglullis@communick.newsR 1 Reply Last reply
                      0
                      • irelephant@lemmy.dbzer0.comI irelephant@lemmy.dbzer0.com

                        Running curl https://blenderdumbass.org/activitypub/account/blenderdumbass -H "Accept: application/activity+json" twice in a row outputs some bunkerweb anti-spam stuff.

                        blenderdumbass@lm.madiator.cloudB This user is from outside of this forum
                        blenderdumbass@lm.madiator.cloudB This user is from outside of this forum
                        blenderdumbass@lm.madiator.cloud
                        wrote last edited by
                        #13

                        try spoofing a user-agent or torifying it maybe

                        irelephant@lemmy.dbzer0.comI 1 Reply Last reply
                        0
                        • blenderdumbass@lm.madiator.cloudB blenderdumbass@lm.madiator.cloud

                          This doesn't have any link to code. And all the other buttons say that the docs are not implemented yet.

                          rglullis@communick.newsR This user is from outside of this forum
                          rglullis@communick.newsR This user is from outside of this forum
                          rglullis@communick.news
                          wrote last edited by
                          #14

                          The menu has a link to the repository.

                          1 Reply Last reply
                          0
                          • blenderdumbass@lm.madiator.cloudB blenderdumbass@lm.madiator.cloud

                            try spoofing a user-agent or torifying it maybe

                            irelephant@lemmy.dbzer0.comI This user is from outside of this forum
                            irelephant@lemmy.dbzer0.comI This user is from outside of this forum
                            irelephant@lemmy.dbzer0.com
                            wrote last edited by
                            #15

                            While I'm sure that would let me see the article, mastodon probably wouldn't handle it well.

                            1 Reply Last reply
                            0
                            • blenderdumbass@lm.madiator.cloudB blenderdumbass@lm.madiator.cloud

                              Seems like somebody mentioned the account on the fediverse that started a chain reaction of various instances requesting a bunch of stuff. Which made it to Mastodon.social too. It still doesn't work though.

                              The server is written in python and the idea is to make it deploy-able without needing to install anything extra. So I'm trying to implement my own activity pub.

                              julian@community.nodebb.orgJ This user is from outside of this forum
                              julian@community.nodebb.orgJ This user is from outside of this forum
                              julian@community.nodebb.org
                              wrote last edited by
                              #16

                              For what it's worth your blog does show up fine in NodeBB as well. Perhaps you are missing the @context property and so Mastodon is refusing to parse it?

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              Powered by NodeBB Contributors
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups