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

    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
    #2

    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 ? 2 Replies 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

      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