Fedify: an ActivityPub server framework's avatar

Fedify: an ActivityPub server framework

@fedify@hollo.social · 8 following · 628 followers

:fedify: Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse. It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

🎉 Excited to announce that is now on Open Collective! Support the project's development starting at:

  • Backer (from $5/mo)
  • Supporter (from $25/mo)
  • Sponsor (from $100/mo)
  • Corporate Sponsor (from $500/mo)
  • Custom donations welcome

Your support will help us maintain and improve Fedify. Check it out here:

https://opencollective.com/fedify

:fedify:

Fedify's Open Collective page showing the project logo, description as “A TypeScript library for building federated server apps powered by ActivityPub and other standards”, and five contribution tiers starting from $5/month Backer to $500/month Corporate Sponsor, with custom contribution options available.
ALT text detailsFedify's Open Collective page showing the project logo, description as “A TypeScript library for building federated server apps powered by ActivityPub and other standards”, and five contribution tiers starting from $5/month Backer to $500/month Corporate Sponsor, with custom contribution options available.
Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

Fedify is an server framework in & . It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.

The key features it provides currently are:

If you're curious, take a look at the website! There's comprehensive docs, a demo, a tutorial, example code, and more:

https://fedify.dev/

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

Hello, ! It's the official fedi account of the Fedify, an server framework!

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

Valtteri Laitinen (@valtlai) managed to get running on Workers!

https://fedi.valtlai.fi/@valtlai/113906145660141267

Valtteri Laitinen's avatar
Valtteri Laitinen

@valtlai@valtlai.fi · Reply to Valtteri Laitinen's post

@thisismissem @fedify I got this working with the JSR package by adding a Temporal polyfill and stripping import attributes (see github.com/fedify-dev/fedify/i).

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post

We've just moved the project and related repositories to our new GitHub organization account, @fedify-dev! 🎉

Here's what moved:

All repositories have been transferred and GitHub's automatic redirects are in place, so existing links will continue to work. Also, the project's core functionality and development process remain unchanged.

Thanks to everyone who participated in our naming poll. Looking forward to Fedify's continued growth under its new organizational home!

:fedify: New GitHub organization: https://github.com/fedify-dev.

Valtteri Laitinen's avatar
Valtteri Laitinen

@valtlai@valtlai.fi

Äh… Halusin koodata oman fediverseinstanssin @fedify​-kirjastolla. Alustana olisi Cloudflare (Workers, KV, D1, Queues, R2). Workersin Node.js-yhteensopivuustilasta huolimatta Fedify ei kuitenkaan toimi: palauttaa ainakin syntaksivirheitä. Turhauttaa!

Nyt sitten forkkaan Fedifyn toistaiseksi ja yritän saada sen toimimaan. En nimittäin halua ohjelmoida ActivityPub-palvelinta ilman apukirjastoa, enkä mielelläni vaihtaisi hostausympäristöäkään toiseen.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post

We've just moved the project and related repositories to our new GitHub organization account, @fedify-dev! 🎉

Here's what moved:

All repositories have been transferred and GitHub's automatic redirects are in place, so existing links will continue to work. Also, the project's core functionality and development process remain unchanged.

Thanks to everyone who participated in our naming poll. Looking forward to Fedify's continued growth under its new organizational home!

:fedify: New GitHub organization: https://github.com/fedify-dev.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to 's post

@sash Here is our answer!

https://hollo.social/@fedify/0194a1d2-65ba-73f2-960d-82f322cf7e25

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Darius Kruythoff's post

@dkruythoff @daniel

We appreciate the thoughtful suggestions about moving Fedify to platforms like Codeberg that better align with the federation ideals our project upholds. These suggestions raise important points about corporate centralization and the broader FOSS ecosystem that we've carefully considered.

After thorough deliberation, we plan to keep Fedify's primary repository on GitHub for the foreseeable future. This decision stems from several practical considerations:

