fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

8.8K
active users

#Federation

9 posts9 participants3 posts today

Why on earth was the #ActivityPub protocol even let out the door without a well-specified and mandatory graceful, non-destructive key rotation scheme?

Yes I know the privacy issues. Those are not valid reasons to not have such a mechanism; it's a valid reason to not enable or use one.

What we're stuck with now is a ton of instances with absurdly long, legacy-algorithm keys (RSA-4096) with no way to replace them with shorter/better keys without effectively losing everything ever posted on the instance.

The protocol is only 7 years old! EC crypto was well-established at the time, and should have been the default.

And what happens once everyone has to replace the keys, because RSA is broken by quantum computers (I know, probably 100 years to go)? The #Fediverse will be a wasteland, with no instances trusting anything from any other instance, so all #Federation breaks down.

Sorry if I got some details wrong about what the protocol says. If I get flamed to death for being wrong, then I'll consider that a Good Thing(TM). I've been trying to find a way to rotate/replace keys for a while and all my searching turns up is either 1) confirmation that most people don't know or care about cryptography, or 2) https://socialhub.activitypub.rocks/t/key-rotation-notification/562 - which really isn't helpful.

If it is possible to gracefully rotate the key(s) of an instance/user, there really has to exist some documentation that explains clearly how to implement this in a server and how to exercise it as a server operator.

pleroma.anduin.netAnduin.net

From: blenderdumbass . org

This article is published on a website which is powered by BDServer. And I'm trying to make this website support ActivityPub, so you could for example, subscribe to me from your Mastodon account. Yet it is easier said than done.

If you have any experience with ActivityPub, web-development or Python, please consider helping me. We have BDServ...

Read: blenderdumbass.org/articles/pl

blenderdumbass . orgPlease Help Me With Activity Pub

Tinkered around with the bsky / at protocol around a few days ago (more like a week lol), in an attempt to create an fully decentral account / identity where no parts are owned by an copoeration. And to my surprires you can actually not only host the account data yourself (called a PDS) but also the whole identity itself!

Wrote a (rather long) blog post about the journey and how to achieve it; check it out if those things interest you: blog.lapyst.dev/posts/14-how-t

blog.lapyst.devHow to create a completly independent Bluesky/Atproto Account - Mai Lapyst's Blog
More from Mai :v_trans:

The iPad. Rainbow Looms. "Inception." They all arrived on the scene in 2010 — and so did we. In 2025, we're celebrating Flipboard's 15th birthday. Here's to the next 15 and more! Check out the spreadsheet here to discover all the Magazines you can find in the fediverse — and comment below if there's a publication you'd love us to federate.

about.flipboard.com/inside-fli

docs.google.com/spreadsheets/d

About Flipboard · 15 Years of Flipboard: Celebrating a Platform Built for Journalism, Curiosity and Community
More from About Flipboard

Concept for discussion: Replacing HTTP Signatures with Bearer Tokens for ActivityPub Federation

Curious what other people think about this idea. What if federation security was re-worked to use target-assigned
bearer tokens to authenticate GET/POST requests? This would remove the need for complicated signing schemes and reduce system load under heavy traffic bursts (as no cryptography is required).

