ひまつぶし雑記帖

おひとり様サーバーの改修

2024/1/16 [14:34:23] (火) 天気

ちょろちょろ改修してるんで、忘れないようにメモ。
5分以上前の自分はあかの他人、だからなぁ。

おひとり様ActivityPubサーバーのソースコードを外部モジュール化した。

ため池とcron側と両方共通して使うルーチンばかりで、ふたつのファイルに対して同じ修正するのが面倒くさくなった(今さらかよ)ここんとこ1ファイルでやっつける安いスクリプトしか書いてなかったんで、久しぶり。
これで改修やつけ足しも楽になった。

Like一覧・Mention一覧をつけ足した。

LikeはWeb拍手がわりの使い方のほか、ブックマーク的な使い方もしてるので一覧ページが欲しかった。イベントや博物館美術館情報の展示情報など、わたし的に貴重な情報が多い。
LikeのJSON保存は個数制限は外して期間制限だけにした。上限14日間。
Likeを削除するのはウチだけの話。意図してLikeを外すワケじゃないのでUndoは飛ばさない。

Likeの情報はお相手の所属するサーバーが持ってるんでこちらでLikeのJSONを削除しても影響はない。こんなところも分散型、ActivityPubの特徴、ということだなあ。

わたし宛のMentionはデータベースに登録してもいいと思ったんだけど、なにかの拍子に(Fediverseに)飛ばしてしまうと危険なので、とりあえずJSONそのまま保存。一覧して確認できればいいかな、ぐらいの感じ。


サークル機能に対応(?)

飛んでくる投稿はCreateというActivityの中のobjectという箱に入ったNoteがその実体。なので、投稿を取り出すにはCreateというActivityのJSONをデコードしてobjectを取り出す。
objectには投稿本文や投稿日時など投稿についてのすべての情報がハッシュ配列になって格納されている。
…てのが、ほとんどなんだけど。
objectがハッシュ配列じゃないActivityが飛んできてエラーとなってロックがかかってビックリ。配列じゃないobjectなんてまったくの想定外だった。

JSONを覗いてみたらobjectが配列じゃなくて、1行の文字列。
HTMLエンコードされたURIとなにやらハッシュ文字列とキーワードっぽいbearという文字。投稿の宛先や投稿者、投稿日時がないんだけど大丈夫か。

エンコードされているURIにブラウザでアクセスしてみたら400番代のエラーページが表示される。ハッシュ文字列がOAuthっぽくもあるけどなんのこっちゃわからない。

手がかりがまったくなくて困って、ため池に投稿したらFedibird管理人ののえるさん(@noellabo@fedibird.com)に拾ってもらって、該当ドキュメントを教えてもらった。
https://docs.joinmastodon.org/spec/bearcaps/
詳細はこちらにも↓
https://fedibird.com/@noellabo/104790008237308249

飛んできたobjectのURIに対して、GETリクエストする時のヘッダにAuthorizationをつければ問題なくURIを開くことができて、内容を読めた。宛先がない投稿を勝手に開いていいのかという問題は残るので、要調査。
とはいえ、これは投稿として開いて読む場合。サークル機能?にこちらからリクエストを投げる時は投稿先などちゃんと調べなきゃダメ。今日はとりあえず読むところまで。

まだまだわからないことだらけだ。
image
初詣の神社はアスクル御神籤でありがたみもないんで、昨日改めて浅草寺。
ここは「凶」が多くてひとに厳しい御神籤なんだけど、今年は一発で「吉」を引けた。去年がいろいろ厄年だったので、これで今年がいい年になればいいなぁ。

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

おひとり様ActivityPubサーバーにBlock実装

2023/12/27 [09:44:09] (水) 天気

おひとり様APサーバーにBlockを実装した。
ActivityでBlockが飛んできてもめっちゃレアケースなのでスルーしてたんだけど念のため。

というか、アドベントカレンダーに参加して投入したエントリ 「Fediverseの辺境で秘密基地」「SNSのソーシャルディスタンス」 がどこかでブーストされたらしくて、珍しくぷちバズった。
Followリクエストも飛んできてフォロワーさんも増えた。のと、珍しくBlockリクエストも飛んできた。記憶に間違いがなければ、これまで半年ほどやっててBlockリクエストは3度目。

