GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    Julian Fietkau (julian@fietkau.social)'s status on Thursday, 31-Oct-2024 06:39:22 JST Julian Fietkau Julian Fietkau

    I am publishing a small #ActivityPub / #fediverse project: https://fietkau.software/webfinger_canary and @canary 🙂

    It is a tiny bot showcasing a split-domain WebFinger setup, where the handle domain is different from the ActivityPub server domain. This is supported by Mastodon and some other ActivityPub implementations, but not all of them.

    So this project, aimed at devs and power users, is part test case, part feature recommendation/advocacy. The bot's website at https://correct.webfinger-canary.fietkau.software/ has all the details.

    In conversation about 7 months ago from fietkau.social permalink

    Attachments

    1. No result found on File_thumbnail lookup.
      https://this.lol/
    2. Domain not in remote thumbnail source whitelist: fietkau.software
      WebFinger Split-Domain Canary
      This is a tiny self-contained ActivityPub actor/bot showcasing a split-domain WebFinger setup. It is equal parts interoperability demo, documentation, and feature advocacy.
    3. Domain not in remote thumbnail source whitelist: correct.webfinger-canary.fietkau.software
      WebFinger Split-Domain Canary
      A detailed summary of split-domain WebFinger setups: how do they work and what do they mean for ActivityPub implementers?
    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Thursday, 31-Oct-2024 06:39:05 JST silverpill silverpill
      in reply to
      • Marcus Rohrmoser 🌻

      @mro @julian Could you elaborate? Where should I use anyURI?

      In conversation about 7 months ago permalink
    • Embed this notice
      Marcus Rohrmoser 🌻 (mro@digitalcourage.social)'s status on Thursday, 31-Oct-2024 06:39:07 JST Marcus Rohrmoser 🌻 Marcus Rohrmoser 🌻
      in reply to
      • silverpill

      Hi @julian,
      a pity @silverpill doesn't use https://www.w3.org/TR/xmlschema-2/#anyURI and doesn't keep the acct:alice@example.com from https://www.rfc-editor.org/rfc/rfc7565.html.

      And yes, I'd be happy if you add #Seppo!

      In conversation about 7 months ago permalink

      Attachments

      1. No result found on File_thumbnail lookup.
        Example Domain
      2. Domain not in remote thumbnail source whitelist: www.w3.org
        XML Schema Part 2: Datatypes Second Edition

    • Embed this notice
      Julian Fietkau (julian@fietkau.social)'s status on Thursday, 31-Oct-2024 06:39:08 JST Julian Fietkau Julian Fietkau
      in reply to
      • Marcus Rohrmoser 🌻

      @mro There is a suggested FEP to include the WebFinger resource in the actor document: https://codeberg.org/fediverse/fep/src/branch/main/fep/2c59/fep-2c59.md But I have not seen it implemented anywhere. In the meantime, the hacky approach works and is reasonably popular. 😄

      I don't want to push you into supporting something you don't want to support. Just keep in mind that your software is showing different account handles than Mastodon for some users.

      Do you want me to add Seppo to the overview table anyway?

      In conversation about 7 months ago permalink

      Attachments

      1. Domain not in remote thumbnail source whitelist: codeberg.org
        fep/fep/2c59/fep-2c59.md at main
        from fediverse
        fep - Fediverse Enhancement Proposals

    • Embed this notice
      Marcus Rohrmoser 🌻 (mro@digitalcourage.social)'s status on Thursday, 31-Oct-2024 06:39:09 JST Marcus Rohrmoser 🌻 Marcus Rohrmoser 🌻
      in reply to
      • Evan Prodromou

      Hi @julian,
      the document is a report from @evanprodromou mid 2024, not a standard and not part of #AP. And at step 4 it reads "4. Optionally:". But it proposes a solution - thanks for bearing with me. So the #rfc7033 subject: "acct:alice@correct.example.com" would be it.

      Feels hacky, IMO the profile should be explicit about the handle just like the way round #webfinger is explicit about the actor id.

      In conversation about 7 months ago permalink

      Attachments


    • Embed this notice
      Julian Fietkau (julian@fietkau.social)'s status on Thursday, 31-Oct-2024 06:39:10 JST Julian Fietkau Julian Fietkau
      in reply to
      • Marcus Rohrmoser 🌻

      @mro You do a WebFinger request on the AP host domain, and its response will give you a subject with the correct handle domain. See for example this account: https://toot.kif.rocks/@team and its WebFinger response: https://toot.kif.rocks/.well-known/webfinger?resource=acct:team@toot.kif.rocks This is a Mastodon split-domain setup.

      The process is described here: https://www.w3.org/community/reports/socialcg/CG-FINAL-apwf-20240608/#reverse-discovery (step 4 is important for this)

      In conversation about 7 months ago permalink

      Attachments

      1. No result found on File_thumbnail lookup.
        ActivityPub and WebFinger
        Identifiers in ActivityPub tend to be HTTPS URIs. The use of WebFinger (as defined in [RFC7033]) allows for discovery of an actor's identifier given a username and a hostname, which may be more socially salient or otherwise easier to communicate across various contexts and media. The username and hostname are resolved at the WebFinger endpoint of the hostname in order to discover a link to an actor associated with the user's account, and that actor similarly can be back-linked to the username and hostname.
      2. Domain not in remote thumbnail source whitelist: toot.kif.rocks
        toot.kif.rocks Team (@team@kif.rocks)
        25 Beiträge, 0 Folge ich, 95 Follower · Follow this account to get notifications about maintenances and updates for toot.kif.rocks

    • Embed this notice
      Marcus Rohrmoser 🌻 (mro@digitalcourage.social)'s status on Thursday, 31-Oct-2024 06:39:11 JST Marcus Rohrmoser 🌻 Marcus Rohrmoser 🌻
      in reply to

      Hi @julian,
      but how do you (they)? The actor just doesn't know the handle domain. Strictly spoken not eve the local part but there seems to be consensus to use the preferredUserName. Serious question.

      In conversation about 7 months ago permalink
    • Embed this notice
      Julian Fietkau (julian@fietkau.social)'s status on Thursday, 31-Oct-2024 06:39:12 JST Julian Fietkau Julian Fietkau
      in reply to
      • Marcus Rohrmoser 🌻

      @mro The actor ID should be the thing uniquely identifying an account, yes. However, in conversations we use tags/handles and not AP IDs, so we gotta construct these handles somehow. Your approach, using the AP host, is equally as idiosyncratic as using the WebFinger host. Both ways exist in the wild – Pixelfed, Misskey and Friendica do it the way you do; Mastodon, GoToSocial and Iceshrimp do it the way I do. I just prefer this way because it lets people use their domains more easily. 🙂

      In conversation about 7 months ago permalink
    • Embed this notice
      Marcus Rohrmoser 🌻 (mro@digitalcourage.social)'s status on Thursday, 31-Oct-2024 06:39:13 JST Marcus Rohrmoser 🌻 Marcus Rohrmoser 🌻
      in reply to

      Hi @julian @aSeppoToTry @canary,
      hm, interesting. I doubt there is a correct answer. Because #Webfinger doesn't care about #ActivityPub and ActivityPub doesn't care about Webfinger neither specifies how to construct the handle from a profile document. It would have to be explicitly mentioned which it isn't. All other is idiosyncratic, proprietary oracles.

      According to https://www.w3.org/TR/activitypub/ the actor id is the canonical identifier.

      With best faith #Seppo combines the preferredUserName and the profile document's domain. What else could you do?

      In conversation about 7 months ago permalink

      Attachments

      1. ActivityPub
        The ActivityPub protocol is a decentralized social networking protocol based upon the [ActivityStreams] 2.0 data format. It provides a client to server API for creating, updating and deleting content, as well as a federated server to server API for delivering notifications and content.
    • Embed this notice
      Julian Fietkau (julian@fietkau.social)'s status on Thursday, 31-Oct-2024 06:39:15 JST Julian Fietkau Julian Fietkau
      in reply to
      • Marcus Rohrmoser 🌻

      @mro @aSeppoToTry To test the split-domain handle on a remote actor, you can look up @canary in your platform and see what handle it shows you. I just gave it a try, see attachment.

      It currently shows the wrong hostname. That means it's using the ActivityPub ID to construct the handle, when the handle domain should be coming from the WebFinger result. See my checklist https://correct.webfinger-canary.fietkau.software/#developers or the SocialCG report https://www.w3.org/community/reports/socialcg/CG-FINAL-apwf-20240608/#reverse-discovery for details on how to fix it.

      Btw: very cool project! 👍

      In conversation about 7 months ago permalink

      Attachments


      1. https://fietkau.social/system/media_attachments/files/113/397/486/209/225/313/original/45e05409e28b12a5.png
      2. No result found on File_thumbnail lookup.
        http://attachment.It/
      3. Domain not in remote thumbnail source whitelist: correct.webfinger-canary.fietkau.software
        WebFinger Split-Domain Canary
        A detailed summary of split-domain WebFinger setups: how do they work and what do they mean for ActivityPub implementers?
      4. No result found on File_thumbnail lookup.
        ActivityPub and WebFinger
        Identifiers in ActivityPub tend to be HTTPS URIs. The use of WebFinger (as defined in [RFC7033]) allows for discovery of an actor's identifier given a username and a hostname, which may be more socially salient or otherwise easier to communicate across various contexts and media. The username and hostname are resolved at the WebFinger endpoint of the hostname in order to discover a link to an actor associated with the user's account, and that actor similarly can be back-linked to the username and hostname.
    • Embed this notice
      Marcus Rohrmoser 🌻 (mro@digitalcourage.social)'s status on Thursday, 31-Oct-2024 06:39:16 JST Marcus Rohrmoser 🌻 Marcus Rohrmoser 🌻
      in reply to

      Hi @julian,
      I'd like to test @aSeppoToTry, how can I?

      In conversation about 7 months ago permalink
    • Embed this notice
      Julian Fietkau (julian@fietkau.social)'s status on Thursday, 31-Oct-2024 06:39:17 JST Julian Fietkau Julian Fietkau
      in reply to
      • Marcus Rohrmoser 🌻

      @mro Ah yes 🙂 This project was put together to raise awareness about the feature and help platform developers test it. Broken servers will always exist, hopefully I can reduce their number by helping their developers with documentation and advocacy.

      In conversation about 7 months ago permalink
    • Embed this notice
      Marcus Rohrmoser 🌻 (mro@digitalcourage.social)'s status on Thursday, 31-Oct-2024 06:39:18 JST Marcus Rohrmoser 🌻 Marcus Rohrmoser 🌻
      in reply to

      Hi @julian,
      if you can't use them, it's because of broken servers. How do you improve 3rd party servers?

      In conversation about 7 months ago permalink
    • Embed this notice
      Julian Fietkau (julian@fietkau.social)'s status on Thursday, 31-Oct-2024 06:39:20 JST Julian Fietkau Julian Fietkau
      in reply to
      • Marcus Rohrmoser 🌻

      @mro Could you clarify your question? The idea of a split-domain setup is that the ActivityPub and WebFinger domains do not necessarily need to match, so that custom domains can be more easily used in fediverse handles.

      In conversation about 7 months ago permalink
    • Embed this notice
      Marcus Rohrmoser 🌻 (mro@digitalcourage.social)'s status on Thursday, 31-Oct-2024 06:39:21 JST Marcus Rohrmoser 🌻 Marcus Rohrmoser 🌻
      in reply to

      Hi @julian @canary,
      what problem are you solving? Why should the domains have to match? And bad implementations happen. #Webfinger

      https://dev.seppo.social/2024-03-19/apchk.cgi/webfinger?redirect=self&resource=@canary@correct.webfinger-canary.fietkau.software

      P.S.: Are you aware #webfinger isn't part of #activitypub?

      In conversation about 7 months ago permalink
    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Thursday, 31-Oct-2024 07:09:25 JST silverpill silverpill
      in reply to
      • Marcus Rohrmoser 🌻
      • silverpill

      @mro Is it related to me trying to follow Seppo actor?

      I just received a Create(Note) where Note doesn't have attributedTo property (but is has actor property, which should be used only on activities afaik).

      In conversation about 7 months ago permalink

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.