最低限お一人様ActivityPubサーバーにちょい足し

2023/7/28 [13:24:34] (金) 天気

ActivityPubを話すことで、Fediverse連合空間からアカウントとして認識されて、FollwやFollow受付、Noteの投稿ができるようにした。


最低限実装のお一人様サーバーなのでいろいろ手抜き。

フォロワー管理もそのうちのひとつ。followersへのアクセスに対して中身はからっぽで、ステータス200を返すだけでも特に問題はないということだし、何も用意せずただ200 OKを返してた。


実際、アカウントもサーバーも認識されたので、followers.jsonはなくても問題はない。


だけど。

「各 actor は followers コレクションを 持つべきである(SHOULD)」

W3C Recommendation

ということなので、それなりのものを用意しておいた方が良さそう。


mastodonもmisskey系もサーバーで共有のinbox、ビル入口の郵便受けみたいなものを持っていてそこに届いた郵便物をビル内の各人に配送するための仕組みとして、こちらのfollowers.jsonを利用してることが多いらしい。

つまり、followers.jsonを用意しておけば、こちらは相手の入ってるビル宛にだけ投稿をPOSTすればOKということ。


ビルの宛先はフォロワー情報の中のshared_inboxのURL。

ここに送ると受け取ったサーバーは、こちらのフォロワー情報をみて、サーバー内のフォロワーのinboxに配達してくれることになっている。


今のところ、これについてはActivityPubの決まり事ではない。mastodonやmisskeyなどは対応してくれているらしいが、サーバーごとで対応が違うので現物合わせ、というか確認しながら試しながら、実装するのがよさそう。


followersの記述はシンプル。

{"@context": "https://www.w3.org/ns/activitystreams",
"id" : "https://example.com/actor/followers",
"type": "OrderedCollection",
"totalItems": 5,
"orderedItems": ["https://hoo.jp/users/foo",〜]}

id,type(OrderdCollectionがMUST)、フォロワーの数、フォロワーのURLの配列。

これだけなので、フォロワーが1000人10000人もいるならともかく、10人程度なら手作業で作って用意してもいいんじゃないかな。


以上の元ネタは

https://fedibird.com/ の管理人、のえるさん(@noellabo@fedibird.com)情報


送る相手の情報に、inboxの他にshared_inboxがある場合があります。というか、MastodonやMisskeyなら必ずあります。

同じサーバに所属するフォロワーは同じshared_inboxになるので、これでまとめると、一つのサーバに対しては一回だけPOSTすれば良くなります。これによりかなり効率化されています。

宛先自体は、ToないしCcに送り元アカウントのfollowersコレクションを指定すれば、受け取ったサーバ側でそれぞれに配送してくれます。

shared_inboxがない場合は、それぞれのinboxにPOSTします。

いずれの場合も、同じIDのCreate、同じIDのNoteであれば、受け側が重複排除するので、何度も送っても大丈夫です。

フォロワーの数だけリクエストを飛ばす=マルチポストの迷惑サイトになったらまずいなあ、と心配だったのでfedibirdでそのことを投稿したら返事をいただけたもの。ありがとうございました!


image

AIに郵便配達を描いてもらったんだけど、なかなかうまく意図が伝わらず、かろうじてこの1枚。

最近ネタもなく

2013/7/28 [18:45:05] (日) 天気

去年秋から始まった一連の電子書籍制作ネタ事務手続きネタ、ストアネタなどわたしのところでは落ち着いた感じ。

(google play booksの管理ページ(個人出版でも使うページ)が7月中に劇的に使いやすくなるという噂を聞いたけど、その後音沙汰がない。どうなってんだろう)


小ネタばかり。

W8BENが受理されて課税(源泉徴収)が0%になっていたというのに、6月に30%課税された件は、何度もメールのやりとりしているけど、解決に時間がかかっていてすみません、ということで未解決。まだ時間がかかりそうで、気長に待つしかないな。


ウルティマオンライン(UO)が日本でオープンした当初Asukaサーバーで遊んでたんだけど、しょっちゅうサーバーダウンでプレイ時間が巻戻り。せっかく手に入れたアイテム、経験値がなくなって…「あなたの忍耐に感謝します」という素っ気ない画面を呆然と眺める。うおおおザッツアメリカ、というのを思い出した。


iOSデベロッパセンターがダウンしていた。一週間…豪快な落ち方だよなあ。

iTunes connectは年末年始の休みメンテも一週間近くとりやがる。いや、バカンスでお休みになられる。こいつもザッツアメリカな話だ。



EPUBを作成、kindlegenでmobiに変換して確認。というごくごく当たり前の作業。

・USB経由で、KindlePaperwhite、Fireの2台に流し込んで表示確認。

・kindlepreviewerで表示確認。

今までこの2パターンでやってたんだけど、クライアントからクレーム。ゴチックの表示指定なのにゴチックになってない、明朝じゃないか、何度言ったら直るんだどうなってんだ、と。

いや、スタイルシートで該当部分は何度見てもsans-serif(ゴチック)だし、ゴチックになっているのを確認してから先方に送っている。


