記事: Threadsによるドメインブロックとその対策

centralized/Meta/Threads
概要

前回: 記事: Threadsの第一印象は安定・安全・推薦 | GNU social JP Web公式: 5日で1億人の急成長を支えたアプリのコアとなるThreadsのインフラ構成 | GNU social JP Web

役務: Threadsの被ドメインブロック一覧サイトfedipact.veganism.social | GNU social JP Web」で先日Threadsの被ドメインブロックについて紹介しました。今回は、Threadsによるドメインブロックとその対策について、Alex Gleasonが投稿していたので紹介します。内容からして、重要なものに感じます。

2023-12-25 Monに「Threads is blocking servers on the Fediverse. Here’s how we unblocked ourselves. | Soapbox」と以下の投稿群で発表されました。

Threads is blocking servers on the Fediverse. Here’s how we unblocked ourselves. | Hacker News」でも話題だったようです。

内容としては、Threadsが連合開始直後から5のサーバーをドメインブロックしていることが判明。Alex Gleason管轄のMostrとRebasedは対策を取り込み、現在は連合。Pleromaにも近日取り込み予定とのこと。

機能: ThreadsのEU対応、ActivityPub対応のテスト開始、Webアプリの絵文字検索、ファクトチェック予告 | GNU social JP Web」のThreadsのActivityPub対応直後に本人が騒いでいたのを覚えており、それを記事にまとめてくれた形です。

Threads is blocking servers on the Fediverse. Here’s how we unblocked ourselves.

先日ThreadsがActivityPubのテストを開始しました。しかし、いくつかのサーバーを既にブロック (ドメインブロック) していることを発見しました。

少なくとも以下の5のサーバーがThreadsにブロックされていました。

  • mostr.pub: Nostrとのブリッジサーバー。実質的にNostr全体のブロック。
  • spinster.xyz: Soapbox上の最大のフェミニストサーバー。おそらくオンラインで最大のフェミニストコミュニティー。
  • neenster.org: アニメーターのNina Paleyの専用サーバー。spinster.xyzの個人アカウントにより思想の排除。
  • poa.st: くそ投稿コミュニティー。Soapboxの最大サーバー。Metaの利用規約に反している。
  • mitra.social: RustのActivityPub実装Mitraの公式サーバー。Ethereum/Moneroが統合されている。

上記のドメインからThreadsの投稿にフェッチができません。Threads側に問い合わせたが、返事がありません。意図的にブロックしているかどうかがわからない。おそらく、Threads側のバグだと考えています。理由は、別のドメインからのリクエストに署名することで、対応できたからです。

Fighting back

Configuring the Service Actor domain on Rebased ($3634512) · Snippets · Soapbox / Rebased · GitLab」のパッチをRebasedのサーバーに適用して、リクエストへの署名用の別のドメインを用意することで、Threadsのフォローが可能になります。

Threadsでは、MastodonがAuthorized fetchと呼ぶ機能を採用しています。これは存在していたものの、公式には制定されていませんでした。

Authorized fetchは2019年に「Add ActivityPub secure mode by Gargron · Pull Request #11269 · mastodon/mastodon · GitHub」でMastodonに導入されました。理論的には、他のサイトでブロックされているユーザーがあなたの投稿を閲覧不能にできます。また、ブロックされたサーバー全体が投稿を閲覧で聞くできる可能性があります。

ActivityPubは基本的にオープンなので、回避方法はもちろんあります。いくつかは非常に簡単です。新しいドメインを作成して、そのドメインでデータを取得して元のドメインにデータを転送できます。

パッチの内容はまさにこれです。サーバー管理者が、リクエスト署名用の別のドメインを設定できます。ドメインがブロックされても、別のドメインに簡単に切替可能です。

私としては、Metaの思い通りにさせるつもりはなく、彼らの公開データを今後も無料で全員に公開されるようにするつもりです。ただし、Metaがブロックリストを公開する場合、この対策を解除します。

