「AT Protocol」の版間の差分

提供:GNU social JP Wiki
(Bluesky PBC)
(同じ利用者による、間の9版が非表示)
1行目: 1行目:
== About ==
== ATP ==
 
=== About ===
AT ProtocolはBluesky PBCが開発・保守している分散SNSのための通信プロトコル。
AT ProtocolはBluesky PBCが開発・保守している分散SNSのための通信プロトコル。


== Link ==
=== Link ===
 
* [https://atproto.com/ The AT Protocol]
* [https://atproto.com/ The AT Protocol]
* [https://github.com/bluesky-social/atproto bluesky-social/atproto: Social networking technology created by Bluesky]
* [https://github.com/bluesky-social/atproto bluesky-social/atproto: Social networking technology created by Bluesky]
* [https://github.com/bluesky-social/pds bluesky-social/pds: Bluesky PDS (Personal Data Server) container image, compose file, and documentation]
* [https://www.pfrazee.com/ Paul's Dev Notes]
* [https://www.pfrazee.com/ Paul's Dev Notes]
* [https://github.com/bluesky-social bluesky-social]
* [https://github.com/bluesky-social bluesky-social]
* [https://bsky.app/profile/atproto.com AT Protocol Developers (@atproto.com) — Bluesky]
* [https://bsky.app/profile/atproto.com AT Protocol Developers (@atproto.com) — Bluesky]
=== Account ===
{| class="wikitable" style="vertical-align:middle;"
|-
!name
!Bluesky
!X/Twitter
|-
|Rose 🌹
|[https://bsky.app/profile/did:plc:qjeavhlw222ppsre4rscd3n2 X]
|[ X]
|-
|Emily Liu
|[https://bsky.app/profile/did:plc:vjug55kidv6sye7ykr5faxxn X]
|[https://twitter.com/_emilyliu_ X]
|-
|Bluesky
|[https://bsky.app/profile/did:plc:z72i7hdynmk6r22z27h6tvur X]
|[https://twitter.com/bluesky X]
|-
|Jay Graber
|[https://bsky.app/profile/did:plc:oky5czdrnfjpqslsw2a5iclo X]
| [https://twitter.com/arcalinea X]
|-
|AT Protocol
|[https://bsky.app/profile/did:plc:ewvi7nxzyoun6zhxrhs64oiz X]
|[https://twitter.com/at_protocol X]
|}


== Bluesky ==
== Bluesky ==
18行目: 48行目:


2024-02-06 Tueに一般登録を開始した ([https://web.gnusocial.jp/post/2024/02/08/10120/ 報道: Blueskyの招待制廃止・一般登録受付開始と月末の連合対応の初期版公開予告 | GNU social JP Web])。
2024-02-06 Tueに一般登録を開始した ([https://web.gnusocial.jp/post/2024/02/08/10120/ 報道: Blueskyの招待制廃止・一般登録受付開始と月末の連合対応の初期版公開予告 | GNU social JP Web])。
2024-02-22 Thuに連合機能を開始した ([https://web.gnusocial.jp/post/2024/02/24/10334/ 報道: Blueskyの連合開始はATP/Blueskyの分散SNSの始まり | GNU social JP Web])。ただし、連合にはDiscordでの申請が必要だったり、レートやアカウント制限があり、アカウント移転もIDが破壊的など、かなり制限がある状態での初回開始となる。
=== Account ===
* [https://bsky.app/profile/did:plc:z72i7hdynmk6r22z27h6tvur Bluesky (@bsky.app) — Bluesky]
* [https://bsky.app/profile/safety.bsky.app Bluesky Safety (@safety.bsky.app) — Bluesky]
=== Federation ===
「[https://web.gnusocial.jp/post/2023/05/10/6787/ 公式: Blueskyの連合機能の概要 | GNU social JP Web]」にあるように、2023-05-05に連合機能の大まかな説明が最初にされた。
* PDS (Personal Data Server): 個人のデータが保存されているサーバー。ActivityPubでのサーバーに相当。
* BGS (Big Graph Service): ATPは基本的にプル型の通信形態。ネットワーク上のデータをクロールして個別のPDSにデータを配信する。リレーサーバー相当。
* App View: BGSの下流に存在し、BGSなどのネットワーク上のデータを集約してPDSなどから参照可能なフィード類のビューを提供する。
ATP/Blueskyでの連合は基本的に上記の異なる役割が点在する形となる。基本は、ActivityPubのサーバー相当のPDSをそれぞれが運営して、PDSに人々がアカウントを登録する形になる。
連合開始前は、Bluesky PDSが単独で存在する状態となる。
=== ToS ===
Blueskyの利用規約 (Term of Service=ToS) は以下で紹介した。
* [https://web.gnusocial.jp/post/2023/07/01/7386/ 公式: Bluesky Socialの利用規約とコミュニティーガイドラインの改定予告 | GNU social JP Web]
* [https://web.gnusocial.jp/post/2024/02/12/10157/ 報道: Blueskyの一般登録開始に伴う利用規約更新 | GNU social JP Web]
一般的なSNSの利用規約になっている。が、ATP/Blueskyの運営陣は欧米の白人で左派的な傾向があるので、それらの文化に準じた規則になっている模様。具体的には、ロリエエロ関係の表現は厳しく、黒人差別関係の話題も厳しい ([https://web.gnusocial.jp/post/2023/10/22/9005/ 記事: Blueskyでの黒人差別騒動 | GNU social JP Web])。
=== Problem ===
Bluesky関係で過去に以下のような騒動があった。
* [https://web.gnusocial.jp/post/2023/04/14/5875/ BlueskyでのMastodon著者Eugen Rochkoの偽アカウントの登場 | GNU social JP Web]
* [https://web.gnusocial.jp/post/2023/10/22/9005/ 記事: Blueskyでの黒人差別騒動 | GNU social JP Web]


=== Link ===
=== Link ===
27行目: 89行目:
* [https://github.com/bluesky-social/social-app bluesky-social/social-app: The Bluesky Social application for Web, iOS, and Android]
* [https://github.com/bluesky-social/social-app bluesky-social/social-app: The Bluesky Social application for Web, iOS, and Android]
* [https://bsky.app/profile/martin.kleppmann.com Martin Kleppmann (@martin.kleppmann.com) — Bluesky]: Blueskyの技術顧問 (https://bsky.app/profile/bsky.app/post/3kkqwoy7jfc2u<nowiki/>)。
* [https://bsky.app/profile/martin.kleppmann.com Martin Kleppmann (@martin.kleppmann.com) — Bluesky]: Blueskyの技術顧問 (https://bsky.app/profile/bsky.app/post/3kkqwoy7jfc2u<nowiki/>)。
=== Bluesky PBC ===
* [https://web.gnusocial.jp/post/2024/03/02/10420/ 報道: Bluesky PBCのモデレーション責任者への元Twitterのモデレーション共同責任者Aaron Rodericksの就任発表 | GNU social JP Web]
=== API ===
==== Post ====
<html>
<blockquote xmlns="http://www.w3.org/1999/xhtml" style="background:rgb(99,100,255);background-image:linear-gradient(hsla(0,0%,100%,0.5),hsla(0,0%,100%,0.5))"><article><header style="display:flex;line-height:1.5"><img xmlns="http://www.w3.org/1999/xhtml" referrerpolicy="no-referrer" alt="avatar" src="//files.mastodon.social/accounts/avatars/000/499/471/original/45859ab4954ff83f.png" style="height:4.5em" /><div><div><a href="https://mastodon.social/@antungame/111911610974278904">2024-02-11T07:14:25.502Z</a></div><div>Antun|<a href="https://mastodon.social/@antungame">antungame@mastodon.social</a></div></div></header><main><p>BlueSkyで最小限の手間で自動投稿までメモ。<br />1. アカウントを作成<br />2. 自分の設定の「ハンドルを変更」→「自分のドメインを持っています」でDID(did:plc:ほにゃらら)を取得<br />3. ブラウザのコンソールとかでトークン取得(良い方法見つからなかった)<br />4. curl -X POST '<a href="https://bsky.social/xrpc/com.atproto.repo.createRecord" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">bsky.social/xrpc/com.atproto.r</span><span class="invisible">epo.createRecord</span></a>' -H 'Content-Type: application/json' -H 'Authorization: Bearer アクセストークン' -d '{ "repo": "did:plc:ほにゃらら", "collection": "app.bsky.feed.post", "record": { "text": "Hello", "createdAt": "'`date +%Y-%m-%dT%H:%M:%SZ`'" } }'</p></main></article></blockquote>
<blockquote xmlns="http://www.w3.org/1999/xhtml" style="background:rgb(99,100,255);background-image:linear-gradient(hsla(0,0%,100%,0.5),hsla(0,0%,100%,0.5))"><article><header style="display:flex;line-height:1.5"><img xmlns="http://www.w3.org/1999/xhtml" referrerpolicy="no-referrer" alt="avatar" src="//files.mastodon.social/accounts/avatars/000/499/471/original/45859ab4954ff83f.png" style="height:4.5em" /><div><div><a href="https://mastodon.social/@antungame/111911633408245604">2024-02-11T07:20:07.815Z</a></div><div>Antun|<a href="https://mastodon.social/@antungame">antungame@mastodon.social</a></div><div><a href="https://mastodon.social/@antungame/111911610974278904">replying to</a>
          Antun|<a href="https://mastodon.social/@antungame">antungame@mastodon.social</a></div></div></header><main><p>DIDは <a href="https://bsky.social/xrpc/com.atproto.identity.resolveHandle?handle=自分のアカウント名" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">bsky.social/xrpc/com.atproto.i</span><span class="invisible">dentity.resolveHandle?handle=自分のアカウント名</span></a> で見た方が楽かも。</p><p>createdAtはミリ秒まで渡した方が良いし、トークンはいつまで使い回せるか分からないのでちゃんとAPI(<a href="https://bsky.social/xrpc/com.atproto.server.createSession" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">bsky.social/xrpc/com.atproto.s</span><span class="invisible">erver.createSession</span></a>)を叩いて取って来た方が良い。</p><p>ただこれでざっとした流れが分かるし、何で検索したら良いか分かるのでそのためのメモです。</p></main></article></blockquote>
</html>
=== Service ===
==== Linkage ====
* [https://web.gnusocial.jp/post/2023/05/11/6793/ Mastodon-Blueskyの連携ブリッジサービスSkyBridgeの開発開始 | GNU social JP Web]
* [https://web.gnusocial.jp/post/2023/06/03/7078/ Mastodon-Bluesky API連携サービスSkyBridgeの稼働開始 | GNU social JP Web]
* [https://web.gnusocial.jp/post/2023/10/11/8808/ 役務: Bridgy FedのAT Protocol対応の状況 (プロフィールの相互連携成功) | GNU social JP Web]
* [https://web.gnusocial.jp/post/2024/02/27/10313/ 役務: ActivityPub-ATP/BlueskyブリッジサービスBridgy Fedのオプトアウトポリシーの物議とEugen Rochkoの見解 | GNU social JP Web]
==== Feed ====
* [https://web.gnusocial.jp/post/2023/06/04/7081/ Blueskyの閲覧・フィード購読サービスFiresky | GNU social JP Web]
* [https://web.gnusocial.jp/post/2023/06/23/7273/ 役務: BlueskyのカスタムフィードのノーコードツールContrails | GNU social JP Web]
* [https://web.gnusocial.jp/post/2023/10/24/9033/ 役務: ATP/Blueskyの投稿の非ログイン状態での閲覧共有サービスSkyview | GNU social JP Web]
* [https://web.gnusocial.jp/post/2024/01/19/9896/ 機能: BlueskyでアカウントRSSフィードの提供開始 | GNU social JP Web]
* [https://web.gnusocial.jp/post/2024/02/19/10232/ 役務: ATP/Blueskyの新しいカスタムフィードSkygaze For You | GNU social JP Web]
==== Post ====
* [https://web.gnusocial.jp/post/2023/10/27/9047/ 役務: X/TwitterとATP/Blueskyの同時投稿Chrome拡張機能FlyFree | GNU social JP Web]
* [https://web.gnusocial.jp/post/2024/02/21/10211/ 役務: Blueskyへの自動投稿WordPressプラグインNeZnam ATProto Share | GNU social JP Web]
* [https://web.gnusocial.jp/post/2024/03/05/10396/ 役務: Blueskyへの画像付き同時投稿WordPressプラグイン不動産BlueskyPostOldPostプラグイン(無料) Beta | GNU social JP Web]
==== Media ====
* [https://web.gnusocial.jp/post/2023/06/05/7090/ Blueskyの情報サイトBluesky Community Hub/週報サイトBeyond the Blue | GNU social JP Web]
* [https://web.gnusocial.jp/post/2023/06/24/7275/ 役務: Blueskyでのサブドメイン・所属明示ツールBluesky Community Handles tool | GNU social JP Web]
* [https://web.gnusocial.jp/post/2023/07/27/7627/ 役務: Blueskyの週報サイトBeyond the Blueの更新停止 | GNU social JP Web]
* [https://web.gnusocial.jp/post/2024/02/17/10150/ 役務: Blueskyで使用中のハンドルのTLD別統計サイトBluesky handles directory | GNU social JP Web]
* [https://web.gnusocial.jp/post/2024/03/03/10385/ 役務: Blueskyの統計サイトbsky chartsはBlueskyのネットワークの変化把握に有用 | GNU social JP Web]
* [https://web.gnusocial.jp/post/2024/03/04/10393/ 役務: Bluesky初期から存在するソーシャルグラフ/返信ツリー/統計/アカウント探索/一括削除ツールjaz.bsky.socialはヘビーユーザーに重宝? | GNU social JP Web]

2024年3月1日 (金) 23:50時点における版

ATP

About

AT ProtocolはBluesky PBCが開発・保守している分散SNSのための通信プロトコル。

Link

Account

name Bluesky X/Twitter
Rose 🌹 X [ X]
Emily Liu X X
Bluesky X X
Jay Graber X X
AT Protocol X X

Bluesky

About

AT Protocolを実装した最初の実装とそのサーバー。

2023年2月末にプラベートβ版として招待制で始まる。

2024-02-06 Tueに一般登録を開始した (報道: Blueskyの招待制廃止・一般登録受付開始と月末の連合対応の初期版公開予告 | GNU social JP Web)。

2024-02-22 Thuに連合機能を開始した (報道: Blueskyの連合開始はATP/Blueskyの分散SNSの始まり | GNU social JP Web)。ただし、連合にはDiscordでの申請が必要だったり、レートやアカウント制限があり、アカウント移転もIDが破壊的など、かなり制限がある状態での初回開始となる。

Account

Federation

公式: Blueskyの連合機能の概要 | GNU social JP Web」にあるように、2023-05-05に連合機能の大まかな説明が最初にされた。

  • PDS (Personal Data Server): 個人のデータが保存されているサーバー。ActivityPubでのサーバーに相当。
  • BGS (Big Graph Service): ATPは基本的にプル型の通信形態。ネットワーク上のデータをクロールして個別のPDSにデータを配信する。リレーサーバー相当。
  • App View: BGSの下流に存在し、BGSなどのネットワーク上のデータを集約してPDSなどから参照可能なフィード類のビューを提供する。

ATP/Blueskyでの連合は基本的に上記の異なる役割が点在する形となる。基本は、ActivityPubのサーバー相当のPDSをそれぞれが運営して、PDSに人々がアカウントを登録する形になる。

連合開始前は、Bluesky PDSが単独で存在する状態となる。

ToS

Blueskyの利用規約 (Term of Service=ToS) は以下で紹介した。

一般的なSNSの利用規約になっている。が、ATP/Blueskyの運営陣は欧米の白人で左派的な傾向があるので、それらの文化に準じた規則になっている模様。具体的には、ロリエエロ関係の表現は厳しく、黒人差別関係の話題も厳しい (記事: Blueskyでの黒人差別騒動 | GNU social JP Web)。

Problem

Bluesky関係で過去に以下のような騒動があった。

Link

Bluesky PBC

API

Post

avatar

BlueSkyで最小限の手間で自動投稿までメモ。
1. アカウントを作成
2. 自分の設定の「ハンドルを変更」→「自分のドメインを持っています」でDID(did:plc:ほにゃらら)を取得
3. ブラウザのコンソールとかでトークン取得(良い方法見つからなかった)
4. curl -X POST 'bsky.social/xrpc/com.atproto.r' -H 'Content-Type: application/json' -H 'Authorization: Bearer アクセストークン' -d '{ "repo": "did:plc:ほにゃらら", "collection": "app.bsky.feed.post", "record": { "text": "Hello", "createdAt": "'`date +%Y-%m-%dT%H:%M:%SZ`'" } }'

avatar

DIDは bsky.social/xrpc/com.atproto.i で見た方が楽かも。

createdAtはミリ秒まで渡した方が良いし、トークンはいつまで使い回せるか分からないのでちゃんとAPI(bsky.social/xrpc/com.atproto.s)を叩いて取って来た方が良い。

ただこれでざっとした流れが分かるし、何で検索したら良いか分かるのでそのためのメモです。

Service

Linkage

Feed

Post

Media