ひまつぶし雑記帖

おひとり様ActivityPubサーバー自作実装メモ

2023/9/8 [15:45:34] (金) 天気

ActivityPubを通じてMastodonなどFediverseと呼ばれるネット連合からアカウントとして認識されるように最低限のサーバー構成を作ったのが7/12。その後、秘密鍵・公開鍵を使えるperlのモジュールをlolipopレンタルサーバーにインストールできたことで、それっぽいものにしあがって、実際に運用して今日に至る。

「ため池」
↑perlで自作実装したおひとり様ActivityPubサーバー

そもそもMastodonやMisskeyなどのサーバーを立てるスキルがない。わたしには難易度が高すぎる。
自分のわかる範囲で自作実装したので、間違ってる・勘違いしてるところもあるかも知れないけど、今のところ意図通り。
この雑記帖と同じレンタルサーバーに展開して追加の費用なども必要ない。

自作とはいえ、スグ忘れるのでまとめてメモしておこう、というのがこのエントリ。
5分以上前の自分はアカの他人。

Fediverseからアカウントとして認識されるために必要なもの
1)nodeinfo(json)
 サーバー情報。
2)host-meta(xml)
 webfingerのURL。
3)webfinger(json)
 ユーザー情報のURL。
4)actor.json(json)
 ユーザー情報。type:Personのjson。
上から順番にアクセスされて4のユーザー情報にたどり着けばActivityPubサーバーのアカウントとして認識される。
1と2はなくても大丈夫らしいけど、webfingerのURLは「/」だったり「/.well-known/」だったりするので、2の「/host-meta」で教えてあげる。

「ActivityPubを使ってFediverseにたどり着く」
↑各ファイルの詳細。


おひとり様サーバーとして動作しているスクリプトは2つだけ。
・飛んでくるリクエストをさばく門番的スクリプト
・タイムラインを表示、投稿、管理するスクリプト


【飛んでくるリクエストをさばく門番スクリプト】

ActivityPubでの会話を求めて飛んでくるリクエストはいろいろ。
アカウント情報を取得するためにactor.jsonをリクエストされるし、ActivityとしてCreate(投稿)Follow(フォロー)などのリクエストが飛んでくる。

まず「.htaccess」を設置
rewrite ruleでパラメータをつけて門番スクリプトにリダイレクトするところからスタート。

リダイレクトされてリクエストを受けつける門番スクリプトの仕事は以下。

サーバー情報やユーザー情報はGETでリクエストが飛んでくる。
リクエストされたURLに応じて、門番は用意してある静的ファイル、jsonやxmlファイルを返す。
ActivityPubのjsonファイルは「Content-Type: application/activity+json; charset=utf-8」をヘッダにつけるのが必須。

followerやfollowingにアクセスされた時はfollower、followingを記載したテキストファイルを読んで、静的ファイルにそのリスト情報をくっつけて返すようにした。

Activityリクエストは「ユーザー名/inbox」にPOSTでリクエストが飛んでくる。
これはまとめて門番で受け取って。
・HTTPヘッダ類
・content(ボディ)
これをひとつのログファイルとして、所定のディレクトリに保存する。
ボディ=jsonを読んで、CreateだのFollowだのUndoだのログファイル名の一部にしておく。
門番スクリプトの仕事はここまで。

ヘッダ類もログファイルに収録するのは。
公開鍵とhttp signatureで、飛んできたリクエストが正しく署名されているか検証する必要がある。
Mastodonなんかはたぶんリクエストが来たらその場で検証までしてるはずで、ログファイルなど必要ないと思う。
わたしの場合、まだよくわかってないことが多くて、ログファイルで確認したいことがあるので、そのためにログファイルを残している。

ActivityのPOSTリクエストのうちいくつかは今時点スルーしている。
仕様的にはMUSTとかSHOULDだったりするものもあって、対応が必要と思われるけど、ウチの運用的にそれ必要?と微妙なもの…要検討。


