海辺にて

備忘録

No.24

ActivityPubとBluesky(AT protocol)を繋ぐBridgy Fed が試験的に使えるようになったみたいなので現時点(2024/5/5)でのメモ。現在はベータ版であることに注意!
24/6/15時点の状況を追記

公式ドキュメント(英語): https://fed.brid.gy/docs も確認してね。
自分はActivityPubを使いたいけど公式系アカウントやXのフォロワーはBlueskyに流れそう…面倒だからActivityPubアカウントからフォローさせてくれないかな~~と思っているので、Bridgy Fedは以前から気になっていたプロジェクトだった。ブリッジされる投稿は完全に公開されているもののみで、Mastodonでいうところの未収載/フォロワー限定/ダイレクトといった公開範囲にしている投稿はBlueskyには流れない。逆にBlueskyは現段階では投稿範囲そのものがないので「ログアウトしたユーザーに自分のアカウントを非公開にする」設定にしていなければ、すべての投稿がActivityPubに流れる。

BlueskyからActivityPubアカウントをフォローする=ActivityPubアカウントの投稿をBlueskyに流す
やり方は以下の2ステップ。
1. ActivityPubアカウントから @bsky.brid.gy@bsky.brid.gy をフォローする
フォローするとBluesky側に[ユーザー名].[所属サーバーのドメイン].ap.brid.gyというブリッジアカウントが作成される。
のだが、一部ActivityPubサービスでは @bsky.brid.gy@bsky.brid.gy アカウントがフォローできない。自サーバー(Akkoma)もフォローできないので、この件はしばらくウォッチしようと思う。
Many fediverse servers can't discover @bsky.brid.gy@bsky.brid.gy #995

24/6/15追記 この件は修正され、Akkomaからも @bsky.brid.gy@bsky.brid.gy アカウントがフォローできた…ように見えたが、ずっとフォローが処理中になっている。Blueskyにブリッジアカウントが作成されたものの、@bsky.brid.gy@bsky.brid.gy アカウント のフォローが完了しないので投稿してもBlueskyには何も反映されない。Akkoma側でIssueが上がっていたが、原因解明までは至っていないようだ。
500 internal server error when federating Like activity from Bridgy Fed #438
あとアカウントを登録しているとあるMisskeyサーバーも @bsky.brid.gy@bsky.brid.gy アカウントのフォローが完了しない。こちらはAkkomaと違い、Blueskyにもブリッジアカウントが作成されていない。当然ながらそのサーバーの事情は分からないが、CloudflareでBot Fight Modeをオンにしている場合にフォローできないケースがあるようだ。たぶん。
Can't follow @bsky.brid.gy@bsky.brid.gy from my misskey instance #1093
===>追記終わり
2.Blueskyアカウントから1.で作成したブリッジアカウント([ユーザー名].[所属サーバーのドメイン].ap.brid.gy)をフォローする
現在はBlueskyの誰かからフォローされない限り配送が開始されないが、この仕様はそのうち変更されそう。
AP => Bluesky: don't wait for follow before sending posts #999
Blueskyから見るとすぐフォローができたように見えるが、ActivityPub側にフォロー通知が飛ぶまで配送は開始されないようだ。今はこのフォロー通知が届くまでが結構時間がかかる。自分が承認制アカウントでしか試していないだけで、フォローフリーのアカウントはすぐにフォローされるかもしれないが。

最初の配送=フォロー承認までは時間がかかるけど、以降はそこまで遅延がなくBlueskyに投稿が流れている。今のところは。Blueskyにはブリッジ前の投稿は配送されない。
以下、個人的に気になって試したこと。
・元サーバー(ActivityPub)で削除した投稿はBlueskyでも削除されるか
削除される。
・Blueskyアカウントからのアクション(リポスト、いいね、メンション)は受け取れるか
リポストやいいねの通知はActivityPubアカウントで受け取ることができるが、Bluesky→ActivityPubの配送は遅延しているためラグがある。BlueskyからのメンションはActivityPubではテキストとして扱われてしまい、通知は届かない。ただこれはブリッジ済みのBlueskyアカウントから試したので、ブリッジしてないBlueskyアカウントからのアクションがどうなるかは確認できていない。Blueskyにはアカウントをあんまり作っていないので…。
24/6/15追記 現在は遅延は解消されており、ほぼリアルタイムに通知が届く。通知が来るのはActivityPubにブリッジ済みのBlueskyアカウントからのみで、ブリッジしていない(@ap.brid.gyをフォローしていない)アカウントからのリアクションは通知されない。ブリッジ済みのBlueskyアカウントからのメンションは届くようになった。
===>追記終わり

