Nostr-ActivityPubブリッジサービスMostr

Protocol/Nostr
概要

分散SNSプロトコルNostrとiOSアプリDamus | GNU social JP」で、以前分散SNSプロトコルのNostrを紹介しました。ActivityPubとNostrのブリッジソフト・サービスが登場したので紹介します。ブリッジを使うことで、NostrとActivityPubの異なるプロトコル間でユーザーが交流可能になります。

2023-02-27の以下の投稿で告知されていました。

avatar

Good evening, I’ve just deployed the first beta version of Mostr: a bridge between Nostr and the Fediverse.

More info here: https://soapbox.pub/blog/mostr-fediverse-nostr-bridge/

Source code: https://gitlab.com/soapbox-pub/mostr

The bridge is an ActivityPub server and Nostr client, written from the ground up in TypeScript with Deno. It generates RSA keypairs and pubkeys deterministically by combining the username with a SECRET_KEY. Sqlite is needed to store a reverse-lookup of Nostr to AP IDs, but otherwise it mostly works off the Web Cache API and the Nostr relay. I wrote nearly everything and gained lots of knowledge about cryptography.

Enjoy.

Soapbox/Rebasedの著者のAlex Gleasonが著者で、Soapboxの公式ブログ「Introducing Mostr: a Fediverse Nostr bridge | Soapbox」でも告知されていました。再世のβ版だったそうです。

Mostrがソフトウェア名で、mostr.pub (https://mostr.pub/) が稼働サービスのようです。FOSSなので自分で設置も可能です。ソースコードは「Soapbox / Mostr · GitLab」でTypeScriptで実装されているようです。

Deno+TypeScriptを使用したActivityPubサーバーとNostrクライアントになっているようです。開発を通じて暗号化の知識を習得したそうです。ActivityPubと異なり、ドメインブロックがないことと、実装が簡単なのが特徴で、分散SNSとして急拡大する可能性があると判断して、まずブリッジを作ったそうです。

以下の投稿で私は認知しました。

2023-02-11の「Configure vscode for deno, add hello world route with hono (636ab057) · Commits · Soapbox / Mostr · GitLab」が第一コミットでした。Nostrが話題になってすぐ着手したようで、約2週間でのリリースでした。

方法

Nostrから利用するには以下の手順で行います。

  1. [wss://relay.mostr.pub] のリレーに登録。
  2. [alex_at_gleasonator.com@mostr.pub] 形式のNIP-05でユーザー検索 (ActivityPubのリモートフォロー時の@が_at_に置換され末尾が@mostr.pub)。

ActivityPubからブリッジ参加Nostrユーザーは [https://mostr.pub/users/<pubkey>] 形式でアクセス可能 (リモートフォローは <pubkey>@mostr.pub) です。

Mostrはシンプルな機能になっていて、WebからNostrユーザーのタイムラインを見ることなどはできず、フォローする必要があるようです。

結論

Nostr-ActivityPubのブリッジソフトMostrとそのサービスのmostr.pubでした。

話題になってから2週間程度で動作するものを実装するのはすごいなと思いました。今後、バグ修正や絵文字リアクションの追加、MastodonクライアントをNostrで動作などを予定しているそうです。

Nostrのお試しフォローユーザーに困っている場合、Twitterの共同創業者のJack (https://mostr.pub/users/82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2) を推奨しておきます (gnusocial.jpのリモートユーザー)。彼はNostrを気に入っているようで、Twitterよりもこちらでよく投稿しているようです。

私の個人アカウント [npub1j9n8q3hapxuaj0arywnm50hrgcuaa6sx05fnppyfrfr45mmg3mdqr9jt42] でmostr.pubを試そうとしましたが、coracle.socialが異様に遅くてまともに動作しなかったので断念しました。

個人的にNostrは、結局同じリレーを最低1個使う必要があり、相手にリレーを教える必要があったり、データ保持の問題などがあり、いまいちに思っています。が、他のプロトコルと連携できるのは興味深く、シンプルな実装の用途次第で化ける可能性があるので、動向を見守ります。

コメント

Copied title and URL