【タイムラインを表示、投稿、管理するスクリプト】
あまり考えず「ため池」という名前にした。

Mastodonでいうところの「ローカルタイムライン」のために投稿用のデータベースを用意。

といっても、テーブル2つだけ。それも1つはログインに使うだけのもの。投稿用のテーブルはテキストと、画像のURLや幅・高さぐらいを記録するメモ帳。
投稿するには重複しない一意のIDが必要で、それにはデータベースが便利に使える…ほぼそのため。

おひとり様サーバー、ユーザーはわたしだけ。サーバーに登録しているユーザーの投稿を表示する「ローカルタイムライン」は、わたしの壁打ちとなる。


フォローしたひとの投稿を表示する「ホームタイムライン」はファイル管理。

自分以外、ひと様のデータを持たないのが原則。ひと様のデータを溜め込むといろいろ考えなきゃいけないことが出てくるから。

ため池にアクセスすると、門番スクリプトが保存したログファイルを開いて。
まずはHTTP SignatureのVerify。
actor情報をリクエストして、公開鍵を取得。公開鍵を使ってログファイルのヘッダ情報にあるSignatureを検証する。
Signatureに問題がなければ、Activityに応じた所定のフォルダに、所定の命名規則で名前をつけたjsonファイルを保存。元のログファイルを削除。

「RSAモジュールで公開鍵と秘密鍵」
「HTTP Signatureをlolipopレンタルサーバーで作成」
↑秘密鍵、公開鍵について

タイムライン用に保存するjsonファイルはCreateかAnnounceのNote
・上限20個
・期間1日
ディレクトリのファイルを読んで制限以上になっていたら削除。
フォローイングが増えてくると、読まないまま削除される方が多いし、さらにフォローは増やすつもりなので、読む・目にする投稿の方が圧倒的に少なくなる。知らない間に流れてきて知らないうちに削除されている。

でも、SNSはそのぐらいで適正だと思う。
その時その場で見たものがすべて。「袖すり合うも他生の縁」だ。

「ホームタイムライン」用に保存するjsonファイルは「to」に「Publish」(全公開)が指定されているもの限定(サークル投稿を除く)
この「ホームタイムライン」を表示するにはログインが前提。つまり、見ることができるのはわたしだけだ。

ホームタイムラインの投稿にフォローしたひとのアイコンや名前を表示させるために、actor.jsonをリクエストしてpersonを取得してそこからアイコンのURLや名前を取ることになる。
これだけのためにリクエストが生じるんで、ホームタイムラインの表示が重い。

[10/24 09:27:53]
さすがに重すぎでキレた…ので、不本意ながら、表示名とアイコンURLに限っては、キャッシュすることにした。
当然、表示は劇的に早くなった。
キャッシュの期間は30日(要検討)。
Updateのリクエストがpersonだったら確認してキャッシュに反映。

本当だったら非同期で情報を更新したいところだけど、Javascriptとか面倒くさいし、メンテやエラーの特定にあっちもこっちもになってコスト高なので却下。手動更新。

見るのが自分ひとり、一般公開はしないということから、表示が重いのは我慢、また、同じ理由でいくつかのリクエストはスルーしてもいいかな、と。

[10/04 12:53:50]
というのが、ログファイルが貯まるとさすがに重すぎるので、このフェーズだけ抜き出したスクリプトを作ってcronで5分間隔で回すようにした。


MentionとFollowは別扱い。
両方とも確認してから返事するなりフォロー返しするなりしてから手動で削除することにした。

FollowをAcceptしたら、Followのjsonを保存して、followersのリストに登録する。
Following、こちらからフォローする場合も同じ。Followingに使ったjsonを保存して、followingのリストに登録する。Followingのjsonを保存するのは、フォロー解除するUndoのために、元になったjsonが必要だから。uuidでIDを作ることにしてしまって、残しておかないと元のjsonを再現できないというオチ。

Mention
連絡先としてサイトや名刺など今まではtwitterのアカウントを入れたんだけど、twitterがなくなったんで、こっちを「連絡先はこちら」にしたい。Mentionを見落としちゃまずいんで、これも確認からの手動にした。

[09/21 10:05:12]
リクエストとして飛んでくるブーストは対応済みで、こちらからブーストのリクエストを飛ばすのも実装してみた。
「おひとり様ActivityPubサーバーにブースト実装」
いろいろ考えなきゃいけないことあった(改めて)

[10/03 10:57:44]
「おひとり様ActivityPubサーバーのjsonの実例」
投稿するのに実際に使ってるActivityPubのJSONの実例をメモした。

[10/06 10:26:14]
「おひとり様ActivityPubサーバーにLike実装」
Likeされる方じゃなくて、する方の実装。
WEB拍手みたい感じで使うのがいいかな、と。

[12/22 07:40:43]
「ActivityPubサーバーのGETリクエストに署名」
GETリクエストでactor情報などを取得する時にHTTP Signatureが必要なサーバーもあった。
GETにも署名することにした。

[12/27 10:01:38]
「おひとり様ActivityPubサーバーにBlock実装」
レアケースだけどBlockも対応した。

[2024/01/23 09:08:36]
「おひとり様サーバーの改修」
Fedibird.comやkmy.blueなど一部のサーバーが実装しているサークル機能に対応…といっても読むだけ。サークル作成やサークル投稿に対する返信は未対応。

■以上、雑なまとめでした■
ディテールというか無駄の多いエントリはカテゴリからどうぞ。
「ActivitiyPub::ひまつぶし雑記帖」


以下のサイトを参考にさせてもらっておひとり様ActivityPubサーバーを実装することができた。感謝深謝。
「NetlifyとSupabaseでほぼ静的なActivityPubサーバ」
「Fediverse入門―非中央集権型SNSサーバを作ろう!」
「田舎の昼のサイレンbotをActivityPubで実装する(マストドンにアカウントを認識してもらう編)」
「ActivityPubの実装についてのメモ」

ActivitiPub本家本元。
「ActivityPub」
「ActivityPubの仕様(和訳)」

image
[12/13 08:30:17]追記。
Activityなどの実装・対応状況

[済]Create
noteを投げ込むのに使用
[済]Follow
followしたらfollowingリストに追加。json保存。
followされたらfollowersリストに追加
[済]Accept
followされたら許可
[未]Reject
followされたら拒絶
[未]Update
noteやpersonなどオブジェクトの更新
[済]Delete
noteの削除…のはずだけど削除できてない。要調査。
[未]Add
オブジェクトの追加
[未]Remove
オブジェクトの削除
[済]Block
ブロックされたらリストに登録。間違えてFollowするといけないので、Followリクエストを飛ばす時にブロックリストも確認する。
[済]Like
いいね。
したらjson保存。14日間。
されたら1日だけ表示。jsonは3日間だけ保存。
[済]Announce
ブースト。
したら、7日間ため池データベースに保存。期限がすぎたら削除、undo
されたものはスルー
[済]Undo
やり直し。
ブーストの取り消しとフォロー解除は対応済み。Likeは未対応。


[済]Mention
DMみたいなものだからJSON保存。確認して手動で対応。
[済]Hashtag
お一人さまだと意味はないけどとりあえず
[未]Replies
リプライは実装しない方向で

Json-LDの署名について不明。手がかりにできそうなURL
jsonの日本語訳PP版
MastodonのJSON-LD署名と検証
MastodonのJSON-LD署名の実装rubyのコード
JSON-LD関連のコード
graph rdfとかよくわからんけど、関係しそうなところ
LDのAPI

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

思考ツールの構築

2023/9/1 [00:04:05] (金) 天気

うわ。なんか、虫唾の走る啓発系本のタイトルみたいで、自分でムカつく。
…のはともかく、還暦を過ぎて、明らかに脳みそが劣化してるんでそのサポートにいいかも、と思ったんでメモ。

この雑記帖以外のナニかを最近作ったんだけど、これらがけっこう使いものになってる。

1)思いつきを垂れ流すひとり言掲示板。
ところてんx10
2)ネットに放流するのに使うおひとり様ActivityPubサーバー。
ため池
3)そして、1998年から続けてる雑記帖。

思考はまさにこの番号順。

1)ひとり言掲示板という、ただのメモ。
スマホで手軽気軽に入力できるので思いついたらその場でちゃっちゃと記入。
そんな思いつきみたいなものをネットで公開?…てのは、公開する意味は意外にもあって、こんな辺境でアクセスログを確認してもほとんど見られていない場所だけど、それでも見られてしまうかもしれないとか考えると、思いつきとはいえ迂闊なことは書けない。ひと目をそれなりに意識したものになる。
保持するのは100個だけ。100個以上はところてん式に古いものを削除。表示させないのではなく、データベースから文字通り削除している。思いつきが流れて消えてしまう前になんらかのカタチにしようと思うことが増えた。つまり、自分で自分を急かしてる。
この2点だけでもこのひとり言掲示板は、わたし的にめちゃくちゃポイントが高い。生産性が上がったとかクソ啓発系ビジネス書みたいなこというけど、自画自讃。

とにかく。思いつきをテキストにして入力するのが楽しいんだわ。

スクリプト的には手抜きもいいとこで、今まで作ってきたスクリプトの中でも難易度は最低レベル。データベースもリレーションなんてないただのメモ帳。

ていうか、これ、間違いなく還暦を過ぎた老化現象。こうしてテキストに落とし込んでおかないとすぐに忘れてしまう。若い頃ならこんなの必要はなかったと思う。

2)おひとり様APサーバー
ひとり言掲示板でネタをためて、この雑記帖のエントリにする、というのが元々の発想だったんだけど、twitterがなくなったこともあって、あれこれ調べて作ったりして面白かったので、こいつも使うようにした。
こっちはひとり言掲示板と違って、Fediverseというネット空間に意図をもって投稿する、ことになるので、わたしの知らないサーバーに表示されるかも知れないし残るかもしれない。自分のコントロールがきかないので、かなり「よそいき」を意識する。
元ネタとしてひとり言掲示板に書いたものから拾うようにする、とりあえずひとり言掲示板に書いてみるのが前提。
twitterなんかのSNSはつい何か言いたくなってしまうことがあって、それは承認欲求だったりマウントだったり、我ながら、動機がロクでもない。
ひとり言掲示板を起点、発火点にすることで、ひと呼吸おけるようになった。

てのはともかく、twitterやfacebookみたいな中央集権型のSNSには愛想が尽きたんで、おひとり様APサーバーをSNSの窓口にしていく。
こいつの発想や仕様をちゃんとメモしておかないと忘れるので、もう少し枯れてきたら雑記帖のエントリにしよう。

3)雑記帖
1998年からなにか書いてる日記で、25年ほど続けてるんで、そこにはなにか狂気を孕んでたりしてのちのち評価されたり…なんてことは1mmもなく、ただただ凡庸でくだらない事象心象についてつまらない文章で書かれてるだけ。
とはいえ、ここまで続けてきたので、レンサバの契約切れとかわたしの健康面金銭面での都合でやむなく終了するまでは書き散らすつもり。
これを作った頃はまだスマホじゃなくてPCだったんで、入力フォームやもろもろPC前提。増改築の継ぎ足し継ぎ足しでスクリプトはこんがらがってるなあ。今となっては無駄なIE対応のCSSなんか読み込んでるし。

現状、ひとり言掲示板の大勝利。
image
2023年も、もう9月。還暦を過ぎると月日の流れがいっそう早くなるなあ。

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

おひとり様ActivityPubサーバーにタイムライン追加

2023/8/30 [14:11:40] (水) 天気

発信専門でいいかと思ってた「おひとり様APサーバー」をしばらく使ってて、やっぱりタイムラインが欲しくなった。フォローしたひとの投稿を表示する、Mastodonでいうところのホームタイムライン。
結局、投稿を閲覧するのにあっちのMastodonこっちのfirefishと行ったり来たりするのが面倒くさくなった、ということもあって、ここだけで完結できればそれに越したことはない。

とはいえ、要求される機能を満たすのはなかなかしんどいので、ここも必要最小限で追加してみた。
たぶん、すぐ忘れるのでメモ。5分以上前の自分なんてあかの他人だしなあ。

表示させるのは「to」に「Public」の指定のあるもの=全公開OKなものだけ(公開範囲がいろいろあって、全部を振り分けするのは面倒くさいし事故の元)
そして保持するのは1日だけ、最大個数20個まで(設定ファイルで制御)
データベースは使わない。ログファイルを振り分けて保存して、規定の期間個数に達したら古いものから削除する。

自分以外のひとのデータを持つのはいろいろ考えなきゃいけなくて、削除してしまうのは、そのリスク回避もある。データベースでも同じことだけど、ただのファイルだと、何かあったらFTPでログインしてその場で削除すればいいしね。慌ててデータベースにdeleteを投げるのは事故の元。

フォロー数が増えたら、この程度のデータ保持数だと見られない投稿の方が全然多くなる。
でもSNSなんて「袖すり合うも他生の縁」その時その場での関わりでいいと思ってるんで問題はない。むしろ本来こういうカタチが正しいと思ってる。

Mentionだけは別扱い。「連絡先はこちら」というのでこれまでtwitterのアカウントを使ってたんだけど、twitterがなくなったのでどうしたもんかと思ってたところ。今後は「連絡先はこちら」におひとり様APサーバーを使う。

「@t2aki@tokoroten.doncha.net」

↑これを検索してもらえれば、おひとり様APサーバーのアカウントが表示されて、そこにメッセージを飛ばしてもらえればわたしに届く。
もちろん、MastodonやMisskeyなんかにログインしている・アカウントが必要となる。twitterやfacebookと違ってハードルは高い。これについてはそのうちMastodonなんかが当たり前になればハードルは下がるし、そもそも、公開する連絡先なんて多少ハードルがあるぐらいでちょうどいい。

MentionはNoteの中のtag配列に「type:Mention」のブロックがあったらそこに宛先も記載されている。それで判定できる。
Mentionは、ログインしてないと見られない=見られるのはおひとり様サーバーのわたしだけ。

自分の投稿に対するLikeや、自分の投稿をブーストされたら、それらもリクエストが飛んでくる。
ご褒美とか承認欲求という言葉になるんだろうけど、ここは割りとどうでもいいので、それらのリクエストは受けた時点で破棄。
だいたい、こんなのはサイトのアクセスログを見ればわかることで、そっちの数字の方が確実だ。
本や雑誌でいうと、評価よりも実売部数、というのを肌身に染みて思い知らされてきたしね。

どうでもいいごたくを並べたけど。
こういったフロント側、閲覧側はかなりうっとーしーことがいろいろ。
タイムラインというからにはリアルタイムで表示を更新するのが当たり前。だけど、同期にしろ非同期にしろJavascriptなんかを使って閲覧してる裏でデータを確認取得しなきゃいけない。
飛んでくるリクエストを捌く、入口で門番をしてるスクリプトがあるのでデータが来たことはそれこそリアルタイムで検知している。
でもJavascriptは触りたくない。メンテが大変なのだ。どこが原因なのか特定するのにこっちまで見なきゃいけないのは労力に見合わない。
てことで、リアルタイム更新は却下。手動F5にした。

そんなオレオレAPサーバーは
「ため池」https://tokoroten.doncha.net/tameike.pl
絶賛壁打ち中です。
image

Noteの公開範囲についてはfedibird管理人ののえるさんの投稿
https://fedibird.com/@noellabo/110573926847901369
「ToにPublicが指定されていれば『公開』」
を参考にさせていただきました。ありがとうございます。

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