・CWの投稿はBlueskyではどう表示されるか
警告文の一文は表示されるが、隠している部分は配送されない。
24/6/15追記 警告文も本文もどちらも配送される。つまりBlueskyでは丸見えになる。
===>追記終わり
・ハッシュタグやリンクアドレスはBlueskyではどう表示されるか
テキストとして扱われてしまうため機能しない。
24/6/15追記 これはハッシュタグとして完全の機能するようになった。と思う。
===>追記終わり

・画像は配送されるか
配送される。4枚以上の画像は表示されないようだ。
・ブリッジを止めるにはどうすればいいか
@bsky.brid.gy@bsky.brid.gy のフォローを外してもBlueskyへの配送が止まるわけではない。止めるには bsky.brid.gy をドメインブロックしなければならない。今のところはドメインブロックしてもBluesky上にはブリッジ用の [ユーザー名].[所属サーバーのドメイン].ap.brid.gy アカウントが残るのは気になる。Blueskyに配送された投稿もそのまま残る。
24/6/15追記 @bsky.brid.gy@bsky.brid.gy アカウントをブロックすることでブリッジは解除され、Blueskyにあるブリッジアカウントは消える。ただしブリッジアカウントをフォローしていたBlueskyアカウント側から見ると、フォローリストからは消えているがフォロー数は変わっていない。また、対応中ではあるが現在はブリッジ解除後に再度ブリッジをすることはできないようだ(未検証)。
How do I opt out and remove my site or account?
===>追記終わり
24/6/15追記
・300字を超える投稿はどう表示されるか
Mastodonブリッジでは「…」で本文が切られた後に、オリジナルポストへのリンクが貼られるようになった。Firefishブリッジではオリジナルポストへのリンクは貼られない。おそらくMisskeyも同じだと思う。あと長めの投稿だと文頭のほんの数文字以降は「…」で省略されてしまう。
・リンクは機能するか
Mastodonブリッジではきちんとリンクとして機能するのだが、Firefishブリッジではリンクアドレスの前後に「<」「>」が挿入されてしまい、機能しない(これもMisskeyは一緒ではないかと思う)。

CWは気になるが、Mastodonブリッジはおおむね問題なく動いているように思う。Misskey系ブリッジはまだ課題は多そう。
===>追記終わり

ActivityPubからBlueskyアカウントをフォローする=Blueskyアカウントの投稿をActivityPubに流す
こちらもやり方は大体一緒なのだが、いかんせん1時間2時間の遅延が発生するためなかなか動作確認ができていないでいる。
24/6/15追記仕様変更により、現在はほぼリアルタイムで投稿が配送されるようになった。===>追記終わり

1. Blueskyアカウントから@ap.brid.gy をフォローする
こちらもフォローすると同様にActivityPub側に@[ユーザー名]@bsky.brid.gyというブリッジアカウントが作成される。
ActivityPubアカウントから1. の @[ユーザー名]@bsky.brid.gy をフォローすればBlueskyアカウントの投稿が流れてくる。ActivityPubアカウントのブリッジとの違いは、Blueskyはブリッジする前の投稿も流れてくる。配送のたびに最新の投稿とあわせて過去の投稿が5件くらいずつ流れてくる。もしかして全部の投稿を配送するまで終わらないのか…?
24/6/15追記ActivityPubにブリッジしてから毎日ちびちびとBlueskyの過去の投稿が流れてきていたのだが、現在ではそれもなくなったのでおそらくブリッジ開始時のこの挙動も修正されたと思う。===>追記終わり
今は@ap.brid.gyアカウントをフォローしないとブリッジできないが、この仕様も今後変更がありそう。正直、このアカウントフォロー方式では公式系アカウントのブリッジは期待薄いかな…と思っていたので、自動でブリッジされるようになるとかなり嬉しい。