Authorized fetchの回避ツールは、新しいソフトに同梱済みです。Metaによる検閲が、分散SNSの継続的な成長に必要と考えるからです。

How to tell if your server is blocked

Threadsからのブロックは、サーバー管理者の場合@mosseriのアカウントにアクセス後、サーバーログにfacebookexternaluaのユーザーエージェントのログがあるからで確認可能です。

grep facebookexternalua /var/log/nginx/access.log

facebookexternaluaからのリクエストがあるのに、Threadsのプロフィールを閲覧できない場合、自分のサーバーのバグの可能性があります。

facebookexternaluaからのリクエストがない場合、ブロックされている可能性があります。

というのも、Authorized fetchは2段階プロセスだからです。まずThreadsへのデータのリクエスト時に自分を識別します。次に、Threadsはfacebookexternaluaユーザーエージェントを使用してサーバーにリクエストを送信し、あなたのサーバーを検証します。サーバーがブロックされていたら、リクエストがされません。

Mastodonでは、Fediblockなどの巨大なブロックリストを使用して、サーバーをブロックすることが非常に一般的です。これはネットワークの断絶を生むため大問題です。

人々はThreadsの動向を疑問に思っています。

Threadsは3300万人に日間アクティブユーザーを抱えているとの報告があります。ある推定ではActivityPubの分散SNS全体の月間アクティブユーザー数は120万人とあります。3300万人を個別モデレートできるなら、3400万人の個別モデレートも余裕でしょう。

したがって、不正な動作がない限り、Threadsはドメインブロックすべきではないと私は主張します。サーバー単位ではなく、ユーザー単位でモデレートすべきです。そうしない場合、あまりに政治的でオープンな性質に反しており、Threadsの怠慢としかいいようがないです。

現状、Threads関係者はまともだと思っており、正しいことをすると願っています。

ActivityPubの検閲は、Nostrの必要性を浮き彫りにしています。Nostrへの闘志が息づいており、良い未来に向けて構築を続けています。今後のプロジェクトのDittoでは、Nostrユーザーが様々なドメインでActivityPubにアクセスできるようになり、ドメインブロックが困難になります。

結論

Threadsによるドメインブロックととその対策でした。

ドメインブロックの対策として、他のドメイン経由というのは私もアイデアとしては思い浮かんでいて、Misskey.ioなどからのドメインブロック対策でどこかでGNU socialにも機能を入れたいとは思っていました。Alex Gleasonが先にやってくれたので、こちらの修正を真似すればよさそうです。

ドメインブロックはあまり好ましくありません。が、ブロック対象が軒並み右派系で左派寄りのThreadsに露骨な対応でした。左派からすればブロックは順当には思いました。

機能: ThreadsのEU対応、ActivityPub対応のテスト開始、Webアプリの絵文字検索、ファクトチェック予告 | GNU social JP Web」でも触れた通り、ThreadsがActivityPubに参加すれば、ほぼ確実に何らかの問題が起こるだろうとは予想していました。まずは、ドメインブロックで最初の問題です。

いろいろ賛否はあるものの、分散SNSの成長には欠かすことのできない存在だろうというのはたぶんその通りです。好き勝手にされないように、今回のように注意深く見守り、いざというときには受け身を取れるようにしておくとよさそうです。

資料

分類して整理するのが手間なので、今回の記事作成の元となった、ブロック発覚とその対策・適用の投稿群を以下にまとめて掲載します。けっこう文量が多いので会員限定のおまけです。

残り42614文字。続きはGold/Silver会員限定。

Free=0/Bronze=220/Silver=1100/Gold=1980円。

会員登録 (About Member)

Comments

Ads Blocker Image Powered by Code Help Pro

広告ブロッカー検知/Ads Blocker Detected

このサイトは会費と広告で運営されています。[Bronze=月220円以上に登録] するか、広告ブロッカーを無効にしてください。

This site is operated by membership and advertise. Please [register at least Bronze=220 JPY/month], or disable ads blocker.

Copied title and URL