メールアドレス不要のマストドンインスタンスを作った

マストドンはメールアドレスを収集するのをやめろという話もありつつ、それを目指したイシューはクローズされてしまい、とりあえずメールアドレス不要でユーザー登録できるインスタンスを作ることにした。

マストドンのログインの機構は Device という異常な名前のライブラリに丸投げされているらしく、Device の内部は絶対にいじりたくないという気持ちがある。なので、データベースをSQLでダイレクトに叩くという野蛮な手法でやっていく。

具体的には

UPDATE users SET confirmed_at = CURRENT_TIMESTAMP WHERE confirmed_at IS NULL;

というSQLを1分間隔くらいで叩き続ける。すると、マストドンはメールアドレスの到達性確認が済んでいるものと誤解して、架空のメールアドレスでもログインできるようになる。これをシェルスクリプトにしたものがあるので、postgres ユーザーの crontab に1分間隔で登録する。-d mastodon_production という部分は環境依存なので、マストドンのために使っているデータベースの名前に書き換える必要がある。

架空の (到達性のない) メールアドレスでも登録できるものの、メールアドレスのバリデーションを通過する必要があるので、メールアドレスのように見える文字列 (alice@example.com など) を使う必要がある。ちなみに、アットマークが入っていればメールアドレスのバリデーションを通るので、idolm@ster あたりの文字列でもアカウントを作ることができる。

広告

投稿者: Hakaba Hitoyo

墓場一夜

“メールアドレス不要のマストドンインスタンスを作った” への 3 件のフィードバック

コメントは受け付けていません。