First, we aim to make Fedify as accessible as possible to potential contributors. While platforms like Codeberg represent important alternatives, GitHub remains the platform most developers are familiar with, particularly in the JavaScript/TypeScript ecosystem where Fedify operates.

Second, GitHub currently provides significant visibility benefits that help us reach more developers who could benefit from or contribute to Fedify. As a relatively new project, this broader reach is particularly valuable for building our community.

Additionally, our package registry JSR's provenance attestation feature, which we rely on for security guarantees, currently only supports GitHub Actions integration. This technical dependency would make migration particularly challenging at this time.

However, we recognize the value in supporting more decentralized platforms. As a middle ground, we are considering setting up a mirror repository on Codeberg. This would provide an alternative access point while maintaining our GitHub presence.

We're committed to regularly reassessing this position as the ecosystem evolves and as alternative platforms continue to mature.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Darius Kruythoff's post

@dkruythoff @daniel

We appreciate the thoughtful suggestions about moving Fedify to platforms like Codeberg that better align with the federation ideals our project upholds. These suggestions raise important points about corporate centralization and the broader FOSS ecosystem that we've carefully considered.

After thorough deliberation, we plan to keep Fedify's primary repository on GitHub for the foreseeable future. This decision stems from several practical considerations:

First, we aim to make Fedify as accessible as possible to potential contributors. While platforms like Codeberg represent important alternatives, GitHub remains the platform most developers are familiar with, particularly in the JavaScript/TypeScript ecosystem where Fedify operates.

Second, GitHub currently provides significant visibility benefits that help us reach more developers who could benefit from or contribute to Fedify. As a relatively new project, this broader reach is particularly valuable for building our community.

Additionally, our package registry JSR's provenance attestation feature, which we rely on for security guarantees, currently only supports GitHub Actions integration. This technical dependency would make migration particularly challenging at this time.

However, we recognize the value in supporting more decentralized platforms. As a middle ground, we are considering setting up a mirror repository on Codeberg. This would provide an alternative access point while maintaining our GitHub presence.

We're committed to regularly reassessing this position as the ecosystem evolves and as alternative platforms continue to mature.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Darius Kruythoff's post

@dkruythoff @daniel

We appreciate the thoughtful suggestions about moving Fedify to platforms like Codeberg that better align with the federation ideals our project upholds. These suggestions raise important points about corporate centralization and the broader FOSS ecosystem that we've carefully considered.

After thorough deliberation, we plan to keep Fedify's primary repository on GitHub for the foreseeable future. This decision stems from several practical considerations:

First, we aim to make Fedify as accessible as possible to potential contributors. While platforms like Codeberg represent important alternatives, GitHub remains the platform most developers are familiar with, particularly in the JavaScript/TypeScript ecosystem where Fedify operates.

Second, GitHub currently provides significant visibility benefits that help us reach more developers who could benefit from or contribute to Fedify. As a relatively new project, this broader reach is particularly valuable for building our community.

Additionally, our package registry JSR's provenance attestation feature, which we rely on for security guarantees, currently only supports GitHub Actions integration. This technical dependency would make migration particularly challenging at this time.

However, we recognize the value in supporting more decentralized platforms. As a middle ground, we are considering setting up a mirror repository on Codeberg. This would provide an alternative access point while maintaining our GitHub presence.

We're committed to regularly reassessing this position as the ecosystem evolves and as alternative platforms continue to mature.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post

Okay, since we couldn't get in touch with the @fedify account owner, we need a new name for our GitHub organization. Which alternative do you prefer?

Your suggestions for other names are welcome in the comments! We'll make the final decision based on your feedback.

OptionVoters
fedify-js16 (11%)
fedify-sdk14 (10%)
fedify-framework15 (11%)
fedify-dev48 (34%)
fedify-org48 (34%)
Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

already uses the API exclusively for representing temporal data.

https://developer.mozilla.org/en-US/blog/javascript-temporal-is-coming/

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

The Date is dead, long live the Temporal!

https://developer.mozilla.org/en-US/blog/javascript-temporal-is-coming/

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post