届けたいところじゃないところに届いたんだなぁ…じゃなくて、ちゃんと対応を考えないといけない。ツイッターのブロックと同じ扱いで、ブロックされた該当アカウントの投稿がブーストやなんかで飛んできてもタイムラインに流さない・間違ってフォローリクエストを送ったらまずい。
てことで、ブロックされてるリストを作成して、該当アカウントを登録することにした。

おひとり様サーバーでは投稿はJSONファイルのまま、Signature検証がOKだったら、所定のフォルダに移動してるんで、その前にブロックリストを確認してそこで弾くようにした。Followリクエストも同様。
ActivityPubというプロトコル、とかいうとなんか難しそうだけど、約束事の塊とその約束事を守ることで成立している。極端な話というか乱暴な話、約束事を守る/守らないはサーバー管理者次第。
だからこそ仕様上のMUSTやSHOULDはちゃんと対応する必要がある。

image 
久しぶりに上手く巻けた、かな。
弁当用で、出汁少なめなので失敗は少ない。ウチで食べる用だと出汁を150ccぐらい入れるんでゆるゆるで難易度があがるんだよなあ。

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

ActivityPubサーバーのGETリクエストに署名

2023/12/20 [23:14:57] (水) 天気

おひとり様サーバーのGETリクエストを署名付きで投げるようにした。
今のところ、特に問題が出てるようには見えない。

前々から気になってたところ。
actor情報や投稿を取得するために、アクセスすると401や403で弾かれることがあって、それってリモートサーバーからのアクセスを拒否してるのかなあ、ぐらいに思いつつもなんかひっかかってた。
GETリクエストにひょっとするとSignatureが必要なわけ?と。
でも、POSTと違ってGETだよ?Body(content、本文)もないのに、いったい何に対してサインする?んなもんないよなあ、とも思ってた。

2023Fediverseアドベントカレンダー第3会場 19日目の黒ヰ樹さんの記事
「DenoとHonoでThreadsのContent-Type: application/activity+jsonをGETする」
当初ActivityPubのHTTP Message Signaturesはhostとdateを認証するPOSTのみで使われてきました。
ThreadsのContent-Type: application/activity+jsonをGETするにはこの署名が必須なので、Threadsをフォローできないサーバーがあったりなかったりしたんですね。

↑こちらに詳細があった(感謝)
GETでのHTTP Signatureは
(request-target)
host
date
の3つを署名対象にすればOKということらしい。
(ひょっとしてわたしが知らなかっただけで、100年前からの常識だったのかな?)
この署名付きでGETを投げて403で弾かれることがあるけど、401は今のところない。これで大丈夫っぽい。

HTTPのレスポンスは。
401 認証できない
403 認証できるけど権限がない
404 そんなファイル、ディレクトリはそもそもない

403を返すと「そんなファイル」はある、ということを自白してるのでセキュリティ的にあえて404を返してることがある。なので、403と404は同じで原因の特定ができないとしても、401が返ってくるのはこちらに何らかの問題がある、ということ。

表示が無駄に重くなるだけなので、うちのおひとり様サーバーでは、400番台が返ってくるサーバーはリストに登録してアクセスしないようにしてた。
とりあえず。この対応で401は回避、できるかな。

image
今日は3回目のゲ謎。哭倉村。
ほんと、今年No.1だなー。

[12/21 14:07:43]追記。
401でエラーを出してた某サーバーのactor情報がこの変更で取得できたので、やっぱりGETにSignatureがなかったのが問題だったのか…。

[2024/01/09 11:46:23]追記。
HTTP SignatureをつけてGETしても403で弾かれるサーバーがあった。
いろいろ試してみたところ、お相手のHTTP HeaderのkeyIdのURLについてる「#main-key」が原因っぽかった。

お相手からのポストの署名を検証するためにPublickeyを取得する必要があって、Publickeyを取得するにはこのkeyIdのURLにリクエストを投げてPersonのJSONをもらわなきゃいけない。
Mastodon系などはkeyIdのURLにそのままGETリクエストしていて問題はなかった。んだけど、なんか「#main-key」付きって微妙なURLだなあ、とか思ってたこともあって、試しにURLの「#main-key」を削除してリクエストしたら問題なく200が返ってきて、無事JSONを取得できた。

