投稿の公開範囲

ActivityPubでは、Fediverseに投稿するNoteの公開範囲を設定することができます。

私家版ActivityPub日本語訳

まずは投稿が流れるタイムラインの種類。タイムラインはすべて時系列で流れています。

  • ホーム
    自分がフォローしているユーザー(サーバーは問わない)の投稿が流れるタイムライン
    「自分で作る、自分のタイムライン」
  • ローカル
    自分が登録参加しているサーバーのユーザーの投稿(自分も含めて)が流れるタイムライン
    「サーバーの特徴、文化・風習がわかる、サーバーのタイムライン」
  • 連合
    自分が登録参加しているサーバーのユーザーの投稿、同じサーバーのユーザーがフォローしている他サーバーのユーザーの投稿やAnnounce(ブースト)された他サーバーの投稿など、繋がっているすべてのユーザーの投稿が流れるタイムライン
    「なんでもあり、ごった煮のタイムライン」

公開範囲は以下の4パターン

全公開 誰でも見ることができる連合、ローカル、ホームすべてのタイムラインに流れる
未収載 誰でも見ることができるホームタイムラインに流れる
フォロワー限定 フォロワーだけが見ることができるホームタイムラインに流れる
ダイレクト(DM) 指定したユーザーだけが見ることができる-

以上の公開範囲は、Activityの宛先「to」「cc」に指定することで設定することができます。
たとえば以下


  "to": [
      "https://www.w3.org/ns/activitystreams#Public"
  ],
  "cc": [
      "https://tokoroten.doncha.net/t2aki/followers"
  ],
	

メールと同じようなものです。「to」はメインの宛先だし、「cc」はメインの宛先以外にも送りたい宛先、みたいな感じ。
この組み合わせで公開範囲をコントロールします。

  • https://www.w3.org/ns/activitystreams#Public というのは全公開の「キーワード」というか呪文
  • https://tokoroten.doncha.net/t2aki/followers というのは自分のフォロワーさんに配送してくださいという呪文

「to」と「cc」で指定する公開範囲
「Public」は「https://www.w3.org/ns/activitystreams#Public」
「followers」は「YOURDOMAIN/USERNAME/followers」

 tocc
全公開 Publicfollowers
未収載 followersPublic
フォロワー限定 followers-
ダイレクト(DM) 指定したユーザーのinbox-

「ダイレクト」の指定したユーザーのinboxとは
webfingerから取得するユーザーアカウント情報(Type:personのJSON)に記載されているURLです。


  "inbox": "https://YOUR-DOMAIN/USER-NAME/inbox"
	

(ユーザーアカウント情報のJSONの例はこちら「Fediverseに参加するための最低条件1」にあります)

サーバーによってはもっと細かくコントロールできるところもありますが、 現状、ActivityPubで決められている仕様では以上の4つだろうと思います。

「未収載」という「全公開ではない、微妙に控えめな公開」というのがActivityPubというかFediverseの面白い公開範囲でしょうか。

未収載もフォロワー限定もフォロワーのホームタイムラインに自分の投稿が流れるんだけど。
・未収載は、自分をフォローしていないユーザーがフォロワーのホームに流れている自分の投稿を見ることができる。
・フォロワー限定は、自分をフォローしていないユーザーがフォロワーのホームを見ても自分の投稿は見えない。

[2025-02-07 19:34:08] v1.0.0

Menu