こちらも気になっていることを確認した。
・Blueskyで削除した投稿は配送先のActivityPubでも削除されるか
現段階では削除されない。対応が進められているようだ。
Bluesky: bridge deletes (blocked on switching from notifs to firehose) #987

24/6/15追記BlueSkyで削除した投稿はActivityPubのブリッジアカウントでもすぐに削除されるようになった。この点は「Blueskyにだけアカウントを持っているブリッジ済みの人」は確認しようがないので、削除が正常に動作するまではなかなかBlueskyユーザーにブリッジを勧めにくかったので実装されてよかった。===>追記終わり

・ActivityPubアカウントからのアクション(リポスト、いいね、絵文字リアクション、メンション)は受け取れるか
Blueskyにブリッジ済みのActivityPubアカウントからの各種アクションは通知が来る。絵文字リアクションは「いいね」に変換されて通知される。BlueskyにブリッジしていないActivityPubアカウントからのアクションはBlueskyには届かない。ActivityPubでBT/RN/RPされたBlueskyのブリッジ投稿はどのActivityPubアカウントでも見たり各種アクションをしたりはできるが、BlueskyにブリッジしていないアカウントがBlueskyのブリッジアカウント( @[ユーザー名]@bsky.brid.gy)をフォローしても投稿は配送されない。フォローして投稿を見たいならあなたもBlueskyにブリッジしてくださいね、という仕様。
・ActivityPubでブリッジ済みのBlueskyアカウントを探したい
「@bsky.brid.gy」でユーザー検索をすれば出てくる。またはBlueskyの@ap.brid.gyアカウントのフォロワー欄から探す。@ap.brid.gyアカウントをフォローしているアカウントは基本的にはブリッジされているはず。
・画像は配送されるか
私が試した限りActivityPubには本文のみ配送されて画像は表示されないが機能的には実装されているようだ(バグか何かで表示されていない?)。
ATProto -> ActivityPub images are not transmitted. #1000

24/6/15追記ALTあり/なしどちらの画像もActivityPubに配送されるようになった。===>追記終わり

・ハッシュタグやリンクアドレスはBlueskyではどう表示されるか
自分では試せていないが、Mastodonではすべてテキスト扱いになり機能しないが、Misskey系ではハッシュタグやリンクとして機能するようだ。
24/6/15追記MastodonでもMisskey系でもハッシュタグやリンクとして機能する。===>追記終わり

・ブリッジを止めるにはどうすればいいか
これも自分では試していないがドキュメントの記載を読む限り、こちらも@ap.brid.gyアカウントのフォローを外すだけでは止められず「ログアウトしたユーザーに自分のアカウントを非公開にする」設定にしないと投稿の配送を止められないようだ。ActivityPubへのブリッジは止めたいけど、ログアウトユーザーにはアカウントを表示させたい人には不便そう(そんなユーザーいるのか?)。
24/6/15追記動作未確認だが、ActivityPubと同様に@ap.brid.gyアカウントをブロックすることでブリッジを中止し、ActivityPubのブリッジアカウントも削除されるようだ。ただしブリッジを解除後に再度ブリッジをすることはできない。ActivityPubの仕様上、アカウントの再利用はできないので、一度削除したものをどう戻すのは大変そうな気がする。
How do I opt out and remove my site or account?
===>追記終わり

全体的にActivityPub→Blueskyは、BlueskyアカウントからのフォローがActivityPubに届けば、遅延なく基本的な動作はするようなのである程度の完成度にはある印象。反対にBluesky→ActivityPubはまだまだ発展途上で実用まではいかないなあという印象。
24/6/15追記MastodonやらMisskeyやらAkkomaやら対応するソフトウェアが多いActivityPubに比べて、配送する分には機能が少ないBlueskyの方が今のところ上手く動いていると思う。===>追記終わり
Blueskyは今後鍵アカ機能の実装予定はあるらしいが、現段階ではかなりオープン志向なプラットフォームであることを念頭に置いて使わないといけないなあと思う。

#BridgyFed