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 のハンドル という用語は、下位互換性のためにしばらく維持されますが、非推奨の警告がログに記録され、将来削除される予定です。
詳細については、関連ドキュメントを参照してください。リンクされたデータの署名
HTTP 署名とオブジェクト整合性証明に加えて、Fedify はこのバージョンからリンク データ署名をサポートするようになり、フェディバースで使用されるすべてのタイプの署名メソッドをサポートします。これにより、Fedify は最高の相互運用性を備えた ActivityPub 実装になります。
ただし、Fedify ユーザーは、Linked Data Signatures を使用するために特別なことを行う必要はありません。受信アクティビティにリンク データ署名がある場合、その署名は自動的に検証され、すべての発信アクティビティには HTTP 署名、リンク データ署名、オブジェクト整合性証明の 3 つの形式の署名が含まれます。
詳細については、関連ドキュメントを参照してください。
アクティビティの転送
一見すると、受信トレイで受信したアクティビティを Context.sendActivity() メソッドを使用して再送信できると思うかもしれません。ただし、これを行うと、アクティビティが受信トレイに配信される前に元の署名が削除され、送信時に代わりに転送アクターの署名が添付されるため、転送されたアクティビティの受信側がその署名を信頼できなくなります。
一方、InboxContext.forwardActivity() メソッドを使用すると、アクティビティは元の署名が保存された状態で転送されるため、この問題は回避されます。 (もちろん、元のアクティビティ自体は、リンクされたデータ署名またはオブジェクト整合性証明で署名されている必要があります。)
詳細については、関連ドキュメントを参照してください。
fedify 受信トレイの終了時に削除(アプリケーション)を送信します
PostgreSQL ドライバー
PostgreSQL ドライバーは、運用環境で十分に使用できるバックエンドであり、既に PostgreSQL を使用しているプロジェクトに特に推奨されます。
さらに、PostgreSQL ドライバーを選択するオプションが fedify init コマンドに追加されました。
バージョン 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 サイトの他の関連記事を参照してください。