Flarum
Die offizielle ProxyTracer-Integration für Flarum. Diese Erweiterung bringt Enterprise-Level-IP-Intelligence in Ihre Community, erkennt automatisch bekannte VPNs, Proxys, Rechenzentren und Tor-Knoten und gibt Ihnen die Möglichkeit, diese vollständig an der Registrierung, der Anmeldung oder dem Zugriff auf Ihr Flarum-Forum zu hindern.
Der vollständige Quellcode ist auf Github verfügbar. Die Erweiterung wird über Packagist bereitgestellt.
Funktionen
- Granulare Kontrolle, die es Administratoren ermöglicht, IP-Validierungen bei neuen Registrierungen, Logins bestehender Benutzer oder global für alle Seitenbesucher zu erzwingen.
- Integriertes Caching mit der nativen Laravel-Cache-API von Flarum speichert aktuelle IP-Auswertungen, reduziert externe API-Aufrufe drastisch und sorgt für null Latenz.
- Bei einem API-Timeout oder Netzwerkfehler priorisiert die Erweiterung den Nutzerzugriff (Fail-Open), um weitreichende Sperren zu vermeiden. Dieses Verhalten kann in den Einstellungen umgeschaltet werden.
-
Integrierte Unterstützung für Whitelists basierend auf genauen IPs oder CIDR-Subnetzen (z. B.
192.168.1.0/24).
Installation
-
Greifen Sie per SSH auf Ihren Server zu und navigieren Sie zum Flarum-Stammverzeichnis (wo sich Ihre
composer.jsonbefindet):cd /var/www/flarum -
Laden Sie die Erweiterung mit Composer herunter:
composer require proxytracer/flarum-proxytracer -
Löschen Sie den Flarum-Cache, um das Modul zu registrieren:
php flarum cache:clear
Konfiguration:
- Rufen Sie Ihren API-Schlüssel im ProxyTracer Dashboard ab.
- Navigieren Sie zu Ihrem Flarum-Administrationsbereich: Admin → Features → ProxyTracer, um das Einstellungsfenster zu öffnen.
-
Geben Sie Ihren API-Schlüssel in das Feld
API Keyein. -
Aktivieren Sie die Schutzparameter, indem Sie
Block Signups,Block Loginsund/oderBlock All Site Accessaktivieren. -
Fügen Sie alle vertrauenswürdigen IPs oder CIDR-Bereiche zur
IP Whitelisthinzu (eine pro Zeile). - (Optional) Passen Sie die API-Timeout- und Cache-Ablauf-Limits an die spezifischen Datenverkehrsanforderungen Ihres Servers an.
- (Optional) Passen Sie die Sperrnachricht an, die gesperrten Benutzern angezeigt wird. Sie können beispielsweise Anweisungen zur Kontaktaufnahme mit der Seitenverwaltung hinzufügen, falls Benutzer der Meinung sind, dass die Sperrung ungerechtfertigt ist und sie nicht über einen Proxy oder VPN auf die Seite zugreifen.

Netzwerkkonfiguration: Cloudflare & Reverse-Proxys
Bitte befolgen Sie die nachstehenden Konfigurationsrichtlinien passend zu Ihrer Serverarchitektur, um eine präzise IP-Weiterleitung zu gewährleisten.
Direkte Cloudflare-Integration (Standardinstallation)
Wenn Ihr Flarum-Server direkt mit dem Internet verbunden ist und Cloudflare ausschließlich für DNS und Edge-Proxying nutzt, können Sie den integrierten Cloudflare-Bypass der Erweiterung verwenden.
Aktivieren Sie in den ProxyTracer Flarum-Einstellungen einfach Extract IPs from Cloudflare Headers.
ProxyTracer extrahiert automatisch die echte Client-IP aus dem proprietären CF-Connecting-IP-Header von Cloudflare. Hinweis: Aktivieren Sie diese Einstellung nur, wenn Ihr Server direkt mit Cloudflare verbunden ist. Wenn Sie dies in einer Konfiguration ohne Cloudflare aktivieren, könnten böswillige Nutzer Beschränkungen umgehen, indem sie ihre IP-Header fälschen.
Multi-Layer Proxy-Architektur (Cloudflare + Lokaler Reverse-Proxy)
Dies gilt, wenn Ihre Flarum-Instanz über ein lokales Serververwaltungs-Panel oder einen Reverse-Proxy (z. B. Nginx Proxy Manager, CloudPanel, Traefik, Plesk) weitergeleitet wird, der sich hinter Cloudflare befindet. In einer mehrschichtigen (oder 'doppelten') Reverse-Proxy-Architektur reicht der einfache Schalter nicht aus, da der Datenverkehr von Ihrer lokalen Netzwerkschnittstelle an Flarum übergeben wird, nicht direkt von Cloudflare.
Sie müssen Ihren lokalen Reverse-Proxy so konfigurieren, dass die echte Client-IP aus dem CF-Connecting-IP-Header extrahiert wird, aber nur für Datenverkehr, der von vertrauenswürdigen Cloudflare-IP-Adressen stammt. Das blinde Weitergeben dieses Headers ohne Überprüfung der Quelle ermöglicht es böswilligen Benutzern, Ratenbeschränkungen und Sperren zu umgehen, indem sie ihre IP-Adresse fälschen.
# IPv4-Cloudflare-IPs, siehe [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-IPs
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;Suchen Sie als Nächstes nach Ihrer Direktive location /. Aufgrund der obigen Konfiguration löst Nginx nun $remote_addr sicher in die wahre Client-IP auf, jedoch nur, wenn die Anfrage tatsächlich über Cloudflare geleitet wurde. Ändern Sie Ihre IP-Weiterleitungsheader wie folgt:
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
...
}Speichern Sie die Konfiguration und laden Sie Ihren Nginx-Dienst neu (systemctl reload nginx).
Notfallzugriff
cd /var/www/flarum
php flarum extension:disable proxytracer-proxytracer
php flarum cache:clearsettings-Tabelle, suchen Sie den Schlüssel proxytracer.block_all, ändern Sie seinen Wert auf 0 und führen Sie php flarum cache:clear aus.Lizenz
Diese Software ist unter der GNU Affero General Public License v3.0 (AGPLv3) lizenziert. Weitere Informationen finden Sie in der Datei LICENSE.