突然有个基于 #activitypub 的 #pastebin 想法,搜了一下,果然已经有些写好的项目了
activitypub
The version 1.3.0 of #Fedify, an #ActivityPub server framework, released! The key changes include:
Instrumented spans for OpenTelemetry are added. In most cases, it's automatically enabled if your application configured OpenTelemetry SDK.
Since Fedify 1.3.0, you can configure different MessageQueues for incoming and outgoing activities.
Fedify now allows you to manually route an Activity to the corresponding inbox listener. It is useful for invoking an inbox listener for an Activity enclosed by another Activity.
Context.sendActivity() and InboxContext.forwardActivity() methods now reject when they fail to enqueue the task.
Thanks to @robin_maki, @fedify/fedify/x/sveltekit module is added for integrating with SvelteKit hook.
Fedify now makes HTTP requests with the proper User-Agent header, e.g., User-Agent: Fedify/1.3.0 (Deno/2.1.2).
For details, see the full changelog as well!
#自由软件 #ActivityPub #联邦宇宙使用指南
当然是因为他们是自由的互联网服务。
支持自由软件和自由的互联网服务,就是用行动反抗专有软件和奴化软件,就是在让这个世界变得更好,我曾经说过要对专有软件和不自由的专有巨头的互联网服务进行“动态清零”,而GNU也说过即使对不公正的计算说一次不也是帮助 (Saying No to unjust computing even once is help),从这种点滴小事做起,就是在用行动让这个已经崩坏的业界重回正轨,一步一步向着更好的世界迈进,从而让这个已经因地缘政治和政治危机而变得崩坏的世界变得更好。毕竟自由软件运动不关心经济以及政客嘴里的“左”和“右”,而是关心每一个用户、每一台设备的计算自由,具体的来说就是 四项基本自由 (The four essential freedoms),这种精神是一种更高境界的政治形式,即关心每一个被压迫的具体的人和事件,而不是泛泛而论的政治标签和派别,互相攻奸批斗。
至少推广自由软件和自由的互联网服务可以让更多人明白,原来互联网还有这样一种更好的可能性,在他们遭遇被专有软件和互联网服务的恶行所“铁拳”时,或许就能想到原来这个世界上还存在着这样的替代者。毕竟自由软件和互联网服务也给了他们这些用惯了专有软件和互联网服务用户在巨头作恶时反抗巨头们的底气,即使他们最终不会选择自由软件,但至少他们不会在受压迫时对科技巨头们的暴行无动于衷了,自由软件作为替代者赋予了这些用户和科技巨头博弈的“资本”,他们可以去反抗这些巨头,迫使这些巨头的吃相好看一些。
每位用户应该可以意识到,你的每一次选择,就是在为未来的计算环境走向何方,在投下选票:是选择迈向尽管艰难困苦但通往自由的路,还是选择由甜言蜜语包裹但通向奴役的路。至少现在还有选择的机会,不要等到为时已晚再后悔当初没有做出正确的选择。
每当有事情发生的时候,懦夫会问:"这么做,安全吗?"患得患失的人会问:"这么做,明智吗?"虚荣的人会问:"这么做,受人欢迎吗?"但是,良知只会问:"这么做,正确吗?"
RE: https://pwp.space/notes/a1g4cjypfaAdded a new user option to collapse top level threads by default.
Added a new disable_block_notifications boolean field to server.json to disable the notifications of Block activities.
Added a new strict_public_timelines boolean field to server.json to only show an account's posts and boosts (no trees) in public timelines.
Fixed repeated images in posts from some implementations (those that include an image both as an attachment and as an <img> tag inside the post content).
Added a small HTML/CSS tweak to improve post previews from some implementations (contributed by nyanide).
Notifications for EmojiReact activities now show the emoji.
New command-line action insert, to insert a post by its URL in a user's timeline.
Fixed bad processing/rendering of URLs with two or more @ symbols.
https://comam.es/what-is-snac
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/donate
#snacAnnounces
This release has been inspired by the song Subways Of Your Mind by #FEX.
Hey, you people explaining "Fediverse" to each other. Use this updated illustration:
#ActivityPub
#flohmarkt #loops #gancio #akkoma #mastodon #peertube #pixelfed #lemmy #forgefed #pleroma #hubzilla #funkwhale #owncast #writefreely #friendica #misskey #bookwyrm #gnusocial #mobilizon #castopod #wordpress #drupal #nextcloud #gotosocial #fediverse
As many users have asked for it, there is now an option to make the number of followed and following accounts public (still disabled by default). These are only the numbers; the lists themselves are never published.
Some fixes to blocked instances code (posts from them were sometimes shown).
Fixed non-appearing buttons Approve and Discard if the account requesting a follow were being followed.
https://comam.es/what-is-snac
If you find #snac useful, please consider contributing via LiberaPay: https://liberapay.com/grunfink/
#snacAnnounces
This release has been inspired by the songs All Is Lost by #KatieGarfield and All Is Not Lost by #TonyAnderson.
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, and @hollo, an ActivityPub-enabled microblogging software for single users.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
The fediverse has no central authority — which brings both challenges and opportunities for how it's governed. For Dot Social, @mike spoke with @kissane and @darius, two of the smartest people working on this, about the impact of the 2024 U.S. Presidential election on fediverse work, the "Xodus," what needs to be done next, and how to fund and sustain better networks for humans.
Read more about it in this blogpost.
https://about.flipboard.com/fediverse/erin-kissane-and-darius-kazemi/
Listen to the conversation on https://flipboard.video/c/dot_social/videos or wherever you get your podcasts.
#DotSocial #Podcast #Fediverse #Flipboard #OpenSocialWeb #SocialMedia #Tech #SocialWeb #Governance #Federation #Bluesky #ActivityPub #ATProtocol #SocialNetworks
The 2024 IFTAS Needs Assessment Report is Here!
We are pleased to to announce the release of the 2024 Fediverse Trust & Safety Needs Assessment Report. This annual report is a cornerstone of our mission to support the decentralised social web with evidence-based research and actionable recommendations for moderators, community managers, and administrators.
This year’s report reflects the insights of 183 services spanning platforms like Mastodon, Lemmy, and Peertube, collectively hosting over 4.3 million accounts. This year we also heard from volunteer independent moderators on Bluesky. By analysing the experiences and feedback of these moderators and admins across the Fediverse, the report highlights the challenges and opportunities within this rapidly evolving ecosystem.
We will follow up with an analysis of what we’ve seen change since last year’s report, as well as key resources we think can help solve some of the needs identified.
Key Findings
Resource gaps – only 16% of communities have 24-hour moderator coverage, and nearly half of moderator teams lack formal guidance. That said, we see roughly one moderator for every 1,200 active accounts.
Top ranked priorities – moderators need tools for CSAM detection, spam prevention, and legal guidance for compliance with regulations like GDPR.
Burnout is a persistent issue – one in five moderators report experiencing trauma or burnout this year, underlining the need for wellness and resilience resources.
Financial struggles – most communities operate on donations, and overall our survey participants are not generating enough money to cover costs. Very few moderators are receiving any compensation for their labour.
IFTAS Initiatives
Informed by last year’s findings, IFTAS has developed several solutions and programs, including a Fediverse CSAM scanner, a comprehensive Moderator Handbook (coming soon), and the creation of FediCheck for automated denylist management. Moving forward, we aim to expand resources for moderator wellness, launch our CSAM scanner for broader use (please register your interest), improve tooling for non-consensual image detection, and introduce new community guidelines templates.
We encourage everyone in the Fediverse community to read the full report for a deeper understanding of the challenges facing decentralised moderation and the innovative solutions underway.
Get Involved
IFTAS thrives on collaboration. Join our community of practice at IFTAS Connect, use our resources, or support our mission with a charitable donation to help make the Fediverse a safer, more inclusive space for all.
Let’s work together to empower moderators and create a stronger, safer social web!
#ActivityPub #BetterSocialMedia #Bluesky #Fediverse #TogetherStronger
Fediverse tech roadmap 2025
One year ago I published Fediverse tech roadmap for year 2024. How did we do?
- Data portability. FEP-ef61 has advanced significantly. Compatible IDs were introduced, which make portable objects fully compatbile with existing ActivityPub implementations. Identity can be represented using any DID method, not just did:key. Security of the protocol has been studied extensively. And most importantly, there are now two interoperable implementations: Streams and Mitra.
- End-to-end encryption. An end-to-end encryption system is being developed for social networking platform Enigmatick. It is based on the Olm protocol, which is also used by Matrix.
- Connectivity. A big improvement came from Mastodon, which now notifies its users when relationships are severed by moderation actions. ActivityConnect AP-to-AP bridge was developed, but it didn't see much use, indicating that the problem it attempts to solve is not serious.
- Moderation / spam resistance. Two different conversation moderation mechanisms emerged: Conversation Containers (implemented by Streams and Hubzilla) and Interaction Policies (implemented by GoToSocial).
- Scalability. The number of platforms implementing FEP-8b32 is slowly increasing but the biggest ones still don't sign their activities (or use non-standard LD signatures). Some preliminary work on optimizing media delivery was done in FEP-1311: Media Attachments.
- Plugins. Lemmy developers are discussing WASM plugins in an RFC. A WASM-based MRF was implemented in Kitsune.
- Discovery. Mastodon introduced fediverse:creator OpenGraph tag. Relay protocols were documented in FEP-ae0c, and ActivityPub Discovery report was published. Several projects are working on Starter Packs similar to ones used by BlueSky platform.
- Developer experience. Fun Fediverse Development project continues to improve, and now provides support tables for many protocol features. ActivityPub and WebFinger and ActivityPub and HTTP Signatures reports were published, as well as FEPs about Origin-based security model and various features such as OpenWebAuth and Emoji reactions. FEDERATION.md is becoming more popular, the number of projects using it nearly doubled in 2024.
- Groups. Conversation Containers were implemented in Streams and Hubzilla, and FEP-171b: Conversation Containers was published. FEP-1b12 and Conversation Containers have many similarities, and the work on further alignment is ongoing.
- URL handlers. No significant progress.
- Synchronization of replies. Both FEP-1b12 and Conversation Containers naturally lead to synchronized conversations.
- Markets. No significant progress.
- Quoting. FEP-e232 is now supported by 8 platforms.
- Forge federation. Forgejo implemented federated stars, and the development of other features has started.
I think the work on these problems should continue in 2025, especially in the following key areas:
- Conversations and groups. FEP-1b12 and Conversation Containers are good solutions and may eventually become one because their differences are mostly superficial.
- Data portability and Nomadic identity. A lot of work still needs to be done. Some aspects of FEP-ef61 are underspecified, for example media storage. A fully featured nomadic client (FEP-ae97) has not been developed yet and migration of data between implementations has not been demonstrated. I would also like to see experiments with peer to peer networking (FEP-ef61 is designed to be transport agnostic, this means HTTP transport can be replaced with something else, such as Iroh) and cross-protocol interop (identities created for Nostr and ATProto are compatible with FEP-ef61).
- ActivityPub C2S API. Although standard client-to-server API is not popular among developers, the work on it should continue because nomadic client-to-server API (FEP-ae97) is very similar.
- End-to-end encryption. I think that adoption of solutions developed for other protocols is a good idea. A custom solution may take many years to develop.
- Developer experience. Code reuse in not common in Fediverse: most developers implement ActivityPub primitives themselves. Libraries for all programming languages need to be created, along with online validators, testing tools and good documentation.
Just published a guide on setting up Snac on an Ubuntu VM using NGINX Proxy Manager. Snac is an incredibly lightweight #ActivityPub server. A true nom nom among fediverse platforms.
If you're curious about minimal fediverse instances, check it out:
Is there any internal method for preventing a snac2 server from federating? I don't mean blocking. I mean prohibiting all federation and contact with other activitypub instances. The goal is the local users don't see anything from the fediverse and the fediverse won't see anything from the local server.
I realize there are brute ways to hack nginx and IPtables to block ports and things like that. I'm just wondering if there is an internal method that is more sensible, or if perhaps some blocks of code could be removed before compilation.
#snac2 #fediverse #servers #activitypub
For us, 2024 was a year of building on the social web.
✔️ Expanded federation in the U.S., Brazil, Canada, Germany, and the U.K.
✔️ Enabled following accounts from the social web in the Flipboard app.
✔️ Announced @surf, a new browser for the social web.
✔️ Produced new episodes of Dot Social, the fediverse podcast hosted by @mike
Thanks for being on this journey with us! 🚀
Did you do cool stuff in the fediverse this year? Tell us all about it in the comments, where we'll also link to the Dot Social PeerTube account and our Surf signup page.
#Flipboard #Federation #Fediverse #Surf #ActivityPub #DotSocial #SocialWeb #OpenSocialWeb
wanderer, a self hosted trail logging app, has added federation via ActivityPub. You can now follow, like and comment on trails shared from other instances.
Wow! The #fediverse compatible and #selfhosted #podcasting platform #castopod has it's own index which will allow you to follow/comment/be alerted to new episodes from right here:)
*please boost for reach!
https://index.castopod.org/top50.html
Find a show, follow and enter your #mastodon or other fedi account and voila you will be alerted every time they post an episode. Thanks to #activitypub you can also interact! #feditips
https://blog.castopod.org/exploring-podcasting-2-0-made-easy-introducing-castopod-index/
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
#Smithereen 0.9 is out!
Photo albums are, of course, the headline feature of this release. In addition to that, there's the groups newsfeed and redesigned mobile profiles.
Also, Smithereen is now available on Docker Hub: https://hub.docker.com/r/grishkaa/smithereen
If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!
IceShrimp.NET has a new beta release, and the front end UI is starting to catch up to the back end. Including everyone's favorite, MFM! (Well, maybe not everybody, but between instances with support, it sure is fun in moderation)
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
@Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
@Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
@BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
Fedify: https://fedify.dev/
Hollo: https://docs.hollo.social/
BotKit: https://botkit.fedify.dev/
We're excited to announce two major features coming in #Fedify 1.5.0, focused on giving you more control over domain names in your federated apps:
Separate WebFinger Host from Server Origin
Want different domains for your WebFinger handles and server URIs? Fedify 1.5.0 will let you use domains like @alice@example.com as fediverse handles while serving content from https://ap.example.com. This gives you more flexibility in how you structure your federated services.
Need to ensure consistent URLs across your infrastructure? The new canonical origin support lets you explicitly set your server's authoritative domain. This is particularly useful when running behind reverse proxies or load balancers—no more unexpected URLs generated from internal hostnames.
These features represent our ongoing commitment to making Fedify more flexible and production-ready.
Can't wait to try these features? You can experiment with them today using our unstable release v1.5.0-dev.680+562e3dc0 (JSR & npm). Keep in mind that this is an unstable release intended for testing—use it in production at your own risk.
Otherwise, stay tuned for the stable Fedify 1.5.0 release!
When I opened up Lemmy this morning I could not believe my eyes. The top story was a headline from Forbes stating:
« ‘Open Source And Ethical’ TikTok, WhatsApp And Instagram Alternatives Could Transform Social Media ».
The article mostly focused on #Pixelfed and did a fairly good job explaining how #ActivityPub works. But they spelled #Mastodon « Mastadon » over and over again with no links to it. Yikes.
B for the effort, but please editors do better!
🚀 New on #TheFutureIsFederated 👩🚀
"My Year of Fediverse explorations"
https://blog.elenarossini.com/my-year-of-fediverse-explorations/
with shout-outs to @pixelfed @dansup @pfefferle @gotosocial @yunohost @phanpy
#tech #Fediverse #BigTech #socialmedia #FOSS #FLOSS #blog #Friendica #Pixelfed #Lemmy #GoToSocial #YunoHost #Mastodon #ActivityPub #Wordpress
Week in Fediverse 2025-03-21
Servers
- streams v25.3.15
- Mitra v3.20.0
- Hubzilla v10.2.0
- PeerTube v7.1.0
- Manyfold v0.104.0
- Lemmy v0.19.10
- NodeBB v4.2.0
- snac v2.74
- ActivityPub for WordPress v5.5.0
- GoToSocial v0.18.3
- Gancio v1.25.0
- tootik v0.15.5
- Activity-Relay v2.0.8
- gathio v1.5.1
- NeoDB v0.11.5.5
- Vernissage Server v1.6.0
- Development Update: Sandcastles edition (Letterbook)
- picverse: ActivityPub based blogengine
- Jaseur: An ActivityPub server implementation in C++ developed using AI agent technology
Clients
- Tusky 28.0
- Pixelfed (React Native) v1.1.0.1
- Blorp v1.0.3
- Tesseract v1.4.32
Tools and Plugins
- Lemmy Schedule v1.14.2
- Lemmy Webhooks v0.21.1
- Enable Mastodon Apps for WordPress v1.4.0
For developers
Protocol
- FEP-c180: Problem Details for ActivityPub
- FEP-ae0c: Fediverse Relay Protocols: Mastodon and LitePub (Finalized)
- FEP-d556: Server-Level Actor Discovery Using WebFinger (Finalized)
Articles
- Website League and the Rise of Island Networks
- The fediverse promises social media without Big Tech – if it can avoid familiar pitfalls
- Silly Mastodon apps
- Hands on with Ghost’s New ActivityPub Beta
- Fediverse Report #108
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/01959655-f2a7-6172-cb8c-8d6c51cebb2d