Fedify: ActivityPub server framework's avatar

Fedify: ActivityPub server framework

@fedify@hollo.social

9 following1,121 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.

Pinned

🎉 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

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.

Pinned

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.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

@hongminhee@fosstodon.org
@antolius@mastodon.social · Reply to Fedify: ActivityPub server framework

@fedify this is incredibly helpful! I went into it with some beforehand knowledge & it was still useful.

The structure & flow are great, it's telling a story & leading the reader through it. The tips alone make it worth a read. I love how detailed it is, covering everything from database to frontend. On the other hand, every lib/tool is well & succinctly explained which makes it easy to swap out with an alternative. The prompts for improvements at the end are great.

⭐⭐⭐⭐⭐, will read again.

@hongminhee@lemmy.ml · Reply to kopper [they/them]

Thank you for your advice. As you mentioned, Fedify currently has actor URIs consisting of handles. This limitation is due to the early design of Fedify and will be fixed before we release v1.0!

한국어판 Fedify 튜토리얼 《나만의 연합우주 마이크로블로그 만들기》를 공개합니다! Fedify나 ActivityPub을 몰라도 차근차근 따라할 수 있게 되어 있으니, ActivityPub 구현에 관심이 있으신 분들은 부디 읽어 주시기 바랍니다. (대신, 조금 깁니다. 😅)

https://hackmd.io/@hongminhee/fedify-tutorial-ko

hackmd.io

나만의 연합우주 마이크로블로그 만들기 - HackMD

이 튜토리얼에서는 Fedify를 이용하여 Mastodon이나 Misskey 같은 ActivityPub 프로토콜을 구현하는 단문 블로그를 만들어 보도록 하겠습니다.

@hongminhee@fedibird.com

Fedifyは、TypeScriptとJavaScriptで書かれたActivityPubサーバーフレームワークです。分散型のソーシャルネットワークを構築するためのサーバーアプリケーションを作る際の複雑さと冗長なコードを排除し、ビジネスロジックとユーザー体験の開発に集中できるようにすることを目指しています。

現在提供している主な機能は以下の通りです:

  • Activity Vocabularyのための型安全なオブジェクト(一部のベンダー固有の拡張機能を含む)
  • WebFingerクライアントとサーバー
  • HTTP SignaturesObject Integrity Proofs
  • ウェブフックを処理するためのミドルウェア
  • NodeInfoプロトコル
  • Node.js、Deno、Bunのサポート
  • テストとデバッグのためのCLIツールチェーン

興味がある方は、Fedifyのウェブサイトをご覧ください!包括的なドキュメント、デモ、チュートリアル、サンプルコードなどが用意されています:

https://fedify.dev/

fedify.dev

Fedify

Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse.

Question for those who have followed the tutorial: How long did it take you to follow the tutorial?

  • 30 minutes or shorter1 (33%)
  • 1 hour or shorter1 (33%)
  • 2 hours or shorter1 (33%)
  • 4 hours or shorter0 (0%)
  • More than 4 hours0 (0%)

fedify.dev

In-depth tutorial | Fedify

This tutorial provides a step-by-step guide to building a small federated server with the Fedify framework. It is intended for developers who want to build a federated server with the Fedify framework.

@hongminhee@fosstodon.org

We've released v0.14.0 of , the server framework, with the following key changes:

Fedify v0.14.0 is available from JSR and npm. See also the full changelog for details.

Happy !

Release Fedify 0.14.0 · dahlia/fedify

Released on August 27, 2024. Removed the limitation that the sendActivity({ handle: string }, "followers", Activity) overload is only available for RequestContext but not for Context. Now it is ...

@fedify@hollo.social · Reply to John Spurlock
Inspecting ActivityPub objects

BrowserPub

BrowserPub is a browser for debugging ActivityPub and the fediverse. You can punch in any ActivityPub discoverable web URL or fediverse handle, and it will discover and display the underlying ActivityPub.

For example:

• hollo.social/@fedify
• @hongminhee@fosstodon.org

If you want to know further details about BrowserPub, read the creator's Mastodon thread.

fedify lookup command

Fedify provides a CLI toolchain for testing and debugging. The fedify lookup command is a simple tool for looking up an ActivityPub object by its URL or fediverse handle.
ALT text

Inspecting ActivityPub objects BrowserPub BrowserPub is a browser for debugging ActivityPub and the fediverse. You can punch in any ActivityPub discoverable web URL or fediverse handle, and it will discover and display the underlying ActivityPub. For example: • hollo.social/@fedify • @hongminhee@fosstodon.org If you want to know further details about BrowserPub, read the creator's Mastodon thread. fedify lookup command Fedify provides a CLI toolchain for testing and debugging. The fedify lookup command is a simple tool for looking up an ActivityPub object by its URL or fediverse handle.

@fedify@hollo.social · Reply to John Spurlock
Inspecting ActivityPub objects

BrowserPub

BrowserPub is a browser for debugging ActivityPub and the fediverse. You can punch in any ActivityPub discoverable web URL or fediverse handle, and it will discover and display the underlying ActivityPub.

For example:

• hollo.social/@fedify
• @hongminhee@fosstodon.org

If you want to know further details about BrowserPub, read the creator's Mastodon thread.

fedify lookup command

Fedify provides a CLI toolchain for testing and debugging. The fedify lookup command is a simple tool for looking up an ActivityPub object by its URL or fediverse handle.
ALT text

Inspecting ActivityPub objects BrowserPub BrowserPub is a browser for debugging ActivityPub and the fediverse. You can punch in any ActivityPub discoverable web URL or fediverse handle, and it will discover and display the underlying ActivityPub. For example: • hollo.social/@fedify • @hongminhee@fosstodon.org If you want to know further details about BrowserPub, read the creator's Mastodon thread. fedify lookup command Fedify provides a CLI toolchain for testing and debugging. The fedify lookup command is a simple tool for looking up an ActivityPub object by its URL or fediverse handle.

@hongminhee@fosstodon.org · Reply to 洪 民憙 (Hong Minhee)

I'm sharing a prototype of written in , codenamed “FediKit.” Many of the ideas for Fedify were already implemented in this prototype, albeit in a different language.

github.com/dahlia/fedikit

github.com

GitHub - dahlia/fedikit: A prototype of Fedify written in Python (codenamed FediKit)

A prototype of Fedify written in Python (codenamed FediKit) - dahlia/fedikit

@cybertailor @oleg_ru

Касаясь систем управления контентом с поддержкой , хотелось бы отметить и библиотеку для построения собственного федеративного сервера @fedify. Отлично подходит, когда "все эти ваши вордпрессы мне нафиг не сдались". :blobcatmeltthumbsup:

@hongminhee@fosstodon.org

For educational purpose, I've created a federated microblog example using , with a total of about 30 commits, which you can follow step by step.

Now, I'm starting to write a hands-on Fedify tutorial based on this example code. I'll make it public when I'm done!

github.com/dahlia/microblog

github.com

GitHub - dahlia/microblog: A simple federated microblog example using Fedify for educational purpose

A simple federated microblog example using Fedify for educational purpose - dahlia/microblog