ノートパソコンのlocalhostにPleromaを新規に2つインストールして、Apache2の設定もして
https://pleroma1/
https://pleroma2/
でアクセスできるようにした。それぞれにアカウントを作って、相互にフォローして、テスト記事を投稿できた。
これで最小のオレオレfediverseができたかも。ActivityPubをいじくる準備ができた。いつか時間があったら、Mastodonもいれてみたい。

ちょっと手こずったことは、

Apache2で、mods-enableでssl.confとssl.loadがシンボリックリンクされてなかったこと。
proxy.conf, proxy.loca, proxyhttp.loadもシンボリックリンク。_
SSLの証明書はUbuntuにインストールされてたsnakeoilのまま。

sites-available/default-ssl.confに
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName pleroma2

ProxyRequests off
ProxyPass / http://localhost:4001/
ProxyPassReverse / http://localhost:4001/
ProxyPreserveHost On
</VirtualHost>
のようなものを、pleroma1とpleroma2の2つ分用意。

/etc/hostsに
127.0.1.2 pleroma1
127.0.1.3 pleroma2
これは
127.0.0.1 pleroma1, pleroma2
でも良いのかもしれない。

pleroma2のconfig/prod.secret.exsには
config :pleroma, Pleroma.Web.Endpoint,に
http: [port: 4001],
を挿入。

#pleroma #fediverse #distsns #ActivityPub
ActivityPubを直接使ったサーバを試作したいと思ったけど、

https://www.w3.org/TR/activitypub/
https://www.w3.org/TR/activitystreams-core/
https://www.w3.org/TR/activitystreams-vocabulary/
ActivityPub W3C Editor's Draft 23 January 2018の翻訳があった
https://argrath.github.io/activitypub/

などをちらっと見てもなんだか全く分からない。
#ActivityPub #Fediverse
スレッドを表示
Mastodonにアカウントとして認識されるActivityPubを実装してみる
https://qiita.com/wakin/items/94a0ff3f32f842b18a25
Mastodonからフォロー出来て投稿が反映されるActivityPubを実装してみる
https://qiita.com/wakin/items/28cacf78095d853bfa67
を見ると、WebFingerとか書いてある。ややこしそう。

そのQiitaの記事をまとめた成果物が

RSS更新情報を配信するシンプルなActivityPubサーバ
https://github.com/wakin-/simple_ap

だそうで、参考になりそう。
#ActivityPub #Fediverse #WebFinger #Mastodon
スレッドを表示
SNS連合とActivityPubで通信できた
https://blog.valerauko.net/2018/12/20/activitypub-with-the-sns-federation/
も参考になる。

HTTP署名
リクエストにHTTP署名をつけるのは決して楽な話ではない。規格を読みながら、マストドンの作者のブログを読みながら、実際のマストドンやプレロマのコードを見ながら実装してた。
強いて言えば規格通りにやりゃええ。ただそこでひっかかるところが多い。

う〜ん、なんか大変そう。
#ActivityPub #Fediverse
スレッドを表示
フォロー

@sumiyaki リレーのように中継するサーバでは、HTTP signaturesでリレーから送信したことは証明できるけど、本人が作成した内容であることを証明できないので、LDSがないと厳しいです。

PleromaはLDSつけてこないので、リレーに出来るのはAnnounce(ブースト・リツイート・リノート)だけです。

通常のサーバのように、作成者と発信元が一致している場合は、HTTP sigunaturesでだいたい用が足ります。

@noellabo
ありがとうございました。
なるほど、
https://docs.joinmastodon.org/development/activitypub/
「Mastodon also supports Linked Data Signatures for forwarded payloads.」
のforwarded payloadsってそういうことなんですね。

Pleromaのソースをちょっとだけgrepしてみたとき、
pleroma/lib/pleroma/web/http_signatures とか見つかったけど、
LDSらしいところはみつからなかったのは、使われていなかったのですね。

#LDS #linked_data_signatures #Pleroma #Mastodon #ActivityPub
ログインして会話に参加
DTP-Mstdn.jp

DTP-Mstdn.jpは、DTP・デザイン・印刷に関わる人々のためのMastodonインスタンスです。特定分野の専門インスタンスですので、日々のつぶやき、耳寄りな情報の共有、ディスカッション、質問とその回答、役立つスクリプトなど、他では投稿しづらい内容も、思う存分トゥートしましょう!