だけど、今度はそれはそれで、keyIdのURLに「#main-key」なんてつけないで欲しいよなあ。「keyId」の意味がないのでは?

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

Fediverseの辺境で秘密基地

2023/12/18 [00:00:00] (月) 天気

この記事は  Fediverse Advent Calender 2023  (第三会場)18日目の記事です。

Fediverseというネットの連合空間、ActivityPubという共通の言葉を喋るサーバー群というのが面白そうで「いっちょかみ」してみました。以下は、その時々の経緯というか思ったことの垂れ流しエントリとなります。
ちなみに、還暦過ぎのポンコツで、話が無駄にだらだら長いのはご容赦ください。


■レンタルサーバーとperlでおひとり様

MastodonやMisskeyをインストールして運用管理するスキルはわたしにはないので、自分のできる範囲、最小限のActivityPubサーバーをperlで自作実装しました。

レンタルサーバーとドメイン、perlがあれば、それ以外に新しく必要なものはなくて、このブログなど今まで使ってるロリポップのライトプランの環境で十分でした。

試しながら少しずつ実装していったんですが、おひとり様サーバーは、たぶんみんな大好き「秘密基地」ごっこ。
いちいち面白くて、すっかりハマりました。空いた時間のほとんどを費やしてます。

■おひとり様サーバーとして必要なことは2つ

・Fediverseの仲間入り、アカウントとして認識されること
・ActivityPubの決まりごと通りにGETやPOSTなど、リクエストのキャッチボールができること

■Fediverseにわたしが来た!

すみません。言ってみたかっただけです。
7月12日。Fediverseからアカウントとして認識されました。

何をどうすりゃいいのかまったくわからない状態からだったので、グーグル先生に聞きまくりです。
nodeinfo(json)
host-meta(xml)
webfinger(json)
actor.json(json)
以上4つのファイルを用意すればいいという話だったのでサーバーに設置。

今回作った自分のアカウント「@t2aki@tokoroten.doncha.net」をMastodonで検索してみたら、アカウントとして認識されました。
image
ただ無言で顔を出しただけなんですが、これで念願のFediverse仲間入り!です。

■ActivityPubおひとり様サーバー最低限の実装

アカウントとして認識されたら、後はActivityPubの決まりごとをちゃんとキャッチボールできればOKです…とか言って、これもまったくわかってなくて「そこからかよ!?」の状態でした。

リクエストのキャッチボールを始めるにはHTTP Signatureが必須になります。
(このリクエストはわたしが投げたものですよ、というのを保証するサイン・署名みたいなもの、という理解で大丈夫かな)

ところが、レンタルサーバーのロリポップでは署名のために一般的に良く使われているらしい「Crypt::OpenSSL::RSA」というperlのモジュールがない。つまり、Signature、署名ができない、ので立ち往生。
しかたなく、ローカルのPCに「Crypt::OpenSSL::RSA」をインストールして、PCのコマンドラインから投稿を送信することにしました。

7月26日。右往左往しながらも、Fediverseからアカウントとして認識されて、HTTP署名付きで投稿ができるようになりました。
発信専用と割り切ればこれでひとつゴール達成ということでしょう。
この時点でこのアカウントのフォロー/フォロワーはほかのサーバーに登録した自分のアカウントだけですが。

しばらくローカルPCからの発信専用でやってたんですが、WEB上で作業が完結した方が手間もなく気楽だし、また、ほかのひとの投稿をこのサーバーで読めないのは物足りなくなりました。
…というか。送信するのはローカルPCから、ほかのひとの投稿を読むのはMastodonのクライアントを立ち上げて、というのはやっぱり面倒くさいです。

ふたたびグーグル先生にお願いしたところ、署名するために必要な、PurePerlの(perlだけで実装されている、ユーザーレベルでインストール可能な)Cryptモジュールを見つけたので、ロリポップにインストールしました。
このperlだけで署名できるモジュールの作者さんには感謝するばかりです。

8月22日。HTTP Signatureを解決することで、やっとリクエストの送受信、キャッチボールができるようになりました。最低限の構成ですが、おひとり様ActivityPubサーバーということで大丈夫でしょうか。