Here's a quick update on our GitHub organization plans: GitHub support has informed us they no longer process inactive username requests. We'll try reaching out to the current owner of @fedify account to see if we can work something out.

We'll keep you posted on how this goes! 🤞

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

We're planning to move our GitHub repository to an organization account for better project management. We've requested GitHub support to help us acquire the inactive @fedify username for this purpose. (The attached screenshot is our formal request to GitHub support.)

If we successfully acquire @fedify, that will be our new organization name. If not, we'll choose an alternative name. We'll keep you updated on the progress!

In any case, we'll ensure a smooth transition with proper redirects from the current repository. Stay tuned for updates!

Dear GitHub Support,

I am writing to request the takeover of the inactive GitHub username “@fedify”. This username is currently held by an account that shows no activity since its creation—no repositories, contributions, or any other engagement.

I am the maintainer of the Fedify project (https://github.com/dahlia/fedify), which is an open source ActivityPub server framework. We would like to use this username as an organization account to host our project and related repositories.

The reasons for this request are:

1. The current “@fedify” account has been completely inactive with no public contributions or repositories
2. The name directly relates to our project's name and purpose
3. We need an organization account to better manage our growing open source project
4. The username would help us maintain consistent branding across different platforms (@fedify on npm, JSR, etc.)

If possible, we would greatly appreciate if you could help us acquire this username. We believe this would benefit the GitHub community by putting the inactive username to active use for an open source project.

Please let me know if you need any additional information to process this request.

Thank you for your time and consideration.

Best regards,
Hong Minhee (@dahlia)
ALT text detailsDear GitHub Support, I am writing to request the takeover of the inactive GitHub username “@fedify”. This username is currently held by an account that shows no activity since its creation—no repositories, contributions, or any other engagement. I am the maintainer of the Fedify project (https://github.com/dahlia/fedify), which is an open source ActivityPub server framework. We would like to use this username as an organization account to host our project and related repositories. The reasons for this request are: 1. The current “@fedify” account has been completely inactive with no public contributions or repositories 2. The name directly relates to our project's name and purpose 3. We need an organization account to better manage our growing open source project 4. The username would help us maintain consistent branding across different platforms (@fedify on npm, JSR, etc.) If possible, we would greatly appreciate if you could help us acquire this username. We believe this would benefit the GitHub community by putting the inactive username to active use for an open source project. Please let me know if you need any additional information to process this request. Thank you for your time and consideration. Best regards, Hong Minhee (@dahlia)
洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

If you'd like to support the development of @fedify or @hollo or @botkit, you can sponsor me on GitHub!

https://github.com/sponsors/dahlia

08956495

@08956495@infosec.exchange

If you are a admin running libraries on keep an eye on this: nvd.nist.gov/vuln/detail/CVE-2

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post

FedifyのWebFinger実装における脆弱性CVE-2025-23221に対するセキュリティアップデート(1.0.141.1.111.2.111.3.4)をリリースいたしました。すべてのユーザー様におかれましては、お使いのバージョンに応じた最新版への速やかなアップデートを推奨いたします。

脆弱性の詳細

セキュリティ研究者により、FedifyのlookupWebFinger()関数において以下のセキュリティ上の問題が発見されました:

  • 無限リダイレクトループによるサービス拒否攻撃(DoS)の可能性
  • プライベートネットワークアドレスへのリダイレクトを利用したSSRF(サーバーサイドリクエストフォージェリ)攻撃の可能性
  • リダイレクト操作による意図しないURLスキームへのアクセスの可能性

修正されたバージョン

  • 1.3.xシリーズ:1.3.4へアップデート
  • 1.2.xシリーズ:1.2.11へアップデート
  • 1.1.xシリーズ:1.1.11へアップデート
  • 1.0.xシリーズ:1.0.14へアップデート

変更内容

本セキュリティアップデートでは、以下の修正が実施されました:

  1. 無限リダイレクトループを防ぐため、最大リダイレクト回数(5回)の制限を導入
  2. 元のリクエストと同じスキーム(HTTP/HTTPS)のみにリダイレクトを制限
  3. SSRFを防止するため、プライベートネットワークアドレスへのリダイレクトをブロック

アップデート方法

以下のコマンドで最新のセキュアバージョンにアップデートできます:

# npmユーザーの場合
npm update @fedify/fedify

# Denoユーザーの場合
deno add jsr:@fedify/fedify

この脆弱性を責任を持って報告していただいたセキュリティ研究者の方に感謝申し上げます。迅速な対応が可能となりました。

本脆弱性の詳細については、セキュリティ勧告をご参照ください。


ご質問やご懸念がございましたら、GitHub DiscussionsMatrixチャットスペース、またはDiscordサーバーまでお気軽にご連絡ください。

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post

프레임워크의 구현에서 발견된 보안 취약점 CVE-2025-23221을 해결하기 위한 보안 업데이트(1.0.14, 1.1.11, 1.2.11, 1.3.4)를 배포했습니다. 모든 사용자께서는 각자 사용 중인 버전에 해당하는 최신 버전으로 즉시 업데이트하시기를 권장합니다.

취약점 내용

보안 연구자가 Fedify의 lookupWebFinger() 함수에서 다음과 같은 보안 문제점들을 발견했습니다:

  • 무한 리다이렉트 루프를 통한 서비스 거부 공격 가능
  • 내부 네트워크 주소로의 리다이렉트를 통한 SSRF (서버측 요청 위조) 공격 가능
  • 리다이렉트 조작을 통한 의도하지 않은 URL 스킴 접근 가능

수정된 버전

  • 1.3.x 시리즈: 1.3.4로 업데이트
  • 1.2.x 시리즈: 1.2.11로 업데이트
  • 1.1.x 시리즈: 1.1.11로 업데이트
  • 1.0.x 시리즈: 1.0.14로 업데이트

변경 사항

이번 보안 업데이트에는 다음과 같은 수정 사항이 포함되어 있습니다:

  1. 무한 리다이렉트 루프를 방지하기 위해 최대 리다이렉트 횟수 제한(5회) 도입
  2. 원래 요청과 동일한 스킴(HTTP/HTTPS)으로만 리다이렉트 허용하도록 제한
  3. SSRF 공격 방지를 위해 내부 네트워크 주소로의 리다이렉트 차단

업데이트 방법

다음 명령어로 최신 보안 버전으로 업데이트하실 수 있습니다:

# npm 사용자의 경우
npm update @fedify/fedify

# Deno 사용자의 경우
deno add jsr:@fedify/fedify

이 취약점을 책임감 있게 보고해 주신 보안 연구자께 감사드립니다. 덕분에 신속하게 문제를 해결할 수 있었습니다.

이 취약점에 대한 자세한 내용은 보안 권고문을 참고해 주시기 바랍니다.


문의 사항이나 우려 사항이 있으시다면 GitHub DiscussionsMatrix 채팅방, 또는 Discord 서버를 통해 언제든 연락해 주시기 바랍니다.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

We have released updates (1.0.14, 1.1.11, 1.2.11, 1.3.4) to address CVE-2025-23221, a in 's implementation. We recommend all users update to the latest version of their respective release series immediately.

The Vulnerability

A security researcher identified multiple security issues in Fedify's lookupWebFinger() function that could be exploited to:

  • Perform denial of service attacks through infinite redirect loops
  • Execute server-side request forgery () attacks via redirects to private network addresses
  • Access unintended URL schemes through redirect manipulation

Fixed Versions

  • 1.3.x series: Update to 1.3.4
  • 1.2.x series: Update to 1.2.11
  • 1.1.x series: Update to 1.1.11
  • 1.0.x series: Update to 1.0.14

Changes

The security updates implement the following fixes:

  1. Added a maximum redirect limit (5) to prevent infinite redirect loops
  2. Restricted redirects to only follow the same scheme as the original request (HTTP/HTTPS)
  3. Blocked redirects to private network addresses to prevent SSRF attacks

How to Update

To update to the latest secure version:

# For npm users
npm update @fedify/fedify

# For Deno users
deno add jsr:@fedify/fedify

We thank the security researcher who responsibly disclosed this vulnerability, allowing us to address these issues promptly.

For more details about this vulnerability, please refer to our security advisory.


If you have any questions or concerns, please don't hesitate to reach out through our GitHub Discussions, join our Matrix chat space, or our Discord server.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post

自分だけのActivityPubを作りたいけど、何から始めれば良いのか分からないですか?Fedifyの公式チュートリアル「自分だけのフェディバースのマイクロブログを作ろう!」を読んでみてください!

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post

자신만의 구현을 하고 싶지만, 어디서 시작해야 할지 모르겠나요? 공식 튜토리얼인 〈나만의 연합우주 마이크로블로그 만들기〉를 읽고 따라해 보세요!

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

Want to build your own implementation, but don't know where to start? Read and follow 's official tutorial, Creating your own federated microblog, and get started!

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post

:botkit: スタンドアロンのActivityPubボットを作成するためのTypeScriptフレームワーク、BotKitを発表します!

一般的なMastodonボットとは異なり、BotKitで作成したボットは、プラットフォームの制約なく完全に独立して動作するFediverseボットです。シンプルで直感的なAPIにより、TypeScriptファイル1つでボットを作成できます。

現在はDenoのみの対応で、今後Node.jsとBunのサポートも予定しています。堅牢なFedifyをベースに開発されています。

https://botkit.fedify.dev/

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social · Reply to BotKit by Fedify :botkit:'s post

:botkit: 독립형 ActivityPub 봇을 만들기 위한 TypeScript 프레임워크인 BotKit을 소개합니다!

일반적인 Mastodon 봇과 달리, BotKit으로 만든 봇은 플랫폼의 제약 없이 완전히 독립적으로 동작하는 연합우주(fediverse) 봇입니다. 간단하고 직관적인 API로 TypeScript 파일 하나만으로도 봇을 만들 수 있어요.

현재는 Deno만 지원하지만, Node.js와 Bun 지원도 계획하고 있습니다. 견고한 @fedify 기반으로 제작되었습니다.

https://botkit.fedify.dev/

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social

:botkit: Introducing : A framework for creating truly standalone bots!

Unlike traditional Mastodon bots, BotKit lets you build fully independent bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.

Currently -only, with Node.js & Bun support planned. Built on the robust @fedify foundation.

https://botkit.fedify.dev/

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post

Okay, now we have the official fedi account for BotKit: @botkit.

https://hollo.social/@botkit/01947252-0b0e-7b7e-98ce-a520ca388a0c

BotKit by Fedify :botkit:'s avatar
BotKit by Fedify :botkit:

@botkit@hollo.social

Just set up the official fedi account for BotKit by @fedify! Hello everyone!

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

Do we need a dedicated fedi account for BotKit?

OptionVoters
Yes12 (75%)
No4 (25%)
aasatru's avatar
aasatru

@aasatru@kbin.earth · Reply to JubilantJaguar's post

I feel like this is part of what makes @fedify one of the most important fediverse projects at the moment - it aims to keep everyone from having to do the same, overly complicated job of activitypub integration over and over and over again.

It's frustration that nobody wants to dig into old code, but I get frustrated having to re-work my own code from a year ago. So I guess I sympathize.

Chee Aun 🤔's avatar
Chee Aun 🤔

@cheeaun@mastodon.social

I guess @iss-location-bot now joins @FediChatBot as potentially the 2nd(?) bot built with @hongminhee 's 🍻

Learn more:
- BotKit: botkit.fedify.dev/
- ISS Location bot repo: github.com/cheeaun/iss-locatio
- Previous thread: mastodon.social/@cheeaun/11382

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

One of 's long-term challenges is to get it to run on Cloudflare Workers as well.

← Newer
Older →