bluesky
blueskyはprotocol(プロトコル)にatを採用したsnsです。
at
は以降、atproto
とします。
blueskyは現在、bsky.teamが開発、運用しているatproto
のモデルサービスという位置づけです。
bsky.teamの目標は、様々なサービスの裏でatproto
が採用され、サービス間で意思疎通を図れるようにすることです。
今までのサービスはそのサービス内でしかアカウントが有効ではありませんでした。そのためサービスごとにアカウントを切り替えてやり取りする必要がありました。これを変えていこうという試みです。
blueskyは、pds
, plc
, bgs
で動作することを予定しています。
それぞれの役割を述べると、pdsがbluesky本体です。
plcはdns
のようなものでhandleとdidを登録し、名前解決を行います。
blueskyは、基本的にpdsのみで動作します。
しかし、アカウント作成時はplcに接続するため、plcへの接続がないとエラーになります。
アカウントが作成されている状態ではplcは必ずしも必要ありません。handleの登録や変更があったときに必要になります。
bgsは他のpdsとつながる際、アカウントのtimelineを構築します。
dns
上記のdnsとは何かというと、インターネット上で名前解決を行うサーバーのことを言います。
インターネットではip address
という数字で繋がります。
例えば、googleに接続する場合は172.217.25.174
です。
$ dig google.com
google.com. 291 IN A 172.217.25.174
試しにブラウザにこの数字を入れてみてください。google.com
につながるはずです。
しかし、数字というのは人間にとって覚えにくく、扱いにくいものなので、通常は、アルファベットに置き換えた名前がつけられます。
その名前をip address
という数字につなげる役割を持ったサーバーをdnsと言います。
以下は、目的のホストまでの経路を表示するコマンド。いくつかのサーバーを経由して繋がっている事がわかる。
$ traceroute google.com
20.27.177.113
17.253.144.10
172.217.25.174
自分のip addressを知りたければ、ipinfo.io
を使うと便利。
$ curl -sL ipinfo.io
20.27.177.113
plc
現時点でよく使われているplcです。すべてbsky.teamが提供しています。
具体的には以下のように使います。
https://plc.directory/export
https://plc.directory/export?after=1970-01-01T00:00:00.000Z
https://plc.directory/did:plc:oc6vwdlmk2kqyida5i74d3p5
https://plc.directory/did:plc:oc6vwdlmk2kqyida5i74d3p5/log
.env
#DID_PLC_URL=https://plc.directory
DID_PLC_URL=https://plc.bsky-sandbox.dev
便利なサービス
blueskyはapiもpdsも公開されているので様々なサービスが開発されています。
代表的なサービスを紹介します。
https://firesky.tv : グローバルタイムラインのストリーム。色々と設定できたり、フィルタリングできたり
https://bsky.jazco.dev : ユーザーの視覚化
https://bsky.jazco.dev/stats : ユーザーのポスト数
https://vqv.app : ユーザーのプロフィール集計など
https://atscan.net : pdsのスキャンやdid
https://skybridge.fly.dev : mastodonのclientでblueskyをやるためのurl
https://tapbots.com/ivory : mastodon clientのivoryに対応
https://skyfeed.app : feedの生成