A basic implementation could look like this:
1. When instance A (
a.example.com) first attempts to federate with instance B (b.example.com), a POST request is made to a dedicated registration endpoint. (for discussion, we'll say it's https://b.example.com/activity-pub/register-instance). This request includes fields necessary for verification, including the source domain name, target domain name, and a securely-generated verification token. Other metadata could be included to allow instance B to selectively allow/prohibit federation based on other criteria, but this is optional.
2. Instance B makes a POST request back to a dedicated verification endpoint on instance A (for discussion, we'll say it's
https://a.example.com/activity-pub/verify-registration). This request must include the target domain name and verification token provided in step 2.
3. Instance A checks the verification token (and verify that it matches the target domain name) and return a successful value.
The verification code must be invalidated after this call!
4. Instance B, after verifying instance A's request, returns a securely-generated
federation key back to instance A. This federation key is a bearer token used to authenticate all requests from instance A to instance B. This key must be unique to instance A!
5. Instance A completes the original request with the
Authorization header set to Bearer {federation_key}.
6. Instance B receives the request, detects the federation key, and checks it against the list of registered instances.
7. If the key does not exist or A has been defederated, then a
403 Forbidden error is returned.
8. If the key is expired or revoked, then
401 Unauthorized error is returned. Upon receiving a 401 error, instance A should start over from step 1 to re-authenticate and complete the request with a new token. This process should not be repeated for recursive failures!
9. If the key is approved, then a
200 OK response or 202 Accepted response is returned, and A can consider the request as successful.

Advantages versus HTTP Signatures:
- No cryptography requirements.
- Simple logic, no edge cases around HTTP query parameters or header order.
- Equally effective for all request types.
- Keys can be easily revoked or rotated.
- Supports authorized fetch and defederation use cases "by default".

Disadvantages versus HTTP Signatures:
- Breaks the actor model - instances are required as a first-class concept. (but really, the actor model is basically dead already. you can't even federate reliably without a WebFinger server, at minimum.)
- Requires multi-request "handshake" before communication. (but this is already required in practice, since a signature can't be validated without first requesting the signing actor.)
- Out-of-band protocol - communication can't happen over ActivityPub / ActivityStreams because this is a prerequisite to authenticate any request. (but again, we already require WebFinger and some software requires NodeInfo for full support.)

So, what are your thoughts? Good idea? Bad idea? Did I miss something? Please let me know, I welcome replies here!

#ActivityPub #AP #Federation

The MDN Web Docs logo, featuring a blue accent color, displayed on a solid black background.
MDN Web DocsHTTP authentication - HTTP | MDNHTTP provides a general framework for access control and authentication. This page is an introduction to the HTTP framework for authentication, and shows how to restrict access to your server using the HTTP "Basic" scheme.

#Decentralized #Module #Federation #Microfrontend #Architecture

I'm working on a #webapp and I'm being #creative on the #approach. It might be considered #overcomplicated (because it is), but I'm just trying something out. It's entirely possible this approach won't work #longterm. I see it as there is #onewaytofindout. I don't recommend this approach. Just sharing what I'm trying/#investigating.

How it will be #architected: [positive-intentions.com/blog/d
Some #benefits of the #approach: [positive-intentions.com/blog/s

I find that #modulefederation and #microfrontends to generally be #discouraged when I see posts, but I think it works for me in my #approach. I'm #optimistic about the approach and the #benefits and so I wanted to #share details.

When I serve the #federatedmodules, I can also host the #storybook statics so I think this could be a good way to #document the modules in #isolation.

#Cryptography modules - cryptography.positive-intentio

#P2P framework - p2p.positive-intentions.com/?p

This way, I can create #microfrontends that consume these #modules. I can then #share the #functionality between #apps. The following apps are using a different codebase from each other (there is a #distinction between these apps in #opensource and #closesource). Sharing those #dependencies could help make it easier to roll out #updates to #coremechanics.

#P2P chat - [chat.positive-intentions.com/]
#P2P file transfer - [file.positive-intentions.com/]

The #functionality also works when I create an #Android build with #Tauri. This could also lead to it being easier to create #newapps that could use the #modules created.

I'm sure there will be some distinct #test/#maintenance #overhead, but depending on how it's #architected I think it could work and make it easier to #improve on the current #implementation.

Everything about the #project is far from finished. It could be seen as this is a #complicated way to do what #npm does, but I think this #approach allows for greater #flexibility by being able to #separate #opensource and #closesource code for the #web. (Of course as #javascript, it will always be "source code available". Especially in the age of #AI, I'm sure it's possible to #reverseengineer it like never before.)

(mastodon might not be the place for something like this, so let me know if you dont like this kind of content. i typically post on reddit and would like to shift it more towards mastodon. i also use lemmy, but mastodon has a better reach.)

positive-intentionsDecentralized P2P Chat & File Transfer - Secure Messaging Without Central Servers | positive-intentionsExperience secure P2P chat, file transfer, and video calls without registration. Built on decentralized architecture with end-to-end encryption and complete data ownership.

Does anyone know of a good way of cross-posting between Tumblr and Mastodon? I am mainly on Mastodon but have a few people here who I still really want to stay in touch with, and was REALLY excited a couple of years back when they promised Tumblr was getting Federation support, but that appears to either not be happening or is taking forever.

I've been making a concerted effort to manually post in both places, but if there are any cool tricks or hacks anybody else has found, I'd love to hear them.

Socialhome v0.22.0 released, with a completely new UI!

This is a massive milestone for the #Socialhome project, one that could not have been possible without the hard work of @alain@jase.social. If you have followed the Socialhome project, you'll know that Alain has been responsible for most of the development of project in the recent years. This includes rewriting the #federation library to ensure #ActivityPub support is first class. More recently Alain has taken the challenge of rewriting the frontend, which has fallen into a rather poor state over the years.

The new UI work is actually a coordination of two people working many years apart. Way back years ago @lightone@mastodon.xyz made some UI designs for a new Socialhome UI (thank you! <3). While the designs were not implemented for years, they were not forgotten. In 2023 Alain jumped to the challenge and started the full UI rewrite of the Socialhome frontend. This UI has now matured into a state that it is good for daily usage - which is the main focus of this release!

Currently, a Socialhome installation will still default to the old UI. If you do want to try out the new UI for example on socialhome.network, go to the account settings and toggle the "New UI" flag. Going back is also easy, should the new UI cause unforeseen issues (please do report!).

If you are a server admin, see the new UI installation instructions for how to add the new UI to your instance.

This is not all! The releases of v0.21.0 and v0.22.0 also contain a bunch of other changes and fixes. Most notably;

  • ActivityPub profiles are now richer, including bio and a larger picture, in addition to an avatar.
  • Many new API's to support the new UI, including session authentication, search, media upload, content fetching over uuid, profile organize and profile settings.
  • Whoosh has been replaced with Xapian as a search index backend.

See the full changelogs. Additionally, the federation library has received a ton of changes and fixes which can be found here.

Also, last but not least, we moved from GitLab to Codeberg. Check out the new repositories.

Installing and updating

We recommend using the Docker images (amd64/arm64).

Notes on how to use the Docker images can be found in the docs.

What is Socialhome?

Socialhome is best described as a federated personal profile with social networking functionality. Users can create rich content using Markdown. All content can be pinned to the user profile and all content will federate to contacts in the federated social web. Federation happens using the ActivityPub and Diaspora protocols.

Please check the official site for more information about features. Naturally, the official site is a Socialhome profile itself.

Try Socialhome?

If you want to try Socialhome first before trying to install it, register at https://socialhome.network and then ping us with a comment on the user name chosen to get the account approved. You can also request account approval in the chat room. This unfortunately approval step is due to spammers.

Contribute

Do you want to work on a Django and VueJS powered social network server? Join in the fun! We have easy to follow development environment setup documentation and a friendly chat room for questions.

Replied to Forgejo

@forgejo My personal highlight of this release: You can now use your #fediverse handle in #markdown documents and it will be marked up as a link to your user profile (or group, etc.).
forgejo.org/2025-07-release-v1
I'm excited about the future, when mentioning fediverse handles will actually be federated and will send notifications everywhere!
#Forgejo #Federation #forgefed

Forgejo v12.0 is available
forgejo.orgForgejo v12.0 is available
More from Forgejo

From: blenderdumbass . org

This article is published on a website which is powered by BDServer. And I'm trying to make this website support ActivityPub, so you could for example, subscribe to me from your Mastodon account. Yet it is easier said than done.

If you have any experience with ActivityPub, web-development or Python, please consider helping me. We have BDServ...

Read: blenderdumbass.org/articles/pl

blenderdumbass . orgPlease Help Me With Activity Pub

⛔️ Russian Lie: “#Russia respects the languages and cultures of all the peoples within its borders.”

✅ Reality: #Putin has signed a decree that openly expands policy of forced Russification.

The decree, titled “On the Foundations of State Language Policy of the Russian #Federation”, defines Russian as the unifying force and core of civic identity—marginalizing the rights of indigenous and minority languages.

It identifies three so-called "threats" to language policy: