リレーのPleroma対応、現在の結論としては、PleromaにLinked data Signatures(LDS)のサポートを追加するのが最善という判断です。
--
PleromaのActivityには、LDSによる署名が含まれておらず、リレーから送信されてきたActivityが信頼出来るかどうか判断できません。
そのため、リレーから送信するところまでは動作するのですが、受け取ったサーバが拒否します。
通常の連合では、HTTP Signaturesによって、送信元、送信先、日時、送信内容(Activity)のハッシュを署名して送信し、受け取った側でそれを検証することで、改ざんされていない内容であることを確認しています。
Pleromaでは、これで必要十分であるとして、LDSのサポートを省略しています。
ところがリレーの場合、送信元が元の送信元ではなくリレーになるため、Activityの送信元と不一致で信頼できません。
#リレーの話
#ハッシュタグリレー
sidekiq、25 worker が一気に始動して、あとは順次入れ替わっていって、全部終わって次が来るの待ってる、という感じ。実に健康的なお通じ(ブチミリません)
この時、エラー出たら即座にあきらめてリトライしません。何かあって受取損ねたら、配信されないで終わります。
#リレーの話
#ハッシュタグリレー
リレーの配信ログみてると、早いところは 0.1 sec とかで終わるし、遅いトコは 3.3 sec とかかかったりしてる。まんなかは 1.0 sec ぐらいかな。さすがにドイツの非力鯖は遅い(ウチの観測鯖)。ちほーがやたら速い。
sidekiqが 25 worker で動いていて、ひたすら配信だけしかしてない。メモリは半分ぐらい空いてる。CPUは76ms平均とかそんな感じ。
これから何か実装する度に重くなるし、まだ最適化のことは考えていないけど、今は余裕がある。
#ハッシュタグリレー
#リレーの話
リレーに流れてきた12時間以上古いアクティビティを捨てるようにしてみました。
効果があるかはわかりません🤔
その他、OpenSSL 1.1.1に対応するテストなどを行っています。動いている。たぶん。
#ハッシュタグリレー
個人でリレーに参加する場合、リレーは、フォロワーの一人としてprivate投稿まで受け取っています。publicのみに制限していますが、privateをリレーしてしまうこともできます。
実質的にリレー先にフォロワーがいるときと同じなので問題はないのですが、流量が増えるだけでどのみち誰も見られないので、メリットが特にありません。
一方、未収載は、公開投稿の一種ですし、各サーバのアカウントから辿れば内容を見ることもできます。サーバに情報をキャッシュさせておくメリットもありますので、やる価値はあります。
なお、ハッシュタグはpublicが原則なので、未収載ではハッシュタグタイムラインで見ることができません。
ただし、imastodon方面に未収載タグを有効にする改造があります。これに対しては、未収載がリレーされた方が、認識されてハッピーかもしれません。
受信側で未収載を受け取る設定ができるようにしましょうかね。
ちなみに、リレーは投稿を改ざんできません。署名を検証する機能があり、発信元のサーバ以外で変更すると、受け取る側のサーバに弾かれます。
#リレーの話
#ハッシュタグリレー
ハッシュタグリレーは、2018年9月6日深夜に発生した北海道胆振東部地震の報を受けて、ハッシュタグの流通支援が役立つかもしれないと思い、午前中に鯖借りて昼に稼働と、半日で立てたところから始まっています。もともと専門でやるつもりじゃなかったという。
リレー本体のプログラムは、フィルタリング機能を持たせるための書きかけのヤツがあったので、ハッシュタグオンリーにする改造を場当たり的にやって投入しました。
まだ早すぎた感があり、そのときは特に活用されなかったのですが、徐々に認知が広がってきて使われるようになってきたので、結果オーライですね。
本日投入した個人参加機能は、大規模サーバや小規模サーバのように、サーバ単位でのリレー参加が難しい場合でも活用できるように考え出された機能です。
https://dtp-mstdn.jp/@noellabo/101480747534086773
theboss.tech閉鎖、及びそのテスト用インスタンスmasi鯖の閉鎖によって各地に四散している元参加メンバーへの支援でもあります。
まだ色々バグや機能不足があるので、そのへんを直して、正式投入したいと思います。
#リレーの話
#ハッシュタグリレー
なるほど、タグ固定でトゥートできる鯖は、ハッシュタグリレーと相性がいいんだな……。 #ハッシュタグリレー
スペルミスに気付く人だけが参加出来るトラップ(ではありません) #ハッシュタグリレー
【訂正版】
#ハッシュタグリレー への個人参加機能、一応動くようになってますので、βテスト的な感じでご協力いただけると助かります。
まず、ハッシュタグリレーのコマンド送信用botがリレーから直接生えてますので、これにメンション(@relayctl@hashtag-relay.dtp-mstdn.jpをつけて)指示を行います。特に公開範囲は問いませんが、DMが良いでしょう。
join で参加、leave で脱退できます。
joinすると、ハッシュタグリレーのバックグラウンドエージェントが個人アカウントをフォローバックします。
relayctlにメンションできて、外部からフォローできるActivityPub対応サービスなら、実はなんでもリレーに参加できるようになります。まぁ流れてきたモノにハッシュタグついてないと蹴りますがw
受信はできないようにしてあります。のちほど、サーバ管理者用に、受信するための機能も追加予定です。
ハッシュタグリレーへの個人参加、実は、Pawooの絵師と相性がいい機能なんじゃないかな。
参加してハッシュタグ付けて投稿すれば、自分の絵をみてもらえて、フォロワーが増えるチャンスが増えるっていう。
既にリレー参加している鯖でもjoinできますけど、特に意味はないので、気が済んだらleaveしておいてくださいw #ハッシュタグリレー
#ハッシュタグリレー への個人参加機能、一応動くようになってますので、βテスト的な感じでご協力いただけると助かります。
まず、ハッシュタグリレーのコマンド送信用botがリレーから直接生えてますので、これにメンション(@relayctl@hasttag-relay.dtp-mstdn.jpをつけて)指示を行います。特に公開範囲は問いませんが、DMが良いでしょう。
join で参加、leave で脱退できます。
joinすると、ハッシュタグリレーのバックグラウンドエージェントが個人アカウントをフォローバックします。
relayctlにメンションできて、外部からフォローできるActivityPub対応サービスなら、実はなんでもリレーに参加できるようになります。まぁ流れてきたモノにハッシュタグついてないと蹴りますがw
受信はできないようにしてあります。
#theboss_tech の皆さんは、ぜひ実地テストにご協力ください。
みんなごめんね!
ちなみに、経緯を飛ばして簡単に書くと、作業中の何かのミスで、redisのデータベースがまるごと飛んでました。
今回みたいにredisがまるごと飛んでると、各鯖から飛んできたアクティビティは未登録鯖から来たって扱いになって破棄されます。破棄は残念なようだけど、ある意味正解なので、悩ましいところです。
なお、単純にリレーサーバが落ちている場合は、参加鯖に詰まります。リレーが復帰すると、詰まってるヤツが流れてきて、一気にリレー先に流れるので結構大変なことになりますw 今後はこれも捨てるようにする方向で考えています。
ハッシュタグリレーは、Chris Hobbsさんが作成されたCrystal(初期)のリレーをベースにして作られているんだけど、登録情報がぜんぶredisにのってるのね。中身はドメインとinbox_urlぐらいなので、たいした情報じゃないんだけど、やはり簡単に飛ぶので怖いねw
いま、新機能入れたりとか整備してるんで、またちょっと不安定なタイミングあるかもしれないけど、何かおかしかったら私にメンションください。
#ハッシュタグリレー
《ハッシュタグリレー障害情報》
本日09:36:00〜12:09:40にかけて、ハッシュタグリレーの機能が停止しておりました。ご迷惑お掛けしました。
現在正しく動いております。
また、この間に各サーバより受け取ったアクティビティは破棄されておりますので、再送は行われません。 #ハッシュタグリレー
#ハッシュタグリレー ですが、さきほどまで数時間分のジョブを抱え込んだまま死んでいたようで、現在一気に吐き出されております。
しばらく連合が大変な状態になるかと思いますが、なんとかやり過ごしていただければと思います🙏
ご迷惑をおかけいたします。
DTP・デザイン・印刷のテーマサーバ DTP-Mstdn.jpやってます。
#Illustrator #スクリーン印刷 #インクジェット #カラーマネジメント #運営
#searchable_by_all_users