| 概要 | ProxyTracer API を使用して、ユーザー登録、ログイン、またはグローバルに VPN およびプロキシトラフィックを検出・ブロックします。 | |
| リポジトリリンク | https://github.com/ProxyTracer/discourse-proxytracer | |
| インストールガイド | Discourse へのプラグインのインストール方法 |
このプラグインは、Discourse 内で VPN およびプロキシトラフィックを検出・ブロックするために ProxyTracer API を使用します。
機能
- 新しいユーザーの登録時、既存ユーザーの認証時、またはサイト訪問者全体に対して、VPN やプロキシユーザーのブロックを細かく制御できます。VPN やプロキシユーザーにフォーラムへの読み取りアクセスを許可しても問題ない場合は、API リクエストを節約するために、ユーザー登録と認証時のみ有効に設定することも可能です。
- 最近の IP アドレスの評価結果をキャッシュに保存することで、API へのリクエストを削減し、遅延を低減します。IP アドレスの評価結果をどのくらい記憶するかは、設定で制御できます。
- API のタイムアウトやネットワーク障害が発生した場合、大規模なロックアウトを防ぐために、ユーザーのアクセスを優先します。この動作はオプションで変更可能です。
- 特定の IP および CIDR サブネットのホワイトリスト機能を内蔵しています。
設定手順
- ProxyTracer ダッシュボード から標準の API キーを取得します。
- Discourse の管理パネルに移動し、管理 → プラグイン → ProxyTracer を選択して、ProxyTracer の設定画面を開きます。
ProxyTracer API Keyフィールドに API キーを入力します。Enabled during Signup(登録時有効)、Enabled during Login(ログイン時有効)、Enabled for All Visitors(全訪問者向け有効)を切り替えて、保護パラメータを有効にします。- 信頼できる IP アドレスまたは CIDR 範囲を
Whitelisted IPsリストに追加します。 - (オプション)API のタイムアウト時間や Redis キャッシュの有効期限を、サーバーのトラフィック要件に合わせて調整します。
- (オプション)ブロックされたユーザーに表示されるメッセージをカスタマイズします。例えば、ブロックが誤っている場合や、プロキシや VPN を経由していないと考える場合に、サイト管理者へ連絡する方法を指示するメッセージを追加できます。
設定項目
設定項目とその説明を表形式で記載します。
| 名前 | 説明 |
|---|---|
| API Timeout (ms) | API が応答するまで待機するタイムアウト時間(ミリ秒) |
| Cache Duration (hours) | IP アドレスを再確認する前に記憶する時間(時間) |
| Fail Open on Error | API がクラッシュまたはタイムアウトした場合、すべてのユーザーのロックアウトを防ぐために、登録・ログインを許可する |
| Enabled during Signup | 新しいユーザーが登録を試みる際にプロキシや VPN をブロックする |
| Enabled during Login | 既存のユーザーがログインを試みる際にプロキシや VPN をブロックする |
| Enabled for All Visitors | フォーラムのすべてのページへのアクセスや閲覧をプロキシや VPN からブロックする(警告:すべての訪問者をチェックするため、API クォータを大量に消費します) |
| Block Message | ユーザーがブロックされた際に表示されるエラーメッセージ |
| Whitelisted IPs | ブロックを完全にバイパスすることを許可される IP アドレスまたは CIDR 範囲(例:192.168.1.0/24) |
ネットワーク設定:Cloudflare およびリバースプロキシ
ProxyTracer が正しく機能するためには、Discourse アプリケーションが実際のクライアント IP アドレスを受け取る必要があります。
正しい IP アドレス転送を確保するには、これらの 詳細な手順 に従ってください。
緊急アクセス
アクセスできなくなった場合は、これらの 簡単な手順 に従ってアクセスを回復できます。
テストを行いたい場合は、ProxyTracer にサインアップして、テスト用の無料 API クレジットを取得できます。