HTTP Signatureをlolipopレンタルサーバーで作成

2023/8/22 [09:42:59] (火) 天気

ActivityPubでPOSTするには電子署名が必要。
というエントリを書いたけど、WEBでサーバー同士でやりとりしたり、WEBサービスのAPIを利用したり、電子署名が必要なのはActivityPubに限らず。

ちらほら書いてきたように、lolipopレンタルサーバーにはperlで電子署名をする時によく使われるモジュール「Crypt::OpenSSL::RSA」がインストールされていない。
ということは。lolipopではHTTP Signatureを作ることができない「Cryptが使えないんじゃ話にならない」ということになる。

しょうがないんで、ローカルにcpanから「Crypt::OpenSSL::RSA」をインストールして、ActivityPubにPOSTする時はローカルのスクリプトを使う、という急場しのぎ。
これはこれで、投稿するのにひと手間あった方が事故も起こさなくていいかな、と思ってやってたんだけど、やっぱりサーバー上だけでやれるならラクちんなことは確か。

なもんで、グーグル先生にお願いしてみたら
「Crypt-Perl-0.38」https://metacpan.org/pod/Crypt::Perl
↑pure perlのCryptモジュールがあった。

インストール時にコンパイルが必要なモジュールはOSやファイル構成、環境に依存するけど、PurePerlというのはperlだけで作られているので、perlさえあればサーバーにそのままアップロードして使える。

さっそくダウンロードして展開。テストスクリプトで試したところ、依存関係で必要なモジュールがあったのでそいつらもダウンロードして展開。

Class-Accessor-0.51
Bytes-Random-Secure-Tiny-1.011
Convert-ASN1-0.34
Crypt-Format-0.12
(あと、たぶん以前amazonのAPIがらみでインストール済みのpure perlのDigest::SHAも必要)
当然ながら(?)これらのモジュールもpure perlなので、コンパイル不要、展開するだけで使える。

サーバーの適当なところ、例えば「lib」というディレクトリを作って展開したファイル群をアップロードするだけ。
lib/Bytes/
lib/Class/
lib/Convert/
lib/Crypt/ 
スクリプトで use lib 'lib' などとやればlolipopレンタルサーバーでもCrypt RSAが使えるようになる。

いや。ぶっちゃけ。これらモジュールの作者のみなさんには大感謝。大袈裟じゃなく狂喜乱舞小躍りだった。ほんとうにありがとうございます。
マジperl使いすげー。perl話者が減ってるだろう昨今、凄腕のperl使いはワシントン条約で保護すべき存在。

使い方は「 RSAモジュールで公開鍵と秘密鍵 」とほぼ同じ。

秘密鍵を使う
my $privatekey = Crypt::Perl::RSA::Parse::private($private-pem);
公開鍵を使う
my $publickey  = Crypt::Perl::RSA::Parse::public($public-pem);

Signatureを作る。

my $sign = $privatekey->sign_RS256($sign-str);
encode_base64($sign, "");


Signatureを検証する。

my $decoded = decode_base64($sign);
$publickey->verify_RS256($sign-str, $decoded);



あとは。
こうすると、思いつきから投稿放流までが直結するので、事故を起こさない自制心が必要となるです、はい。
image

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

ActivityPubサーバの終わらせ方

2023/8/15 [10:29:00] (火) 天気

おひとり様ActivityPubサーバーというか、最低限のオレオレAPサーバーを立ち上げた、のはいいけど、これの終わらせ方も調べないとダメ。
どんなアプリも起動方法と終了方法はマニュアルに必須の情報。

もうこのサーバーは終了しましたというお知らせを出せばいい、とのこと。

サーバー(サイト)へのアクセスに対して
「410 gone」(もう存在しません)を返す。

.htaccess

RewriteEngine On
RewriteRule .* - [G]


これで、サーバー(サイト)は終了しました、というお知らせになる。

いつまでこのお知らせを出せばいいのか。