結論:Send-to-kindleで送ったものを確認したところ、先方のいうとおり、ゴチックになってない。htmlやbodyにデフォルトのつもりで指定しておいたserif(明朝)がすべての要素に上書きされている、っぽい。


USB経由、kindlepreviewerと、Send-to-kindleでは解釈が違っていた、というオチ。

って、これにiOSも絡むんで、事前の検証はひたすら徒労感たっぷりの手間仕事だ。


さらに。

EPUBcheckでエラーも警告もなくValidでもストアごとのレギュレーションが違っていて、kindleだと問題なかったものが(mobiに変換する時によきにはからってるんだと思う)、ibooksだと通らずエラーになったりするケースも。

(引っかかりやすかったのが画像のサイズで、縦横かけて20万を超える大きさのものはibooksでは弾かれてしまう)



て、もう7月も終わりか。

この週末はもう8月。地元の夏祭り納涼祭り。わたしはことし順番で当番の班長なので、コキ使われることになっている。とほほ。


[更新]2026-02-01 13:09:42

Waiting For Review期間が長いなあ

2012/7/28 [17:17:33] (土) 天気

初の電子書籍アプリ、21日にバイナリをアップロードして、ステータスが Waiting For Review になったんだけど、まだ何の音沙汰もない、iTunes Connect。

googleで検索してみると、初めての申請で4日程度。ところがすでに一週間。Mountain Lionのリリースなどがあって、レスポンスが悪くなってるのかもしれない。

SakuttoBookにOSのアップデートしても大丈夫?と問い合わせたところ、そっちはまあ大丈夫だろうけど、各種アップデータが揃うまで待つのが得策常套手段だと言う話。それとは別に、13日にアップデートを申請したアプリが26日にやっと審査通過で今かなり時間がかかっている、という情報が。

初のアプリよりアップデートの方が早いという話もあるので、今回申請している初アプリは、下手したら来月第2週ぐらいまで待たされるかな。せめて、来週中、と思ってたんだけど。app storeがどんなものか実際を知りたいので気が急く。

無事公開となったら、広報・集客にappbankなどのランキングサイト、レビューサイトに投稿する必要がありそうだ。ひと知れず公開しても、膨大な量のアプリに埋もれて終了してしまう。最初の時点で収録されてるのは小説一本なので、少し溜まったら、その手のサイトを探して投稿、ニュースリリース(?)をやってみよう。

運用面的にも、アプリ内課金の売り上げ報告はどうなってるのか、とか、アップルから日本の銀行への振込手数料がいろいろかかって5500円もさっぴかれてる、なんて記事もあるし。まだまだ実態把握しなきゃいけないことが多い。


ので、とっとと審査通して、公開してくれー!


[08/03 15:07:45]

8月3日にIn Reviewに変わって、初めての電子書籍アプリが、初めての reject を食らう→「app storeからリジェクト(却下)された」


初めての iPhone アプリは、果たしていつ公開できるんだろうか!?


まるごと学ぶiPhoneアプリ制作教室

『まるごと学ぶiPhoneアプリ制作教室』

瀬谷 啓介



[08/30 05:05:32]

小説同人誌Select 公開!


[2013/03/06]

iBookstoreオープン

[更新]2026-02-02 08:26:38

暑いうえに地震かぁ

2005/7/28 [20:32:53] (木) 天気

暑くてバテ気味なんだけど、今日も今日とて最寄の職安だ。夏休みのラジオ体操じゃないけど、毎日通ってハンコたくさんもらえば自動的に雇用主をあてがってくれる、なんてご褒美は…ないよなぁ。もっとも、もう受給が終わってるんでハンコはもらってないけど。

んで、編集で1件、WEB作成で1件、紹介状をもらって送ってみた。

老猫用のドライフードを取りおきしてもらってた店に買いに行き、土用の丑の日なのでスーパーでうなぎを買って帰宅。うなぎは静岡産、鹿児島産が598円、同じ598円で倍ほどの量のものが売ってたけど産地不明。話題の発ガン性物質添加の中国産かな。中国は人命の値段が安そうだししょうがない。

んで、ベランダ菜園に大量発生している虫退治用品を買いに出た嫁が帰ってきたら…両者とも昼寝ぶっこく。バテてるなぁ。地震の直前まで転がってた。



今週は昨日の地元の花火に続いて、今日は隣駅あたりで花火らしいし明日明後日は駅前で盆踊りだというし、暑気払いというか、夜は世間が浮かれまくりだ。

[更新]2026-02-04 14:47:38

ちかれた。

2004/7/28 [20:19:14] (水) 天気

忙しい…ってなんか自分だけが空回りっぽいぞ、この状況は。この期に及んで孤立無援かも。やってらんねえ。

[更新]2026-02-04 13:34:16

<<2026/07>>
   1234
567891011
12131415161718
19202122232425
262728293031

【最近の10件】

日常読書映画アニメゲーム健康料理グルメカメラ写真ネタ仕事パソコンインターネットperlEPUB3電子書籍ActivityPub
検索: