ひまつぶし雑記帖

web本棚のActivityPub対応

2026/1/9 [17:13:21] (金) 天気

web本棚のネタが続いてます。今回はweb本棚のActivityPub対応ネタ。
フェディバースからアカウントとして認識されて、フェディバースに投稿できるようにした。

以前、ツイッターだった頃、APIがまだ使えた頃、web本棚をツイッター連携対応させていた。
web本棚アカウントにタイトルや著者名をツイートすると、本棚を検索して結果を返信ツイートする、というもの。
web本棚はちゃんとしたスマホ対応をしてない。本の重複購入を避けるため、というのが一番の目的で、街の本屋さんをぶらぶら眺めていて、ツイッターに検索を投げて本を確認する、というのが思った以上に便利だった。

てことで、ツイッターでやってたことと同じことをActivityPubに対応させてフェディバースでもできるようにした。
まずはフェディバースからアカウントとして認識させる。
image
・nodeinfo
・nodeinfo/2.1
・host-meta
・webfinger
・アカウント情報のJSON
以上5つのファイルを静的に作成。アクセスされた時にmimetypeのヘッダを付与する必要があるので、perlで読みこんで返すことにした。

すでに稼働中のおひとり様AcitvityPubで使ってるファイルをちょっと編集して配置するだけなのでそんなに大変でもなかった。
どっちかというとプロフィール画像とカバー画像を選ぶのに2時間以上かかってる…て、そんなものだろう。
スクリーンショットはmastodon.socialでweb本棚のアカウント「@librarian@bookshelf.doncha.net」(司書)を検索して表示したもの。

このアカウントは自分の本棚を検索してその結果を返すのが役割。自分の本棚専門、自分専属の司書さんみたいなものだ。
なので、ローカルのタイムラインなども不要だし、投稿内容を保持する必要もない。フォローもフォロワーもない。
フェディバースを経由すると言っても、本棚にDMをリクエストするだけ、リクエストを受けとったら本棚を検索して結果をDMで返すだけで、ほかのサーバーに余計な手間・負荷もかけない。

フェディバースを利用する意味があるのか、ということかもしれないけど。
HTTP Signatureで署名してActivityを投げて、そのActivityにいちいち意味があって、という「仕組み」が用意されているのがありがたい。ゼロから考えてなにかを作るのはやっぱしんどい。せっかくよくできた仕組みがあるんだから乗らない手はない、ということ。
image
↑実際に司書さんにDMをリクエストして、返信のDMをもらったところ

おひとり様のAcitivityPubとは違って、実装も考えるところが少なくて済んだ。
通信する相手が自分だけなんだから当たり前。がっつりいろんなところを省いた。botなんかもこんな感じで作れるんだろなあ。

老眼鏡も作ったことだし、今回改めて本棚の体裁も整ったし、また紙の本を読もう。


[2026/01/10 08:01:33] 追記
フェディバースにアカウントとして認識されると、
「新入りがおるみたいやな、情報を送ったる」
と、リクエストが飛んでくるようになる(actorのDeleteなど)

web本棚はSNS的な利用を考えていない、わたし専属。
なので、わたし以外からのリクエスト(POST)に対しては404(ここにはいません)を返すようにした。

»電子書籍制作代行についてはこちら

【電子書籍発売中】

doncha.net制作・発行:KindleやiBooks、楽天kobo、BOOK☆WALKERで読む電子書籍

profile

profile

 
doncha.net
contact:
»運営者
@t2aki@tokoroten.doncha.net

いいだ(@t2aki@tokoroten.doncha.net)

[Tue, 13 Jan 2026 21:42]

mastodon.socialからはsignature-inputは飛んできてないけど、4.5.0のソースをgrepしたら@target-uriとか引っかかっ...

[Tue, 13 Jan 2026 20:25]

尻尾の短かかったみけさん。 尻尾を巻き込んで抱えあげたつもりが、抱えあげようとした瞬間に尻尾をぴっと上げられて、掌にピトっとした感触w なんでそこでアナルフ...

[Tue, 13 Jan 2026 20:19]

RFC通りにSignatureの種を作ったつもりなのに、verifyに失敗する。たぶんどこか書き方が間違えてる。ここハマると時間かかるんだよなあ…orz [Q...

検索
<<2026/1>>
    123
45678910
11121314151617
18192021222324
25262728293031

リンク

WINDOWS版サウンドノベル
おかえりください PC WINDOWS版サウンドノベル
『おかえりください』体験版