■おひとり様サーバーのタイムライン

【ローカルタイムライン】
サーバーに登録しているユーザーの投稿が流れるタイムライン。
おひとり様なのでわたし一人の壁打ちタイムラインです。Fediverseに投げ込むには一意のIDが必要で、投稿へのURLもそれをもとに生成します。そのためにデータベースを使うのが手っ取り早いし、以前から使ってる自分メモ用の掲示板を改築して流用しました。

【ホームタイムライン】
フォローした人たちの投稿が流れ込んでくるタイムライン。
ここは考えなきゃいけないことがいろいろありました。

その1.
まず大前提として
「ひと様のデータは持たない、抱え込みたくない」
わたしのショボいスキルと還暦過ぎたポンコツの体力だと何があるかわからないので、リスク回避が最優先です。
その2.
タイムラインというからには「投稿は流れて消えていく」
流されてしまったものは見ない、アクセスしてたまたまその時その場にあるものを見るモノだということですね。
「袖すり合うも多生の縁」です。

ということで、こちらはデータベースも使わず、保存する投稿は、上限20個、保存期間最長1日。それ以上は古いものからところてん式に押し出されて削除、遡ることができないタイムラインということにしました。
(保存するNoteは宛先がPublic指定されているもの・わたし宛Mention投稿。それ以外は破棄)

そもそもホームタイムラインを見るにはログインが必要で、おひとり様サーバーでログインできるのはわたしひとり、見ることができるのはわたしだけです。

自分の使い方として、twitterもFacebookもそうですが、スクロールして遡るのはせいぜい2〜3画面だったので、上限20個保存ぐらいでも問題はありません。

アクセスしない間も、飛んでくるリクエストをcronで処理することにしたので、わたしが知らないうちに流れてきて、知らないうちに消えていく投稿の方が圧倒的に多い状態です。
SNSとの距離感はこのぐらいでちょうどいいんじゃないかと思ってます。

■タイムラインの育成、フォロー・フォロワー

なにはなくとも、まずフォローをして繋がらないと始まりません。
最初は、すでに登録して参加している別サーバーの別アカウントでフォローしているひとたちを、このおひとり様サーバーから少しずつフォローしました。
(聞いたこともない変な野良サーバーということもあってか、403や401で弾かれてすべてはフォローできませんでしたが)
こちらでフォローをしていくことで、ほかのひとの投稿を流し込んで読めるようになりました。

おひとり様サーバーでタイムラインを作ってると、フォロー/フォロワーでいうと、いかにフォローするのが大切かというのを実感します。

タイムラインというのは、盆栽とか本棚とかと同じ「よく育ってくれましたねえ」の世界。

twitterやFacebookだとフォローを見つけるのもそんなに大変でもないんですが、連合サーバー群だとなかなか難しくて、いくつかのサーバーにアンテナを張って少しずつこちらのタイムラインに持ってくるしかなくて。地引網でどばっと攫うのと、釣り竿を垂らして一本釣りするのと。それがまた面白いんですが。

サーバーごとの特徴があって、他のサーバーのアカウントをフォローして投稿の流入経路をひとつ増やすだけで、それまでになかった投稿が流れるタイムラインになります。
せっかくなので、いろんなサーバーをフォローしたいと思ってます。
(今ではフォローしているひとのブースト経由で他サーバーの様子も垣間見えるので、フォローを探すのもほとんどこのホームタイムライン経由になっています)

twitterなんかだとフォロワー数でのマウント合戦が見られますが、タイムラインの面白さは、フォロワーの数ではなくて、どれだけフォローしてるか、でしょう。

■おひとり様サーバーという名の秘密基地

ActivityPubという共通の言葉で繋がっているので、登録するサーバーに拘る必要はありません。どのサーバーにいても他のサーバーをフォローできる、繋がって広がるのがFediverseの特徴・メリットです。
…とはいえ、いろんなサーバー、それも個性的・特徴的なサーバーがたくさんあって、どのサーバーにしていいのか悩んでしまいますよね。

それなら、おひとり様サーバーを立ち上げて、そこを起点・窓口にActivityPubを喋っていろんなサーバーのアカウントをフォローしてFediverseに参加してみよう、そんなのが自分で作れたら面白そう、というのが始まりでした。
Activityを1つ実装するたびに、これってどうして必要?これは何か理由があるよね?など、いろいろ考えて、自分で決めて自分で作る手作り秘密基地です。

目の前にある20個だけでそれ以上は遡れないし検索もできないホームタイムラインは、穏やかに過ごせるもんだなあ、と眺めてます。
自分のために自分で作った場所というのはストレスフリーで居心地が良くて入り浸り状態。すっかりログインすることがなくなったtwitterやFacebookを見ていた時以上の時間をここで過ごすようになりました。

Fediverse空間のどこかでお会いすることがありましたら、どうぞよろしくお願いします。
だいたい映画、小説、アニメなどについて垂れ流してます。
鬼太郎誕生スゲー、復讐の記憶やべえ、トム クルーズおかしいだろ、やっぱルブランのアルセーヌ・ルパンだわ、など語彙力に問題のある投稿を見かけたら、それはたぶんわたしです。

ちなみに。
『鬼太郎誕生 ゲゲゲの謎』と『復讐の記憶』はわたしが今年映画館で観た映画でベスト。
この2本とも、おひとり様サーバーに流れてきた投稿で知った・気づいた作品です。フォローしたひとたちのおかげです。ほんとウチのおひとり様サーバーのタイムラインは「よく育ってくれました」(自画自賛)

■おひとり様サーバーを作るのに参考にさせていただいたサイト。

・まさに、このひと言。
「Webhook的に ActivityPub に投稿する実装を作った」
オープンな仕様 ActivityPub の力を借りて自前実装で他の実装とつながれる体験は心躍るものがあり

・perlでActivityPubサーバーを立ち上げるならこちらにすべてがあります。
「Fediverse入門―非中央集権型SNSサーバを作ろう!」

・静的ファイルだけでActivityPubサーバー構築。こちらの具体例が参考になりました。
「NetlifyとSupabaseでほぼ静的なActivityPubサーバ」

・こちらを発端としてActivityPub実装についてのサイトを辿りました。
「田舎の昼のサイレンbotをActivityPubで実装する(マストドンにアカウントを認識してもらう編)」

・レンタルサーバーとperlのCryptモジュール
「ロリポップ!レンタルサーバー」
「Crypt-Perl-0.38」

■蛇足というか手前味噌というか

わたしのActivityPub自作実装について。
「おひとり様ActivityPubサーバー自作実装メモ」
Follow、Like、Announce、Attachment、Hashtagなどを少しずつ実装した時の具体的なメモをまとめてます(関連する各エントリは 「ActivityPub」 というタグづけしてます)
ActivityPubの共通言語として飛び交うJsonの具体的な例を残すようにしてますので、何かのお役にたてれば幸いです。

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

おひとり様サーバーのおもて側

2023/12/14 [13:08:51] (木) 天気

ActivityPubを喋ってFediverseと繋がる、とか言っても、それって具体的にどう見えているのかわからないと、ナンジャソレだと思う。

ActivityPubとか裏側の面倒くさそうなのはとりあえず置いておいて。
使い方見え方、おもて側の紹介をしてみる、のが今回のエントリ。
ActivityPubを通じて、他のサーバー(インスタンス)に投稿したり投稿を閲覧したりする具体例のひとつと見てもらえれば。

【コントロールパネルっぽもの】
image
ログインするとページの最上部に
・投稿を記入するテキストエリア
・添付画像
・データベースを検索するチェックボックス
・こちらでフォローするためのアカウント名入力欄
 フォロー/フォロワー数とフォローのリスト表示のためのリンク
・他のFediverseの投稿をこちらで表示させるためのURL入力欄
などのコンパネっぽいものが並ぶ。

その下は
・フォローされたら確認と承認ボタンのエリア
・Likeされたらその表示エリア
・Mentionされたらその表示エリア
が表示される。

他サーバーの投稿をこちらで表示させるのは。
ここからブーストしたり、いいねしたりすることで、おひとり様サーバーのフォロー/フォロワーを増やす可能性に繋がるんで、けっこう重宝する機能。

※これはログインユーザーにだけ表示される。

【ホームタイムライン】
image
フォローした人の投稿が最大20個並ぶエリア。
個々の投稿には
・Announce=ブーストボタン
・Like=いいねボタン
絵文字は対応してない。

こちらでフォローしたいろんなサーバーのいろんな人の投稿が流れ込んでくる。ActivityPubを通じて他のサーバーと繋がってるからこそ閲覧できる。

例えば。Twitterにログインして投稿を読んでいて、Facebookの投稿をそこでは閲覧できない。でも、Fediverseに参加しているとTwitterだけじゃなくてFacebookの投稿も同時に閲覧できる、みたいなもの。

読んでいてほんとに面白い。
サーバーごとで特色があるし、フォローしたひとたちは当然ながらわたしの嗜好・志向とあったひとたちなので、楽しくないわけがない。
上限20個でそれ以上は遡れないタイムラインだけど、各々の投稿者さんのoutboxは取得できる=アカウントのプロフィール・過去投稿(の1ページ分)を見ることはできるので、20個は少ないようで、少なくないボリュームでもある。

MastodonやMisskeyなどのPWAやアプリだとJavascriptやAPIを駆使して、非同期で新着の投稿を取得&表示させている。んだけど、わたしはJavascriptがよくわからないので、Ctrl+Rや、画面を下に引っ張って手動での更新。
今のところ、特に不便は感じてない。

※これはログインユーザーにだけ表示される。

【ローカルタイムライン】
image
おひとり様なのでこのサーバーではわたしの壁打ちが並ぶだけ。
「edit」とかあるけど、削除も編集更新も今日時点では反映されないので要調査。
(ActivityPubのDeleteの仕様は満たしてるはずなんだけど…)

※これはログイン不要で誰でもみることができる。

ActivityPubを喋ってほかのサーバーと繋がるというのはこういうことにもあって。
image 
↑Fediverseの他のサーバーにおひとり様の壁打ちが投げ込まれて、向こう側で表示されることになる。これがあるからこそ、ActivityPubとFediverseの面白いところ。
他のサーバーの投稿が流れ込んでくるホームタイムラインと同じく、ローカルタイムラインに投げ込むだけで、ツイッターにもFacebookにも投稿される、ようなもんだ。

よく言われるように、TwitterやFacebookの代替になるかと言われるとそれは無理で無茶。
億単位のひとがひとつの場所に集まってる化け物と同じになれるわけがない。
だけど、いろんなサーバーと繋がる、分散して独立・存在するメリットはあるはず。

わたしはFacebookにはまったくアクセスしなくなったし、Twitterもほとんどアクセスしなくなった。
Twitterは呪術廻戦やゲ謎の考察、ファンアートを漁るためにたまにアクセスするんだけど、関係のないツイートがぶら下がってるんでうんざりする。どうにかならないのかなあ。

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

Fediverseで参加してるサーバー紹介

2023/12/7 [13:30:39] (木) 天気

ActivityPubという共通の言葉でつながるFediverseサーバー群が面白くてperlでおひとり様サーバーを自作実装した、というエントリをオンラインイベントに投入した。
「Fediverse Advent Calendar 2023」
https://adventar.org/calendars/8730
※わたしのエントリは2023/12/18(第3会場)

イベントなので、「デスマス調」でがんばって、長くなっても面白くないだろうし、サーバーを立ち上げるところまでで絞って書いてみた。
…てことで、書いたけど削ったところをこちらで追記。

おひとり様サーバーのタイムラインを作るためには、ほかのサーバーに参加していて、そっちでフォローするひとを見つけてくる必要があるよね。という話。

いまわたしが参加しているFediverseのサーバー(インスタンス)

https://bookwor.ms/
登録日:2017年8月2日
「本好きのためのMastodonサーバー」で、6年ほど前、毎年毎年電子書籍元年だった頃に参加。たまたま電子書籍関係のひとたちの飲み会で管理者の@skoji@bookwor.msさんと同席して猫の話をした記憶。
当時はMastodon?なにそれ状態で、社会人のサークル活動というか本好きのひとが集まるmixiみたいな?という捉え方しかできてなかった。
こちらのローカルタイムラインは本好きのひとたちの本や映画、美術館、博物館なんかの情報が静かにながれてきていて居心地がとても良い。参考になったり気づかされることが多い。とか言いつつ、ツイッターにどっぷりだったのでしばらく幽霊部員だった(て、大学のサークル感覚)

イーロン・マスクの登場でツイッターが終了して、個人的には6月に27歳のみけさんがいなくなったことが大きくて、自分の環境を変えるタイミングってあるんだなあ、ということでご無沙汰してたこちらを眺めて、改めて使ってみて、MastodonとはなんぞやActivityPub?みたいな調べ物を始めることとなった。

※残念ながら、今日時点、新規登録は受け付けてない。

以下は、登録日を見てもらえばわかるかと思うけど、ActivityPubで飛び交うJSONの具体例が欲しくて登録参加させてもらった。

https://mstdn.jp/
登録日:2023年7月16日 
Mastodonの日本サーバーといえばとりあえずここだということで登録してみた。ローカルタイムラインはカオス。正直なところ、なにがなにやらよくわからないまま。
参加者が多いからしょうがないと思うけど、見通しの悪いツイッターという印象。たぶんそれって、個人設定とかちゃんといじれば大丈夫、かな。
FollowやAnnounceなどなど、JSONの実物をこのアカウントとやり取りして採取していた・している(感心できない使い方、参加者ですみません)

https://himagine.club/
登録日:2023年7月21
MastodonだけじゃなくてMisskeyもどんなJSONが飛んでるのか具体例を知りたくて最大手と言われてるMisskey.ioを見たところ、盛大な絵文字の奔流ついていけず。老眼だし無理。
Misskey系はだいたい表示が重たい。画面内の情報量が多すぎてついていけない。
…と思ってたところ、見かけたのがこちら。firefishというサーバーでMisskey系ということだし、参加者さんもわたしの観測範囲では静かな印象で、落ち着けそうだったので登録。
緩やかに日常風景が流れてくるローカルタイムラインで違和感疎外感も覚えなくて、アクセスする頻度こそ低めだけど、まったり眺めて過ごせる。

https://fedibird.com/
登録日:2023年7月26日
こちらはローカルタイムラインがないMastodon。ということでなにが違うんだろかと、具体的なJSONを見てみたくて登録(招待制だけど、管理者の@noellabo@fedibird.comさんが時々招待コードを流してくれる)
わたしの見た、めちゃくちゃ小さい範囲だけで言っちゃうと、ここが一番ツイッターに近い。登録して居座った。
タグや検索で共通の興味をもつひとを捕捉できるのがありがたくて、言葉はアレだけど、こちらから「芋づる式」におひとり様サーバーでフォローするひとを引っ張ってくることが多い。

↓fedibirdの招待コード
https://fedibird.com/invite/NGBid2CH
もし興味をお持ちでしたらこちらからどうぞ。


ActivityPub確認検証のために参加したサーバーだけど、mstdn.jp以外はどれもオススメできる(mstdn.jpはすみません。ほとんど見てない)面白いサーバーで、サーバー管理者の顔が見えるところも安心できる要因のひとつ。

どのサーバーもFediverseに繋がるので、あまり深く考えずに「とりあえず」どこかに登録参加することをおすすめします。

image
(わたしは絵文字文化が苦手なので、Misskey系よりMastodon系の方が好き、かな)

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

profile

profile

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

ところてんx5

2024/2/29 03:07

ツイッターのフォロワーさんがけっこうブルースカイに移住してるからなあ…

2024/2/29 03:05

