海辺にて

備忘録

カテゴリ「ATprotocol」に属する投稿2件]

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
Bluesky、Mastodon、Nostrに同時投稿するiOSアプリ「nootti」を使ってみた。
https://nootti.com

アカウント追加
  • Blueskyアカウントの前にMastodon アカウントを追加するとBlueskyの認証が通らない。Bluesky→Mastodonの順番で追加すること(Nostrも多分同じ)
  • Blueskyのアカウント名は「bsky.social」まで入れること(Mastodonはサーバーのドメインは不要)
  • AkkomaはMastodonとして認証が通ったがfirefishはエラーになってアカウントを追加できなかった →MastodonAPIに完全対応しているIceShrimpならもしかして通るかも?(未検証。来月、アカウントを登録しているサーバーがIceShrimpに移行予定なので試してみる予定)
  • Mastodonはデフォルトの公開範囲を設定できる

投稿
  • Mastodonは投稿時に公開範囲を変更できる
  • Blueskyへはたまに空白で投稿される

希望
  • Androidアプリも欲しい(メインで使ってる端末のため)
  • Misskeyも登録できるようになってほしい(期待薄)→しばしばAPIやらなんやら変わるようなので大変そう…

自分のActivityPubアカウントの中でBlueskyに投げたい内容をつぶやいているのがFirefishアカウントだったので、その目的を果たせなかったのは残念。Firefish要因かnootti要因かは素人には分からないので、noottiがアップデートされたらまた試す。Mastodonの投稿範囲を指定できるのはありがたかったので、とりあえず全体公開できそうな投稿をFedibirdからnootti経由で投げている。

どうしてBlueskyとMastodonに同時投稿するのかというと「Blueskyの方が人が多く同好の人の目に投稿が止まる可能性が高いかもしれないが、自分が文章を書き残すSNSとしてはMastodon系の方がいい」という微妙な気持ちのため。単純に今のところBlueskyに欲しい機能が実装されていないというのもあるし、根本的にオープン思考の設計が自分には合わなかった。鍵アカにはできないし(実装予定はあるよ勢と技術的に難しいので無理勢がいて実際のところは分からん)、やろうと思えば他人のブロックリストすら見ることができる。全てをオープンにすることで健全なSNSを目指しているのだと思うし、そういう考えもあるのは理解する。Webで全世界に発信してるのだから責任を持ての精神も分かるのだが、末期Twitterでは話題になっていること(特に炎上案件)について呟くだけで手斧は飛んでくるし、インプレッションも跳ね上がりすぎて怖かった(今は鍵アカ以外削除している)。自分には少し窮屈で、静かにひっそり暮らしたい勢にはTwitterは広く開けすぎていた。Blueskyも私にとっては広く開けすぎている。

Mastodonの投稿毎に公開範囲を指定できるところやCW機能は「この投稿は表に出してもいいけど、この話題にはあまり表立って触れないようにしよう」というのに本当に助かる。自分の考えを文字に乗せてインターネットの海に流す上で心理的な安全性が保たれる。「書き残す」という意味ではTwilog的なnotestockがあるのも助かる。現在進行形で続いているスパム荒らしについても表立ってはあまり投稿をしていない。荒らしなんて反応があるほど喜ぶものだから粛々と処すのが1番いい。
振り返るとSNSを使うのはコミュニケーションツールではなく、マイクロブログとしての用途が強いと気付く。私の場合、SNSに求めるものは「誰かの投稿を見たい」よりも「自分の思ったことを書きたい」方が比重が大きいので「人が多くて投稿の多いBluesky」よりも「書き残すために欲しい機能があるMastodon」の方がメリットを大きく感じるのかなと思う。

自分の関心のある話題に関してはFedibirdのキーワード購読や注目のハッシュタグで拾うようにしているが、Blueskyが登録開放してからはBlueskyフィードの方が投稿が見つかるようになった。自分は現在進行形で放送大学の学生なので、勉強モチベーションを保つために同窓アカウントを探しているのだが、放送大学生がMastodon/MisskeyではなくBlueskyに集まるのは何となく納得するところはある。なんか、すごくそれっぽい。クロスポストしたかったFirefishアカウントは勉強記録用アカウントなのだけど、しばらくは青い空を眺めながらFediverseの片隅で勉強を頑張ろうと思う。

(FirefishアカウントのRSSからBlueskyに投稿するのが一番簡単そうだが(リアルタイムで投稿しなくてもいい内容だし)、私の技術力では結構な勉強が必要そう)