Flarum
ProxyTracer の公式 Flarum 統合拡張機能です。コミュニティにエンタープライズグレードの IP インテリジェンスを導入し、既知の VPN、プロキシ、データセンター、Tor ノードを自動検出して、新規登録、ログイン、または Flarum フォーラム全体の閲覧を遮断するオプションを提供します。
ソースコード全文は Github で確認できます。拡張機能は Packagist を通じて配布されています。
機能
- 新規ユーザー登録時のリアルタイムプロキシ検出。
- 管理画面からのワンクリック設定と API キー連携。
- 特定のユーザーグループに対するバイパス権限設定。
- 完全ノーログによるプライバシー保護設計。
インストール
-
Flarum のルートディレクトリで Composer コマンドを実行してインストールします:
cd /var/www/flarum -
composer require proxytracer/flarum-proxytracercomposer require proxytracer/flarum-proxytracer -
キャッシュをクリアしてアセットを公開します:
php flarum cache:clearphp flarum cache:clear
設定:
- ProxyTracer Dashboard から標準の API キーを取得します。
-
Flarum の管理画面(
Admin > Extensions)に移動して ProxyTracer 拡張機能を有効化します。 - 設定モーダルを開き、ProxyTracer API キーを入力します。
-
検出時のアクション(
ブロック、警告、ログ記録のみ)を選択します。 - 必要に応じて除外する IP アドレス(CIDR 形式)を入力します。
- 設定を保存します。
-
変更を反映するためにキャッシュを再クリアします:
php flarum cache:clear。

ネットワーク設定: Cloudflareとリバースプロキシ
Flarum は受信したリクエストヘッダーから IP アドレスを取得します。中間のプロキシが IP を上書きしていないか確認してください。
直接のCloudflare統合(標準インストール)
Cloudflare を直接使用している場合、config.php でプロキシヘッダーの信頼を設定します:
'proxy' 設定配列に Cloudflare の IP アドレスまたは 'trust_proxy' => true を指定します。
CF-Connecting-IP ヘッダーが正しく参照されていることを確認してください。
多層プロキシ構成(Cloudflare + ローカルリバースプロキシ)
多層リバースプロキシ(例: Cloudflare + Nginx Proxy Manager、CloudPanel、Traefik、Plesk)の背後に Flarum がある場合、ローカルネットワークインターフェースからトラフィックが渡されるため、単一プロキシ向けの設定では不十分です。
CF-Connecting-IP ヘッダーから真のクライアント IP を抽出するようにローカルリバースプロキシを設定する必要があります。ただし、信頼できる Cloudflare IP アドレスから発信されたトラフィックのみに限ります。送信元を検証せずにこのヘッダーを無差別に渡すと、悪意あるユーザーが IP アドレスを偽装してレート制限や BAN を回避するリスクがあります。
# IPv4 Cloudflare IP、参照: [https://www.cloudflare.com/ips/](https://www.cloudflare.com/ips/)
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 131.0.72.0/22;
# IPv6 Cloudflare IP
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2c0f:f248::/32;
set_real_ip_from 2a06:98c0::/29;
real_ip_header CF-Connecting-IP;次に、location / ディレクティブを見つけます。上記の設定により、リクエストが実際に Cloudflare を通過した場合にのみ、Nginx は $remote_addr を真のクライアント IP に安全に解決するようになります。IP 転送ヘッダーを次のように設定してください:
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
...
}設定を保存し、Nginx サービスをリロードします (systemctl reload nginx)。
緊急アクセス
cd /var/www/flarum
php flarum extension:disable proxytracer-proxytracer
php flarum cache:clearsettings テーブルを開き、proxytracer.block_all キーの値を 0 に変更して、php flarum cache:clear を実行してください。ライセンス
このソフトウェアは GNU Affero General Public License v3.0 (AGPLv3) に基づいてライセンスされています。詳細は LICENSE ファイルを参照してください。