cronで回してデータベースに突っ込んで管理。もともとブルースカイは全公開が前提だし、雑に扱っても問題なさそう(え?

2024/2/29 03:02

ブルースカイはRSSを吐くので、巡回して拾い集めるスクリプトでも書けば購読に関しては自前で何とかなりそう、かな

検索
<<2024/3>>
     12
3456789
10111213141516
17181920212223
24252627282930
31

リンク

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

[3 Page] »
1 2 3

TOTAL:2981

2024 (4)
1 (2)
2 (2)
2023 (53)
1 (1)
2 (5)
3 (1)
4 (1)
5 (3)
6 (9)
7 (9)
8 (6)
9 (5)
10 (3)
11 (2)
12 (8)
2022 (16)
1 (1)
3 (2)
6 (2)
7 (1)
8 (4)
9 (2)
10 (1)
11 (2)
12 (1)
2021 (12)
1 (3)
2 (1)
6 (1)
8 (2)
9 (1)
10 (1)
11 (2)
12 (1)
2020 (18)
1 (2)
2 (6)
4 (1)
6 (1)
7 (2)
8 (2)
12 (4)
2019 (17)
1 (3)
2 (4)
3 (2)
4 (2)
5 (1)
6 (1)
8 (1)
10 (1)
12 (2)
2018 (21)
1 (3)
2 (2)
3 (2)
4 (1)
5 (1)
6 (6)
8 (1)
9 (1)
10 (2)
12 (2)
2017 (32)
1 (2)
2 (1)
4 (2)
5 (1)
6 (6)
7 (3)
8 (5)
9 (3)
10 (2)
11 (2)
12 (5)
2016 (41)
1 (5)
2 (5)
3 (2)
4 (3)
5 (4)
6 (6)
7 (2)
8 (2)
9 (3)
10 (1)
11 (4)
12 (4)
2015 (99)
1 (11)
2 (12)
3 (9)
4 (6)
5 (8)
6 (8)
7 (3)
8 (5)
9 (16)
10 (6)
11 (1)
12 (14)
2014 (112)
1 (16)
2 (5)
3 (6)
4 (12)
5 (16)
6 (19)
7 (9)
8 (6)
9 (4)
10 (8)
11 (6)
12 (5)
2013 (145)
1 (24)
2 (15)
3 (18)
4 (23)
5 (14)
6 (11)
7 (7)
8 (11)
9 (5)
10 (4)
11 (6)
12 (7)
2012 (103)
1 (1)
2 (1)
3 (4)
4 (3)
5 (7)
6 (26)
7 (17)
8 (5)
9 (8)
10 (10)
11 (11)
12 (10)
2011 (54)
1 (4)
3 (7)
4 (4)
5 (14)
6 (6)
7 (3)
8 (3)
9 (1)
10 (4)
11 (2)
12 (6)
2010 (70)
1 (12)
2 (7)
3 (6)
4 (6)
5 (3)
6 (10)
7 (6)
8 (4)
9 (3)
10 (4)
11 (3)
12 (6)
2009 (144)
1 (15)
2 (12)
3 (12)
4 (6)
5 (15)
6 (6)
7 (10)
8 (9)
9 (17)
10 (12)
11 (14)
12 (16)
2008 (148)
1 (10)
2 (6)
3 (10)
4 (11)
5 (13)
6 (10)
7 (13)
8 (19)
9 (18)
10 (12)
11 (13)
12 (13)
2007 (106)
1 (7)
2 (5)
3 (3)
4 (7)
5 (5)
6 (9)
7 (8)
8 (13)
9 (18)
10 (11)
11 (8)
12 (12)
2006 (158)
1 (28)
2 (28)
3 (25)
4 (7)
5 (9)
6 (7)
7 (12)
8 (13)
9 (10)
10 (7)
11 (6)
12 (6)
2005 (350)
1 (31)
2 (26)
3 (26)
4 (27)
5 (29)
6 (30)
7 (32)
8 (30)
9 (30)
10 (32)
11 (29)
12 (28)
2004 (292)
1 (24)
2 (24)
3 (29)
4 (27)
5 (28)
6 (25)
7 (26)
8 (24)
9 (12)
10 (19)
11 (26)
12 (28)
2003 (318)
1 (22)
2 (25)
3 (21)
4 (28)
5 (28)
6 (28)
7 (28)
8 (29)
9 (26)
10 (29)
11 (28)
12 (26)
2002 (317)
1 (29)
2 (26)
3 (26)
4 (25)
5 (28)
6 (30)
7 (27)
8 (21)
9 (25)
10 (27)
11 (28)
12 (25)
2001 (277)
1 (17)
2 (21)
3 (23)
4 (20)
5 (31)
6 (18)
7 (26)
8 (25)
9 (29)
10 (19)
11 (24)
12 (24)
2000 (53)
6 (9)
7 (4)
8 (2)
9 (3)
10 (1)
11 (15)
12 (19)
1999 (3)
7 (1)
10 (2)
1998 (18)
9 (9)
10 (7)
11 (2)