#webfinger — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #webfinger, aggregated by home.social.
-
Today, I build a #mastodon instance on my own #vps using #docker in #coolify
I wasn't expecting it to be that hard.
But man, mastodon is a beast.
It has so many configs, services, settings, etc. It's actually insane.
Especially if you set #s3 storage, #webfinger etc
In the last months, I've been using #fedihost to host my current instance.
Since I seem able to run it myself, I might move and save the money.
It's currenly empty:
https://social.fraxoweb.com -
Hi @kirschner @fsfe,
if I expanded the #bookmarklet creator https://mro.name/2025/bookmarklet/interact.cgi so that it worked for non-fediverse URLs like yours above, would you consider featuring it?
#Fediverse #Webfinger #RFC7033 -
A Guide to Implementing ActivityPub in a Static Site (or Any Website) - Part 9: Quote Posts
Summary:
Quote Posts for Static Sites: A Practical Guide to FEP-044f Implementation
Transform your static blog into a consent-respecting quote-enabled node in the fediverse. This guide shows you how to implement quote post support that works with Mastodon, GoToSocial, and other ActivityPub servers while respecting author preferences.
In this guide: You’ll learn to build quote-enabled blog posts that can be responsibly shared across the fediverse
Quote Posts for Static Sites: A Practical Guide to FEP-044f Implementation
Transform your static blog into a consent-respecting quote-enabled node in the fediverse. This guide shows you how to implement quote post support that works with Mastodon, GoToSocial, and other ActivityPub servers while respecting author preferences.
In this guide: You’ll learn to build quote-enabled blog posts that can be responsibly shared across the fediverse
Why Quote Posts Matter (And Why They’re Controversial)
The User Experience Problem
Picture this: Someone finds your blog post fascinating and wants to share it with their followers, but they also want to add their own perspective or why is important. Without quote posts, they have two unsatisfying options:
- Simple share: Just boost with no commentary\
- Link sharing: Add a link to the blog post in their note
Neither option creates the rich, attributed conversations that make social media engaging.
The Solution: Consent-First Quote Implementation
We’re implementing FEP-044f: Consent-respecting quote posts in our federated blog.
What this means for your readers:
- They can quote your posts with confidence that you’ve opted in
- Their quotes include proper attribution and linking
What this means for you:
- Automatic handling of quote requests
- Future-ready for advanced moderation features (like in the fuuutuuure)
Implementation Overview
We are going to:
- Modify the Notes JSON to include that the notes are quotable.
- Modify our Index function (the only dynamic POST endpoint) to handle quote requests and send the appropriate approval back.
1. Modifying the Notes: Enhanced ActivityPub Context
What We Changed: Extended the
@contextfrom a simple string to a rich object array supporting the GoToSocial namespace.Before:
"@context": "https://www.w3.org/ns/activitystreams"After:
"@context": [ "https://www.w3.org/ns/activitystreams", { "gts": "https://gotosocial.org/ns#", "interactionPolicy": {"@id": "gts:interactionPolicy", "@type": "@id"}, "canQuote": {"@id": "gts:canQuote", "@type": "@id"}, "automaticApproval": {"@id": "gts:automaticApproval", "@type": "@id"} } ]We are also adding this section at the end of the Note:
"interactionPolicy": { "canQuote": { "automaticApproval": "https://www.w3.org/ns/activitystreams#Public" } }If you want to be specific about who can quote your post, this is where you do it, read more in here.
You can see an example of the implementation in RssUtils.cs - Updated
GetOutbox,GetNote, andGetCreateNotemethods.2: Quote Request Processing
Now we need to add the quote request handling system that processes incoming quote requests and automatically approves them based on our interaction policy.
New Components:
- QuoteRequestService: Processes incoming quote requests from the fediverse
- Auto-Approval Logic: Automatically approves public quote requests as defined in our interaction policy
- Quote Authorization: Issues authorization tokens (stamps) for approved quotes
The Quote Request Flow:
sequenceDiagram participant Requester as Fediverse User participant Inbox as Our Inbox participant QRS as QuoteRequestService participant Target as Target Instance Requester->>Inbox: QuoteRequest for our post Inbox->>QRS: Process quote request QRS->>QRS: Check interaction policy QRS->>QRS: Generate authorization stamp QRS->>Target: Send Accept + Authorization Target->>Requester: Quote approvedCheckout the implementation in the QuoteRequestService.cs.
Key Takeaways
“By implementing FEP-044f, we’re not just adding quote functionality - we’re building consent-respecting social interactions into the protocol level.”
Why This Matters:
This implementation shows how static sites can participate in modern social web standards while keeping their simplicity and performance benefits. Right now, we’re automatically allowing all public quotes, but this foundation sets us up for more granular consent controls in the future - like requiring approval for specific users or implementing follower-only quoting.
The consent-respecting approach means our content can be shared thoughtfully across the fediverse, with the infrastructure already in place to handle more sophisticated permission systems as they evolve.
Also readable in: https://maho.dev/2025/02/a-guide-to-implementing-activitypub-in-a-static-site-or-any-website-part-9-quote-posts/ by @mapache:
#fediverse #activitypub #static-sites #hugo #azure #mastodon #web-development #social-web #webfinger #http #quote-posts #fep-044f
-
A Guide to Implementing ActivityPub in a Static Site (or Any Website) - Part 9: Quote Posts
Summary:
Quote Posts for Static Sites: A Practical Guide to FEP-044f Implementation
Transform your static blog into a consent-respecting quote-enabled node in the fediverse. This guide shows you how to implement quote post support that works with Mastodon, GoToSocial, and other ActivityPub servers while respecting author preferences.
In this guide: You’ll learn to build quote-enabled blog posts that can be responsibly shared across the fediverse
Quote Posts for Static Sites: A Practical Guide to FEP-044f Implementation
Transform your static blog into a consent-respecting quote-enabled node in the fediverse. This guide shows you how to implement quote post support that works with Mastodon, GoToSocial, and other ActivityPub servers while respecting author preferences.
In this guide: You’ll learn to build quote-enabled blog posts that can be responsibly shared across the fediverse
Why Quote Posts Matter (And Why They’re Controversial)
The User Experience Problem
Picture this: Someone finds your blog post fascinating and wants to share it with their followers, but they also want to add their own perspective or why is important. Without quote posts, they have two unsatisfying options:
- Simple share: Just boost with no commentary (or reply)
- Link sharing: Add a link to the blog post in their note
Neither option creates the rich, attributed conversations that make social media engaging.
The Solution: Consent-First Quote Implementation
We’re implementing FEP-044f: Consent-respecting quote posts in our federated blog.
What this means for your readers:
- They can quote your posts with confidence that you’ve opted in
- Their quotes include proper attribution and linking
What this means for you:
- Automatic handling of quote requests
- Future-ready for advanced moderation features (like in the fuuutuuure)
Implementation Overview
We are going to:
- Modify the Notes JSON to assert that the notes are quotable.
- Modify our Index function (the only dynamic POST endpoint) to handle quote requests and send the appropriate approval back (blanket approval).
1. Modifying the Notes: Enhanced ActivityPub Context
What We Changed: Extended the
@contextfrom a simple string to a rich object array supporting the GoToSocial namespace.Before:
"@context": "https://www.w3.org/ns/activitystreams"After:
"@context": [ "https://www.w3.org/ns/activitystreams", { "gts": "https://gotosocial.org/ns#", "interactionPolicy": {"@id": "gts:interactionPolicy", "@type": "@id"}, "canQuote": {"@id": "gts:canQuote", "@type": "@id"}, "automaticApproval": {"@id": "gts:automaticApproval", "@type": "@id"} } ]We are also adding this section at the end of the Note:
"interactionPolicy": { "canQuote": { "automaticApproval": "https://www.w3.org/ns/activitystreams#Public" } }If you want to be specific about who can quote your post, this is where you do it, read more in here.
You can see an example of the implementation in RssUtils.cs - in the
GetNotemethod.2: Quote Request Processing
Now we need to add the quote request handling system that processes incoming quote requests and automatically approves them based on our interaction policy.
New Components:
- QuoteRequestService: Processes incoming quote requests from the fediverse
- Auto-Approval Logic: Automatically approves public quote requests as defined in our interaction policy
- Quote Authorization: Issues authorization tokens (stamps) for approved quotes
The Quote Request Flow:
sequenceDiagram participant Requester as Fediverse User participant Inbox as Our Inbox participant QRS as QuoteRequestService participant Target as Target Instance Requester->>Inbox: QuoteRequest for our post Inbox->>QRS: Process quote request QRS->>QRS: Check interaction policy QRS->>QRS: Generate authorization stamp QRS->>Target: Send Accept + Authorization Target->>Requester: Quote approvedCheckout the implementation in the QuoteRequestService.cs.
Key Takeaways
By implementing FEP-044f, we’re not just adding quote functionality - we’re building consent-respecting social interactions into the protocol level.
Why This Matters:
This implementation shows how static sites can participate in modern social web standards while keeping their simplicity and performance benefits. Right now, we’re automatically allowing all public quotes, but this foundation sets us up for more granular consent controls in the future - like requiring approval for specific users or implementing follower-only quoting.
The consent-respecting approach means our content can be shared thoughtfully across the fediverse, with the infrastructure already in place to handle more sophisticated permission systems as they evolve.
Next Steps: The Quote Visualization Challenge
Now that we’ve successfully implemented the backend infrastructure for consent-respecting quote posts, we face an equally important question: How should we display these quotes on our website?
Treat quoted posts as special reply types? Quotes have different semantic meaning than replies - they’re more like “shared with commentary” So maybe create a separate “Quoted By” section similar to how we handle likes and shares?
Any ideas?
Also readable in: https://maho.dev/2026/02/a-guide-to-implementing-activitypub-in-a-static-site-or-any-website-part-9-quote-posts/ by @mapache:
#fediverse #activitypub #static-sites #hugo #azure #mastodon #web-development #social-web #webfinger #http #quote-posts #fep-044f
-
blog.futtta.be on the fediverse
Pretty sure no-one is waiting for this, but after having spent a couple of years on the Fediverse (Mastodon in my case) I decided to add ActivityPub support to my WordPress installation via the ActivityPub plugin. I have the WP Rest Cache plugin active, so I'm expecting things to gently hum along, without (most likely) or with these posts gaining traction. Kudo's to Stian and Servebolt for assisting me to get the webfinger endpoint to work, which is ... not self-explanatory on hosts that […]https://blog.futtta.be/2026/01/15/blog-futtta-be-on-the-fediverse/
-
Grundlagen der #Föderation
A folgt B
Das #Fediverse heißt nicht ohne Grund "föderiertes Universum". In dieser Föderation spielen viele tausend Instanzen zusammen. Aber heißt das, jede #Instanz muß den gesamten Datenbestand des gesamten Fediversums lokal vorhalten oder ständig über das Netz funken? Nein.
Eine Basisfunktion, damit Instanzen wissen, wer sich für welche Beiträge interessiert, ist das Folgen.
Wenn Akteur A auf Instanz A eine Folgeanfrage an Akteurin B auf Instanz B absetzt, weiß Instanz B im Anschluß, das sich jemand für die passenden (z.B. öffentlichen) Beiträge von Akteurin B auf Instanz A interessiert und wird diese ab diesem Zeitpunkt an Instanz A zustellen. Instanz A kann diese Beiträge von Akteurin B auf Instanz B dann auch in der föderierten Zeitleiste allen Nutzenden auf Instanz A anzeigen.
Damit die Instanzen sich untereinander über ihre lokalen Konten informieren können, dient das an anderer Stelle beschriebene #Webfinger-#Protokoll.
-
On October 2, 2013, GNU social developer MMN-o (Mikael Nordfeldth) published a blog piece announcing that they'd rolled out a change to their WebFinger implementation, adding backwards-compatible support for the RFC7033 version;
"Plus of course the former RFC6415 (Web Host Metadata), which StatusNet supports (but only XRD format)."
For those who don't know, masrodon.social was created to federate with #GnuSocial servers.
-
On October 2, 2013, GNU social developer MMN-o (Mikael Nordfeldth) published a blog piece announcing that they'd rolled out a change to their WebFinger implementation, adding backwards-compatible support for the RFC7033 version;
"Plus of course the former RFC6415 (Web Host Metadata), which StatusNet supports (but only XRD format)."
For those who don't know, masrodon.social was created to federate with #GnuSocial servers.
-
On October 2, 2013, GNU social developer MMN-o (Mikael Nordfeldth) published a blog piece announcing that they'd rolled out a change to their WebFinger implementation, adding backwards-compatible support for the RFC7033 version;
"Plus of course the former RFC6415 (Web Host Metadata), which StatusNet supports (but only XRD format)."
For those who don't know, masrodon.social was created to federate with #GnuSocial servers.
-
On October 2, 2013, GNU social developer MMN-o (Mikael Nordfeldth) published a blog piece announcing that they'd rolled out a change to their WebFinger implementation, adding backwards-compatible support for the RFC7033 version;
"Plus of course the former RFC6415 (Web Host Metadata), which StatusNet supports (but only XRD format)."
For those who don't know, masrodon.social was created to federate with #GnuSocial servers.
-
Im #Fediverse spielt das #Protokoll #WebFinger gemäß #RFC 7033 eine wichtige Rolle, um Nutzende ausfindig zu machen.
Diese Webfinger-Abfragen finden im normalen Umgang mit dem Fediverse aus Sicht der Nutzerschaft hinter den Kulissen statt. Von einer fediversalen #Instanz wird erwartet, daß sie über eine sogenannte "Well-known #URI" (dazu an anderer Stelle mehr) auf eine Webfinger-Anfrage reagiert.
Dieser (gut bekannte) Identifikator lautet:
/.well-known/webfinger?resource=acct:
(wobei die Domain der Instanz sowie die abzufragende Kennung zu ergänzen ist)
Netterweise kann man diese Abfrage auch über die Weboberfläche von webfinger.net durchführen lassen.
Wer neugierig ist und dies (z.B. mit der eigenen Fediverse-Adresse) ausprobieren will:
➡️ https://webfinger.net/ im Browser aufrufen.
➡️ Oben rechts im Suchkästchen "Lookup WebFinger" die gewünschte Adresse eingeben, z.B. [email protected] (ohne das führende At-Zeichen) oder die #URL-Schreibweise https://mastodonium.de/@tagestipp und das Ergebnis bewundern.
➡️ Es sollte ein "#JSON Resource Descriptor (JRD)" zu sehen sein. Okay, möglicherweise ist das immer noch ziemlich technisch... ;-)
Zum Nachlesen und schmökern:
https://en.wikipedia.org/wiki/WebFinger
https://datatracker.ietf.org/doc/html/rfc7033
https://webfinger.net/
https://en.wikipedia.org/wiki/Well-known_URI
https://de.wikipedia.org/wiki/Uniform_Resource_Identifier -
Have you ever asked yourself how the BSD Café Mastodon instance was built?
Stefano has written here what he has done. You should have at least rudimentary knowledge of what a jail is in order to follow everything and at least a simple manner.
In short a jail is much more efficient than a VM, uses much less resources and it's easier to control
If you take the time to Study all the subjects, you will be a will to build a freeBSD instance of Mastodon yourself; all the information necessary Is provided Here and Deep to very Deep details you can dig up yourself
https://wiki.bsd.cafe/bsdcafe-technical-details
🖋️ #bash #sh #zsh #ksh #csh #tsh #programming #JavaScript #Mastodon #freeBSD #ngix #json #POSIX #SocialMedia #webfinger
-
A Guide to Implementing ActivityPub in a Static Site (or Any Website) - Part 8 is out!
Follow the site here @blog or check the article here: https://maho.dev/2025/01/a-guide-to-implementing-activitypub-in-a-static-site-or-any-website-part-8/
#fediverse #activitypub #static-sites #hugo #azure #mastodon #web-development #social-web #webfinger #http #azure #azurefunctions
-
The first matrix currently has 17 rows and 39 columns.
And colors 🙂
Join us at 9am pacific in about 12 hours to hear about the first batch of test results?
Details at https://fedidevs.org/
/cc @activitypubtestsuite #testing #feditest #activitypub #webfinger
-
Wrote a summary of web linking (AKA link relations; think rel="xxx" in a <a/> or <link/> HTML element).
The piece of the puzzle that's still unclear to me is whether WebFinger has been superseded, or maybe just generally ignored. There doesn't seem to be much adoption (except by Mastodon) or follow-on activity AFAICT.
https://wiki.underlap.org/en/link-relations
-
I wonder when we'll see custom domain #WebFinger in the #Fediverse / #ActivityPub ?
For example, I want to use:
* @-live.youronly.one for my #Streams account
* @-sns.youronly.one for my #Firefish account
* @-photos.youronly.one for my #Pixelfed account
* @-mblog.youronly.one for my #Mastodon account
* @-reading.youronly.one for my #BookWyrm accountIdeally, even if I move to a new host/service, I can use the same WebFinger.
#MycelialWeb #MyceliumNetwork #ActivityPub2 #AP #AP2 #Portability #AccountPortability #Nomadic #NomadicIdentity #SNS #SocialWeb #SocialMedia #SocialNetwork
-
I wonder when we'll see custom domain #WebFinger in the #Fediverse / #ActivityPub ?
For example, I want to use:
* @-live.youronly.one for my #Streams account
* @-sns.youronly.one for my #Firefish account
* @-photos.youronly.one for my #Pixelfed account
* @-mblog.youronly.one for my #Mastodon account
* @-reading.youronly.one for my #BookWyrm accountIdeally, even if I move to a new host/service, I can use the same WebFinger.
#MycelialWeb #MyceliumNetwork #ActivityPub2 #AP #AP2 #Portability #AccountPortability #Nomadic #NomadicIdentity #SNS #SocialWeb #SocialMedia #SocialNetwork
-
I wonder when we'll see custom domain #WebFinger in the #Fediverse / #ActivityPub ?
For example, I want to use:
* @-live.youronly.one for my #Streams account
* @-sns.youronly.one for my #Firefish account
* @-photos.youronly.one for my #Pixelfed account
* @-mblog.youronly.one for my #Mastodon account
* @-reading.youronly.one for my #BookWyrm accountIdeally, even if I move to a new host/service, I can use the same WebFinger.
#MycelialWeb #MyceliumNetwork #ActivityPub2 #AP #AP2 #Portability #AccountPortability #Nomadic #NomadicIdentity #SNS #SocialWeb #SocialMedia #SocialNetwork
-
I wonder when we'll see custom domain #WebFinger in the #Fediverse / #ActivityPub ?
For example, I want to use:
* @-live.youronly.one for my #Streams account
* @-sns.youronly.one for my #Firefish account
* @-photos.youronly.one for my #Pixelfed account
* @-mblog.youronly.one for my #Mastodon account
* @-reading.youronly.one for my #BookWyrm accountIdeally, even if I move to a new host/service, I can use the same WebFinger.
#MycelialWeb #MyceliumNetwork #ActivityPub2 #AP #AP2 #Portability #AccountPortability #Nomadic #NomadicIdentity #SNS #SocialWeb #SocialMedia #SocialNetwork
-
I wonder when we'll see custom domain #WebFinger in the #Fediverse / #ActivityPub ?
For example, I want to use:
* @-live.youronly.one for my #Streams account
* @-sns.youronly.one for my #Firefish account
* @-photos.youronly.one for my #Pixelfed account
* @-mblog.youronly.one for my #Mastodon account
* @-reading.youronly.one for my #BookWyrm accountIdeally, even if I move to a new host/service, I can use the same WebFinger.
#MycelialWeb #MyceliumNetwork #ActivityPub2 #AP #AP2 #Portability #AccountPortability #Nomadic #NomadicIdentity #SNS #SocialWeb #SocialMedia #SocialNetwork
-
2/
#acctURI has a way of representing user accounts on other hosts — sort of similar to the #fingerProtocol
For example —
acct:reiver%[email protected]
(Notice that the "@" in "[email protected]" gets percent-encoded as "%40".)
#WebFinger uses acct-URIs.
And the #Fediverse used WebFinger.
This is how you could represent a user on one Fediverse instance being used on another Fediverse instance without necessarily having to create a new account.
-
Regarding Finger, how about the fact that #WebFinger is its #Web rendition?
Injecting #hyperlink power into utilities that existed in the earlier #Unix dominated #Internet is something that folks sometimes overlook.
Google #Search enhanced by a #gptChat browser extension.
https://www.google.com/search?q=How+are+Finger+and+WebFinger+related%2C+if+at+all%3F
A lot of existing stuff is simply being tweaked for the #Web (an Internet abstraction layer) 😊
/cc @abathur
-
One big difference between #finger and #webFinger is —
The output from a #fingerProtocol response is human-legible.
The output from a WebFinger response is — NOT human-legible.
The output from a WebFinger response is — programmer-legible and machine-legible (but not human legible).
-
Sample entry from my #linkeddata oriented #addressbook. #webid #webfinger #foaf #xrd #socialmedia #socialweb https://twitpic.com/2og4eu