特に決まりごとはない。
原則、サイトがある限りこの状態にすればいいということだけど。
このサイトはもう存在しませんよ、というのが周知されればOK…いや、周知されたかどうか知る方法はない。なので、根拠なく数ヶ月ぐらいでいいんじゃないか、とも言われている。

DNSの反映にしてもすべて行き渡るのにどのぐらいかかるのか知るよしもなしで、ネットがからむといきなり運任せというか神さまだけが知っている、という状態なのがメタな話で閑話休題(それはさておき)

サーバーのドメインを維持し続けるならともかく、サーバーもドメインも削除することもあるだろうし、その場合はその削除までのお知らせ掲載期間として数ヶ月もあればいいということかな。

サーバー(サイト)終了のお知らせが必要な理由は。

おひとり様APサーバーといっても、Fediverseに繋がることになる。
一度なんらかのアクションを起こすと、おひとり様APサーバーが、他のサーバーからリクエスト先として認識される。そうすると投稿やフォローはもちろん、各種Activityのために他のサーバーはリクエストを飛ばしてくる。

ところが、サーバー(サイト)をお知らせなしに終わらせると。
他のサーバーは存在しないサーバーがメンテで落ちてるのか本当になくなってるのかわからない。しょうがないんで、リクエストを再送しようとする。これが負荷になる。ネット全体に悪影響となる大きな負荷ではないんだろうけど、それでもチリツモ。
なので、ちゃんと終了のお知らせ掲載は必要。

どれだけの数のサーバーに繋がるのかは、それこそ神のみぞ知る領域。気軽手軽におひとり様APサーバーだっ!とか言ってもひとはひとりで生きるわけじゃない、とも。ActivityPubで繋がることの魅力でもあるし、そこに生じる責任とか、やらなければならないことの自覚も促されるところ、だ。
わたしみたいにミーハーな勢いだけでおひとり様オレオレAPサーバーとか言ってはしゃぐだけじゃダメです(自戒)
始めたものを終わらせる準備はしておく。

お盆だしね。
image

参考にさせていただいたサイト。
いつかサーバーを閉じるとき 〜お金をかけずに 410 を返す方法〜
あまり手間も費用もかけずに410 Goneを返してみる
RewriteRule Flags
サイトを完全に削除する方法

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

ツイッター後のSNS事情

2023/8/8 [19:40:52] (火) 天気

ツイッターが亡くなったんで、あちこち模索しつつ、今までのほかのSNSも整理整頓。
いや、お前のSNS事情など知ったこっちゃない、というのはもっともだけど、ここはわたしのあんなことやこんなことの垂れ流しの場所なので、知ったこっちゃないのは承知のネタ。今回はほんとただの備忘録。

まず最初に、Facebookとinstgramはアプリ削除。
もともと、ザッカーバーグというやつのソフビ人形みたいな顔が気に入らないのはともかく、メタのやってるSNSは、フィードの表示基準がまったく理解できなくて論外。なんで今、その投稿が最初に表示されてる?とか、マッチングで表示するとかいってる広告もハゲだの大人の出会いだの、いくらなんでもクソすぎて見るに堪えない。
ハゲは病気じゃないし恥じることでもない(ちょっとかっこ悪いだけだろ)大人の出会いってシモの世話も視野に入ってくる還暦はそっちのシモの話じゃない。
まあ、ありていにいってfacebookもinstagramもクソ。

facebookはリアル知人たちがいる、instagramは亡くなったみけさんの写真だらけ、ということでアカウント削除まではできないんで、アプリ削除で勘弁してやる。

さて、Xこと元ツイッターだ。
(旧)ツイッターのAPIを使って公開しているWEBサービスについては、サービス終了や一部機能の停止をアナウンスしたのでこっち側の手当はした、つもり(ずいぶんいろいろなところでツイッターのAPIを利用してたなあ…)
なので、ツイッターを使い続けるメリットはもはやどこにもない。
…メリットはないんだけど、わたしが見たいアカウント、ツイッターでしか見ることができないアカウントがいる。具体的には、猫アカウントのひとたちなんだけど、わたしが見てるひとたちは、本当に猫が好きだし、猫との距離感もいい感じだし、いちいちコメントも頷けることばかり。
なので、Xについては、アプリ削除すると困る。
非公開リストを作って、猫アカウントのひとたちを登録。Xにログインしたらそのリストを見る、だけにする。
ちなみにリストの名前は「twitter」にした。
(こっちは、かなりイケてる猫アカウントばかりを厳選してるので、興味のあるひとがいたら連絡ください。こっそり共有します)

そして「ツイッター後」の今日時点でいうと。
Mastodonに軸を移した。
この雑記帖でもここんとこのネタはActivityPubばかりなのはそのへんのことがあったから。
ザッカーバーグやマスクのところに依存することがない、誰かやどこかに依存することのないFediverse、連合空間に魅力があったから。

今のところ、以下の4つのサーバーにアカウントがある。
https://bookwor.ms
https://fedibird.com
https://himagine.club
https://mstdn.jp
2017年、6年ぐらい前に登録してる「本の虫」https://bookwor.ms 以外はつい最近。ActivityPubのテストも兼ねて登録したところ。どのサーバーもオススメできると思う。

この中で一番(旧)ツイッターっぽいところは「fedibird」かな。
「himagine」はちょっとオタク臭が強いので、わたしは平気だけど、抵抗のあるひともいるかもしれない。
「mstdn」は登録者数も多くてそのボリュームがいいところだろうと思いつつ、おひとり様APサーバーのテストでしか使ってないので、ここの傾向と対策は不明、だ。

で、Mastodonというかそっち系は、Facebookやtwitterとは違って、複数のサーバーの集まった連合集団。
1つのアプリで見るものを共有できる、というものではないのがボトルネックになる。
PCのブラウザで見ればいいんだろうけど、SNSの利用状況は、スマホファースト。となったときに、スマホでブラウザで、というのは老眼老人には厳しいんで、アプリを探すんだけど決定打がない。オススメされたアプリで見たんだけど、たぶんサーバーごとに実装が違うところがあって、同じ操作で同じ表示になっていないっぽい。

ひらたく例を探すと。
医者の待合室。おばあさん、おじいさんたちが、テレビのニュースやワイドショーにいちいち頷き、ツッコミを入れながら知り合いのおじいさん、おばあさんとあれはねえとか共有する世界があって、(旧)ツイッターはそこにちゃんとあったんだけど、今のツイッターもマストドンも、あっちこっちのテレビの言うことが違うんで、そんなん聞いてへんで、という齟齬がでてくる、ということになってる。てな感じかな。

そのあたりの状況をちょっと把握する必要があるかもだけど、Mastodon系はツイッター後のSNSとしては面白いんじゃないかと思ってる。

で、んなことを踏まえつつ。
そのマストドンと繋がるおひとり様サーバーというかオレオレサーバーも最低限のActivityPubを実装できたんで、SNSはマストドンだけでいいんじゃないかという今日このごろです。はい。

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

profile

profile

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

ところてんx5

2024/4/20 13:29

役に立つからとか身を助けるからとか、んな理由じゃなくて、面白いからとか好きだからで、寝食忘れて何かに没頭する時期があるかないかで、何かの分かれ目になると思う

2024/4/20 13:06

シンボリルドルフ当時。パソコン仕事でまったく関係ないし、ただのオモチャ。
なんで役に立たないことやってんの、だったもんなあ

2024/4/20 13:04

何度も同じことを言う老人特権。
ほんと、馬券、競馬から入ってパソコン使うようになったおかげで、この歳になっても小銭稼ぎできるんだから、何が幸いするかわからんものだ

検索
<<2024/4>>
 123456
78910111213
14151617181920
21222324252627
282930

リンク

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

[30 Page]« »
1 2 3 4 5 6 7 8 9 10

TOTAL:2982

2024 (5)
1 (2)
2 (2)
3 (1)
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)