Flarum
Die offizielle ProxyTracer-Integration für Flarum. Diese Erweiterung bringt IP-Intelligence auf Enterprise-Niveau in Ihre Community, erkennt automatisch bekannte VPNs, Proxys, Datenzentren und Tor-Knoten und gibt Ihnen die Möglichkeit, diese an der Registrierung, Anmeldung oder dem vollständigen Zugriff auf Ihr Flarum-Forum zu hindern.
Der vollständige Quellcode ist auf GitHub verfügbar. Die Erweiterung wird über Packagist verteilt.
Funktionen
- Granulare Kontrolle, die es Administratoren ermöglicht, die IP-Validierung bei Neuregistrierungen, bei der Authentifizierung bestehender Benutzer oder global für alle Seitenbesucher durchzusetzen.
- Integriertes Caching über die native Laravel Cache API von Flarum speichert kürzliche IP-Adressbewertungen, reduziert externe API-Aufrufe drastisch und gewährleistet keine Latenz.
- Bei einem API-Timeout oder Netzwerkausfall priorisiert die Erweiterung den Benutzerzugang (fail-open), um großflächige Aussperrungen zu vermeiden. Dieses Verhalten kann in den Einstellungen umgeschaltet werden.
- Speichert IP-Ergebnisse zwischen, um die Seitenleistung zu maximieren.
Installation
-
Führen Sie
composer require proxytracer/flarumauscd /var/www/flarum -
Aktivieren Sie die Erweiterung.
composer require proxytracer/flarum-proxytracer -
Schließen Sie die Einrichtung ab.
php flarum cache:clear
Konfiguration
- Besorgen Sie sich einen Standard-API-Schlüssel vom ProxyTracer Dashboard.
- Navigieren Sie zu Ihrem Flarum-Administrationspanel: Admin → Features → ProxyTracer, um das Einstellungsfenster zu öffnen.
- Geben Sie den API-Schlüssel ein.
-
Aktivieren Sie den Schutz, indem Sie
Registrierungen blockieren,Anmeldungen blockierenund/oderGesamten Zugriff blockierenauswählen. -
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
Stellen Sie sicher, dass Cloudflare der einzige Anbieter ist.
Direkt hinter Cloudflare
Wenn Ihr Flarum-Server direkt mit dem Internet verbunden ist und Cloudflare ausschließlich für DNS und Edge-Proxying verwendet, können Sie die integrierte Cloudflare-Umgehung der Erweiterung nutzen.
Stellen Sie sicher, dass CF-Connecting-IP durchgereicht wird.
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 vor Cloudflare steht. Die Aktivierung auf einer Nicht-Cloudflare-Konfiguration könnte es böswilligen Benutzern ermöglichen, Einschränkungen durch Fälschung ihrer IP-Header zu umgehen.
Mehrschichtige 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, see [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.