ホームページ >ウェブフロントエンド >jsチュートリアル >ActivityPub サーバー フレームワークである Fedify が v.0 に達しました

ActivityPub サーバー フレームワークである Fedify が v.0 に達しました

Barbara Streisand
Barbara Streisandオリジナル
2024-09-26 08:16:42710ブラウズ

Fedify, an ActivityPub server framework, reached v.0

ActivityPub フレームワークである Fedify が、ついに最初の安定バージョン 1.0.0 をリリースしました!

フェディファイとは何ですか?

Fedify は、ActivityPub プロトコルに基づいたフェデレーション サーバー アプリケーションを簡単に作成できる TypeScript ライブラリです。 ActivityPub は、ソーシャル ネットワーキング サービスの相互通信を可能にするオープン標準プロトコルで、ユーザーがフェディバースと呼ばれる分散型ソーシャル ネットワーク内のさまざまなサービス間で対話できるようにします。

Fedify を使用すると、開発者は、ActivityPub プロトコル自体の複雑な詳細を実装することなく、高レベルの API を通じてフェデレーション サーバー アプリを簡単に構築できます。 Fedify は、ActivityPub オブジェクトのタイプセーフ インターフェイス、WebFinger、HTTP 署名、リンク データ署名、オブジェクト整合性証明など、ActivityPub の実装に必要な多くの機能をすぐに提供します。

さらに、Fedify には、Mastodon や Meta's Threads などの人気のある fediverse ソフトウェアとの相互運用性のための特別な処理が含まれており、開発者は既存の fediverse エコシステムと簡単に統合できるアプリケーションを作成できます。さらに、さまざまな Web フレームワークとの統合をサポートし、CLI ツールを提供することで、開発とデバッグのプロセスがさらに便利になります。

主な変更点

ハンドルという用語の廃止

このバージョンから、Fedify 全体での用語 ハンドル は、Fedify ハンドル (例: @hongminhee@fosstodon.org) を指す場合にのみ使用されます。アクターの内部固有 ID (例: b379dbdc-3b4f-4ef4-88c2-fc25632d1c22) は 識別子 と呼ばれ、WebFinger 名 (例: hongminhee) は ユーザー名.

API の

ハンドル という用語は、下位互換性のためにしばらく維持されますが、非推奨の警告がログに記録され、将来削除される予定です。

詳細については、関連ドキュメントを参照してください。

リンクされたデータの署名

Linked Data Signatures は時代遅れの標準ですが、Mastodon などの主要なフェディバース実装では依然として依存されています。

HTTP 署名とオブジェクト整合性証明に加えて、Fedify はこのバージョンからリンク データ署名をサポートするようになり、フェディバースで使用されるすべてのタイプの署名メソッドをサポートします。これにより、Fedify は最高の相互運用性を備えた ActivityPub 実装になります。

ただし、Fedify ユーザーは、Linked Data Signatures を使用するために特別なことを行う必要はありません。受信アクティビティにリンク データ署名がある場合、その署名は自動的に検証され、すべての発信アクティビティには HTTP 署名、リンク データ署名、オブジェクト整合性証明の 3 つの形式の署名が含まれます。

詳細については、関連ドキュメントを参照してください。

アクティビティの転送

このバージョンからは、InboxContext.forwardActivity() メソッドを使用して、受信トレイで受信したアクティビティを他のアクターに転送できます。

一見すると、受信トレイで受信したアクティビティを Context.sendActivity() メソッドを使用して再送信できると思うかもしれません。ただし、これを行うと、アクティビティが受信トレイに配信される前に元の署名が削除され、送信時に代わりに転送アクターの署名が添付されるため、転送されたアクティビティの受信側がその署名を信頼できなくなります。

一方、InboxContext.forwardActivity() メソッドを使用すると、アクティビティは元の署名が保存された状態で転送されるため、この問題は回避されます。 (もちろん、元のアクティビティ自体は、リンクされたデータ署名またはオブジェクト整合性証明で署名されている必要があります。)

詳細については、関連ドキュメントを参照してください。

fedify 受信トレイの終了時に削除(アプリケーション)を送信します

このバージョンから、fedify inbox は、終了時に遭遇したすべてのピアサーバーに Delete(Application) アクティビティを送信します。これは通常、アカウントの削除時に送信されるアクティビティであり、一時的なアクターに関連する残留データが他のサーバーに残らないようにするのに役立ちます。

PostgreSQL ドライバー

KvStore および MessageQueue インターフェイス用の PostgreSQL ドライバーを実装する @fedify/postgres パッケージが、このバージョンとともにリリースされました。

PostgreSQL ドライバーは、運用環境で十分に使用できるバックエンドであり、既に PostgreSQL を使用しているプロジェクトに特に推奨されます。

さらに、PostgreSQL ドライバーを選択するオプションが fedify init コマンドに追加されました。

Fedify 1.0.0 を祝う

バージョン 1.0.0 のリリースにより、Fedify は API の下位互換性を可能な限り維持するようになりました。 (もちろん、長期的には、下位互換性が失われる 2.0.0 が登場する可能性があります。) これまで安定バージョンがなかったために Fedify の使用を躊躇していた人にとっては朗報でしょう!

Fedify 1.0.0 が JSR および npm で利用可能になりました:

deno add jsr:@fedify/fedify
npm  add     @fedify/fedify

それでは、今後さらに多くのサービスが ActivityPub をサポートすることを願って、この投稿を締めくくります!

以上がActivityPub サーバー フレームワークである Fedify が v.0 に達しましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。