各サーバのユーザ数も考慮しないとダメかな…
https://mastodont.cat/@versions/109757045251123540 を棒グラフに。そろそろ3.5未満の対応を捨ててもいい?
「IPアドレスでも分かるじゃないか」は「アカウント切り替え時にVPNも切り替える」などユーザ側の対策があるが、それをしていた場合でもプッシュ購読エンドポイントURLに埋め込まれたパラメータによって努力が無駄になるかもしれない、ということだ
URL中に情報を入れてDBなしで中継できることの方が、彼らにとっては素晴らしく思えたらしい。
まあ俺も別件でこないだDB飛ばしたので気持ちは分かる
マストドン公式アプリの通知中継サーバはデバイストークンを漏らす。このトークンは1アプリに1個なので、悪い鯖の管理者が照合すると複数アカウントのユーザが同じだということを検出できてしまう。
STのアプリサーバはnode.js だったが、今回はKotlinでKtor (Server,Client), Exposed, HikariCP という構成。やはり書きやすいわ… https://github.com/tateisu/ProtPushProxy/blob/main/AppServer/src/main/kotlin/Main.kt
端末側で鍵生成とプッシュメッセージの暗号解除をやる部分。 https://github.com/tateisu/ProtPushProxy/blob/main/PushReceiverApp/app/src/androidTest/java/jp/juggler/pushreceiverapp/WebPushCryptTest.kt
マストドンにアカウント登録してプッシュ通知を受け取って表示するだけのプロトタイプを書いてる。受信時にAPIアクセスしない。Unified Push対応。複数アカウント対応。Androidアプリ側でWebPushのデコードやるのマジ面倒だった
#SubwayTooter 5.511 https://github.com/tateisu/SubwayTooter/releases/tag/v5.511 is now on pre-release state. v5.510 is now on production state.
Android gradle plugin 7.4.0 はバグいな…。リリースビルドで謎エラーおおめ
@highemerly Linkヘッダが複数ある場合にそのうち1つしか読んでなかった、という問題がありました。なおします。
@highemerly リストの終端とでるのは「次回どこから読むか」を見失った場合、マストドンでいうとLinkヘッダーに次回どこから読むかの情報がない場合です。とりあえずそのサーバにアカウント作って試してみますか…