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. ActivityPub
  3. Protocol handler?

Protocol handler?

Scheduled Pinned Locked Moved ActivityPub
fediverse
27 Posts 10 Posters 30 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.
  • rimu@piefed.socialR rimu@piefed.social

    I'm going to register a protocol handler, so links to anywhere on the fedi will be opened in the user's home instance.

    Link Preview Image
    Navigator: registerProtocolHandler() method - Web APIs | MDN

    The Navigator method registerProtocolHandler() lets websites register their ability to open or handle particular URL schemes (also known as protocols).

    favicon

    MDN Web Docs (developer.mozilla.org)

    Has anyone already done this and if so what was the prefix you used? We might as well all use the same thing. I'm thinking web+fedi.

    die4ever@retrolemmy.comD This user is from outside of this forum
    die4ever@retrolemmy.comD This user is from outside of this forum
    die4ever@retrolemmy.com
    wrote last edited by
    #7

    It's a good idea, but fedi is maybe too broad to be useful? I wouldn't want a Lemmy post to open in Mastodon, and pretty sure opening a Mastodon post in Lemmy is impossible unless the post was directed to a community.

    web+threadiverse could solve that issue but that's kinda hacky. Maybe the real solution is to improve Lemmy and Mastodon so that they are capable of doing these things decently.

    I was actually thinking of making a browser extension that handles this instead. Each Fediverse software could write something to window.fediverse or something like that, with tags for group support or micro blogging. The extension could have methods to infer these values for existing platforms. But the extension could give a dialog box to redirect, based on your preferred instances for certain tags.

    1 Reply Last reply
    0
    • evan@cosocial.caE evan@cosocial.ca

      @rimu web+acct

      die4ever@retrolemmy.comD This user is from outside of this forum
      die4ever@retrolemmy.comD This user is from outside of this forum
      die4ever@retrolemmy.com
      wrote last edited by
      #8

      What does acct stand for?

      evan@cosocial.caE 1 Reply Last reply
      0
      • die4ever@retrolemmy.comD die4ever@retrolemmy.com

        What does acct stand for?

        evan@cosocial.caE This user is from outside of this forum
        evan@cosocial.caE This user is from outside of this forum
        evan@cosocial.ca
        wrote last edited by
        #9

        @Die4Ever

        Link Preview Image
        RFC 7565: The 'acct' URI Scheme

        The 'acct' URI Scheme (RFC 7565, )

        favicon

        IETF Datatracker (datatracker.ietf.org)

        1 Reply Last reply
        0
        • rimu@piefed.socialR rimu@piefed.social

          I'm going to register a protocol handler, so links to anywhere on the fedi will be opened in the user's home instance.

          Link Preview Image
          Navigator: registerProtocolHandler() method - Web APIs | MDN

          The Navigator method registerProtocolHandler() lets websites register their ability to open or handle particular URL schemes (also known as protocols).

          favicon

          MDN Web Docs (developer.mozilla.org)

          Has anyone already done this and if so what was the prefix you used? We might as well all use the same thing. I'm thinking web+fedi.

          silverpill@mitra.socialS This user is from outside of this forum
          silverpill@mitra.socialS This user is from outside of this forum
          silverpill@mitra.social
          wrote last edited by
          #10

          @rimu

          web+ap, which was proposed by Fedilink authors. To my knowledge, it is the most widely adopted proposal

          Fedi Links

          favicon

          (web.archive.org)

          (the main site seems to be offline now)

          cc @SoniEx2

          julian@community.nodebb.orgJ 1 Reply Last reply
          0
          • silverpill@mitra.socialS silverpill@mitra.social

            @rimu

            web+ap, which was proposed by Fedilink authors. To my knowledge, it is the most widely adopted proposal

            Fedi Links

            favicon

            (web.archive.org)

            (the main site seems to be offline now)

            cc @SoniEx2

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

            Are there implementors of web+ap? I'd be interested in adopting.

            I assume the fallback behaviour is to just assume https?

            1 Reply Last reply
            0
            • silverpill@mitra.socialS This user is from outside of this forum
              silverpill@mitra.socialS This user is from outside of this forum
              silverpill@mitra.social
              wrote last edited by
              #12

              @julian Fedilinks website lists 3 MastoAPI clients, but the list is incomplete. I saw Fedilinks being mentioned in changelogs of other clients too.

              There was also an Akkoma PR, it was closed by the author: https://akkoma.dev/AkkomaGang/akkoma/pulls/589. I don't quite understand the reasoning, perhaps @smitten could clarify.

              julian@community.nodebb.orgJ 1 Reply Last reply
              0
              • silverpill@mitra.socialS silverpill@mitra.social

                @julian Fedilinks website lists 3 MastoAPI clients, but the list is incomplete. I saw Fedilinks being mentioned in changelogs of other clients too.

                There was also an Akkoma PR, it was closed by the author: https://akkoma.dev/AkkomaGang/akkoma/pulls/589. I don't quite understand the reasoning, perhaps @smitten could clarify.

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

                The PR comments suggest that making the various changes to the backend were too large to justify, and a front-end only approach would be preferred? smitten@key.portend.place

                It raises a good point though, where if you serve web+ap://, it's not understood by clients that are not aware of this scheme. If there were a way a client could communicate whether there is a protocol handler registered, then the server could tailor its response.

                1 Reply Last reply
                0
                • smitten_@key.portend.placeS This user is from outside of this forum
                  smitten_@key.portend.placeS This user is from outside of this forum
                  smitten_@key.portend.place
                  wrote last edited by
                  #14

                  Glad to see more people having this idea! The problems we ran into were in helping the browser understand the address and know where to forward. Each server implements lookup routes differently, so there's not necessarily a generic path that you can trust is available on https on the person's home server, even if you know their home server origin. So in some ways the feature should be offered by your home server software, maybe offering a website that does the handler registration to its known lookup/redirect address.

                  But that is limiting in a few ways. It's a lot of extra steps for each person to do (browsers' default UI for registering protocols is not obvious or easy). It doesn't carry over to different devices, and if you have more than one home server in some way, you are back dealing with that not-great browser UI to pick which handler you want.

                  In general people are more accustomed to registering protocols to apps they have installed, especially phone apps. It's much easier to register them there and you don't have to have approval flow UI, but taking that approach moves this whole served handler route out of the backend again, so we have to start thinking more along the lines of web+ap-compatible servers that handler clients know how to call or bounce to.

                  @julian@community.nodebb.org @silverpill@mitra.social @SoniEx2@chaos.social @rimu@piefed.social

                  smitten_@key.portend.placeS 1 Reply Last reply
                  0
                  • smitten_@key.portend.placeS smitten_@key.portend.place

                    Glad to see more people having this idea! The problems we ran into were in helping the browser understand the address and know where to forward. Each server implements lookup routes differently, so there's not necessarily a generic path that you can trust is available on https on the person's home server, even if you know their home server origin. So in some ways the feature should be offered by your home server software, maybe offering a website that does the handler registration to its known lookup/redirect address.

                    But that is limiting in a few ways. It's a lot of extra steps for each person to do (browsers' default UI for registering protocols is not obvious or easy). It doesn't carry over to different devices, and if you have more than one home server in some way, you are back dealing with that not-great browser UI to pick which handler you want.

                    In general people are more accustomed to registering protocols to apps they have installed, especially phone apps. It's much easier to register them there and you don't have to have approval flow UI, but taking that approach moves this whole served handler route out of the backend again, so we have to start thinking more along the lines of web+ap-compatible servers that handler clients know how to call or bounce to.

                    @julian@community.nodebb.org @silverpill@mitra.social @SoniEx2@chaos.social @rimu@piefed.social

                    smitten_@key.portend.placeS This user is from outside of this forum
                    smitten_@key.portend.placeS This user is from outside of this forum
                    smitten_@key.portend.place
                    wrote last edited by
                    #15

                    Also I want to highlight this excellent comment by Yumechi about fingerprinting and de-anonymization risks.

                    https://socialhub.activitypub.rocks/t/fep-07d7-a-custom-url-scheme-and-web-based-protocol-handlers-for-linking-to-activitypub-resources/3588/53

                    @SoniEx2@chaos.social @silverpill@mitra.social @julian@community.nodebb.org @rimu@piefed.social

                    silverpill@mitra.socialS 1 Reply Last reply
                    0
                    • smitten_@key.portend.placeS smitten_@key.portend.place

                      Also I want to highlight this excellent comment by Yumechi about fingerprinting and de-anonymization risks.

                      https://socialhub.activitypub.rocks/t/fep-07d7-a-custom-url-scheme-and-web-based-protocol-handlers-for-linking-to-activitypub-resources/3588/53

                      @SoniEx2@chaos.social @silverpill@mitra.social @julian@community.nodebb.org @rimu@piefed.social

                      silverpill@mitra.socialS This user is from outside of this forum
                      silverpill@mitra.socialS This user is from outside of this forum
                      silverpill@mitra.social
                      wrote last edited by
                      #16

                      @smitten_ Do you know what is the status of Fedlilinks? Has it been abandoned?
                      FEP-07d7 was withdrawn, and other proposals have even less support than these two.

                      @SoniEx2 @julian @rimu @activitypub

                      1 Reply Last reply
                      0
                      • tchambers@indieweb.socialT tchambers@indieweb.social

                        @julian I write about this here: near zero mobile browser support but strong desktop browser support- and I suggest a JavaScript fallback for the others …. https://www.timothychambers.net/2025/06/24/the-seven-deadly-fediverse-ux.html

                        rimu@mastodon.nzoss.nzR This user is from outside of this forum
                        rimu@mastodon.nzoss.nzR This user is from outside of this forum
                        rimu@mastodon.nzoss.nz
                        wrote last edited by
                        #17

                        @tchambers @julian @silverpill I put together a prototype, using web+ap.

                        Here’s a video demo - https://peertube.wtf/w/r8M4KpS6yLd9H2r2oPAs9M

                        The workflow is a wee bit clunky, with the browser popping up things more than I'd like, but it works.

                        silverpill@mitra.socialS julian@community.nodebb.orgJ smitten_@key.portend.placeS julian@activitypub.spaceJ 4 Replies Last reply
                        1
                        • rimu@mastodon.nzoss.nzR rimu@mastodon.nzoss.nz

                          @tchambers @julian @silverpill I put together a prototype, using web+ap.

                          Here’s a video demo - https://peertube.wtf/w/r8M4KpS6yLd9H2r2oPAs9M

                          The workflow is a wee bit clunky, with the browser popping up things more than I'd like, but it works.

                          silverpill@mitra.socialS This user is from outside of this forum
                          silverpill@mitra.socialS This user is from outside of this forum
                          silverpill@mitra.social
                          wrote last edited by
                          #18

                          @rimu @tchambers @julian

                          Neat.

                          @smitten_ Check it out

                          1 Reply Last reply
                          0
                          • rimu@mastodon.nzoss.nzR rimu@mastodon.nzoss.nz

                            @tchambers @julian @silverpill I put together a prototype, using web+ap.

                            Here’s a video demo - https://peertube.wtf/w/r8M4KpS6yLd9H2r2oPAs9M

                            The workflow is a wee bit clunky, with the browser popping up things more than I'd like, but it works.

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

                            rimu@mastodon.nzoss.nz what happens if a browser that doesn't understand protocol handlers encounters this scheme?

                            1 Reply Last reply
                            0
                            • tchambers@indieweb.socialT tchambers@indieweb.social

                              @julian I write about this here: near zero mobile browser support but strong desktop browser support- and I suggest a JavaScript fallback for the others …. https://www.timothychambers.net/2025/06/24/the-seven-deadly-fediverse-ux.html

                              smitten_@key.portend.placeS This user is from outside of this forum
                              smitten_@key.portend.placeS This user is from outside of this forum
                              smitten_@key.portend.place
                              wrote last edited by
                              #20

                              @tchambers@indieweb.social @julian@community.nodebb.org You're absolutely right about the mobile browsers sadly, but support on mobile apps is good. The UX there is better than it is on desktop browsers too, because it can be registered in the app manifest and doesn't require complicated approval and handler selection flows. People are also more familiar with links that look a certain way opening in their related app, it's just that they expect the behavior at the host level instead of the protocol level.

                              1 Reply Last reply
                              0
                              • rimu@mastodon.nzoss.nzR rimu@mastodon.nzoss.nz

                                @tchambers @julian @silverpill I put together a prototype, using web+ap.

                                Here’s a video demo - https://peertube.wtf/w/r8M4KpS6yLd9H2r2oPAs9M

                                The workflow is a wee bit clunky, with the browser popping up things more than I'd like, but it works.

                                smitten_@key.portend.placeS This user is from outside of this forum
                                smitten_@key.portend.placeS This user is from outside of this forum
                                smitten_@key.portend.place
                                wrote last edited by
                                #21

                                This is so great, I feel like whenever this idea comes up it's just so difficult to explain to people what it would feel like to use. (and why it's helpful!)

                                You talked about changing the address yourself in the browser bar which is already easier than loading up your home server and going through the step to lookup. For me what excited me about this idea was that people could be displaying the links in pages. You often see it with a socials section at the bottom of someone's blog, they link to their profile on their server when what I want them to link to is their profile with the web+ap protocol.

                                But this leads to another big UX problem, the links are useless if you don't have a handler registered. There is no fallback mechanism your browser will just ask you what you want to open it with and have an empty list of suggestions. So I think it would need to have a recognizable way to be communicated to the user, a consistent icon for the link and a memorable name because only people who knew they set up a handler would want them.

                                @rimu@mastodon.nzoss.nz @tchambers@indieweb.social @julian@community.nodebb.org @silverpill@mitra.social

                                julian@community.nodebb.orgJ 1 Reply Last reply
                                0
                                • smitten_@key.portend.placeS smitten_@key.portend.place

                                  This is so great, I feel like whenever this idea comes up it's just so difficult to explain to people what it would feel like to use. (and why it's helpful!)

                                  You talked about changing the address yourself in the browser bar which is already easier than loading up your home server and going through the step to lookup. For me what excited me about this idea was that people could be displaying the links in pages. You often see it with a socials section at the bottom of someone's blog, they link to their profile on their server when what I want them to link to is their profile with the web+ap protocol.

                                  But this leads to another big UX problem, the links are useless if you don't have a handler registered. There is no fallback mechanism your browser will just ask you what you want to open it with and have an empty list of suggestions. So I think it would need to have a recognizable way to be communicated to the user, a consistent icon for the link and a memorable name because only people who knew they set up a handler would want them.

                                  @rimu@mastodon.nzoss.nz @tchambers@indieweb.social @julian@community.nodebb.org @silverpill@mitra.social

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

                                  smitten_@key.portend.place might I suggest appropriating the ActivityPub logo? For lack of a better option.

                                  There's the "networked nodes" fediverse logo but it really loses its effect when made small.

                                  1 Reply Last reply
                                  0
                                  • smitten_@key.portend.placeS This user is from outside of this forum
                                    smitten_@key.portend.placeS This user is from outside of this forum
                                    smitten_@key.portend.place
                                    wrote last edited by
                                    #23

                                    @julian@community.nodebb.org I agree, that was what I ended up using in the akkoma prototype

                                    1 Reply Last reply
                                    1
                                    • rimu@mastodon.nzoss.nzR This user is from outside of this forum
                                      rimu@mastodon.nzoss.nzR This user is from outside of this forum
                                      rimu@mastodon.nzoss.nz
                                      wrote last edited by
                                      #24

                                      @julian nothing good...

                                      tchambers@indieweb.socialT 1 Reply Last reply
                                      0
                                      • rimu@mastodon.nzoss.nzR rimu@mastodon.nzoss.nz

                                        @tchambers @julian @silverpill I put together a prototype, using web+ap.

                                        Here’s a video demo - https://peertube.wtf/w/r8M4KpS6yLd9H2r2oPAs9M

                                        The workflow is a wee bit clunky, with the browser popping up things more than I'd like, but it works.

                                        julian@activitypub.spaceJ This user is from outside of this forum
                                        julian@activitypub.spaceJ This user is from outside of this forum
                                        julian@activitypub.space
                                        wrote last edited by
                                        #25

                                        There are quite a few dialogues, yes... but once the initial setup is done it looks alright.

                                        Curious... because when I open magnet:// links, there's no confirmation on subsequent links once I've done the initial handler assignment. It looks to be something reserved for web+ handlers, which is a little annoying, isn't it.

                                        1 Reply Last reply
                                        0
                                        • rimu@mastodon.nzoss.nzR rimu@mastodon.nzoss.nz

                                          @julian nothing good...

                                          tchambers@indieweb.socialT This user is from outside of this forum
                                          tchambers@indieweb.socialT This user is from outside of this forum
                                          tchambers@indieweb.social
                                          wrote last edited by
                                          #26

                                          @rimu @julian I was suggesting a JavaScript backup for non-compliant browsers and may have some early code to offer if helpful

                                          rimu@mastodon.nzoss.nzR 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