Discourse ショートリンクルーティング | サポート URL を簡素化

あなたのサイトにあるすべてのものに「このテーマをインストール」ボタンがあればいいのにと、思ったことはありませんか?それを可能にするサイトを作成しました!https://discourserouter.pyxfluff.dev でご利用いただけます。

例えば、

このページは example.com/admin/config/emoji/settings でご覧いただけます。

と言う代わりに、

ここで変更できます: https://discourserouter.pyxfluff.dev/admin/config/emoji/settings

と表示できるようになります。

サイトを初めて訪問すると、サイトの追加を促されますが、クッキーに保存されるため、以降は同じサイトを引き続き利用できます。これは直接パスの置換であり、パス接頭辞は不要です。あなたのフォーラムの URL を discourserouter.pyxfluff.dev に置き換えるだけです!

紹介


なお、これはまだ新しい製品であり、問題が発生する可能性があります!問題、ご意見、その他のフィードバックは、こちらのスレッドで報告してください。私はできる限りのテストを行いましたが、100% 完璧である保証はありません。

ソースコードは GitHub で Python (FastAPI) プロジェクトとして公開されており、プルリクエストも歓迎します。

運用コスト

現在、このサービスは自宅のサーバーで動作しているため、ドメインの年間 10 ドル以外のクラウド利用料は発生せず、無料で運用できています。将来的には独自ドメインでの展開を検討していますが、現時点では公開の寄付先 URL は用意していません。もし正式なドメインのスポンサーになりたい場合は、PM でご連絡ください。何かしら対応できます。

お楽しみください!ご感想をお聞かせください :slight_smile:

「いいね!」 1

要するに、このリンクが購読されている場合、誰がどこをクリックしたのかという情報が得られるのでしょうか?:thinking: それとも、これはどのように機能するのでしょうか?

透明性の観点から、ローカル環境でテストした際のサーバーログを以下に示します:

開発用のログを誤って残してしまいましたが、このコミットをもって本番環境では無効化されています。Uvicorn によるエンドポイントへのアクセスログについては、何らかの対応をすることが難しいこと(また、セキュリティの観点から望ましくない可能性もあること)を理解しています。しかし、私の目的はプライバシーを尊重することであり、エンドポイントの URL をログに記録することではありません。いずれにせよ、サーバーログは systemd ユニット内にあり、エラーの特定などやむを得ない場合を除き、抽出する予定はありません。

また、このウェブサイトは私自身の PA インスタンス と連携しており、侵入的な分析を行わずに利用者数を把握することができます。結論として、私はあなたの IP アドレス、サイト URL、あるいはそれら以外のほとんど何も追跡していません。私に確認できるのは、誰かがサイトを訪問し、リダイレクトされたという事実のみです。ご懸念があればお気軽にお知らせください。ただし、「uvicorn がリダイレクト要求をログに記録する」という問題は、アプリの構築方法(クッキーと Jinja2 を使用)における設計上の欠陥に過ぎません。

もちろん、何らかの理由で私を信頼できない場合は、ご自身でホストすることも可能です(明日、ガイドを作成する予定です)。また、コード自体は監査可能です。コンテナは GitHub にミラーリングされています。:slight_smile:

もちろん、あなたを信頼していません。信頼すべき人はごく少数です。あなたはインターネット上の顔の見えないユーザー名に過ぎません。

でも、その「はい、その情報は入手できます」という点は受け入れますか?

いいえ、サイト URL はブラウザのクッキーに保存されており、サーバーログには残されません。

私ができる最善のことは、ミラーされたソースを公開し、ログを示し、サイトが使用している技術を明確に説明することです(すべて私のインフラ上で)。もしその情報を確認しない、またはまだ信じないとおっしゃるなら、私にできることはほとんどありません :man_shrugging: