Skip to Content

Flarum

De officiële ProxyTracer integratie voor Flarum. Deze extensie brengt enterprise IP-intelligence naar je community, detecteert automatisch bekende VPN's, proxy's, datacenters en Tor-nodes, en biedt de optie om registraties, logins of de volledige weergave van je Flarum-forum te blokkeren.

De volledige broncode is te vinden op Github. De extensie wordt gedistribueerd via Packagist.

Functies

  • Zero-configuratie blokkering van proxy's, VPN's, datacenters en Tor exit nodes.
  • Sub-10ms latency met in-memory edge-verwerking.
  • Geïntegreerde cache om overbodige API-aanroepen voor terugkerende bezoekers te elimineren.
  • Ingebouwde ondersteuning voor exacte IP- en CIDR-subnet whitelisting (bijv. 192.168.1.0/24).

Installatie

  1. Verbind met je server via SSH en navigeer naar je Flarum-hoofdmap (waar je composer.json staat):
    cd /var/www/flarum
  2. Installeer de extensie via Composer:
    composer require proxytracer/flarum-proxytracer
  3. Wis je Flarum-cache om de nieuwe frontend-assets te compileren:
    php flarum cache:clear

Configuratie:

  1. Haal een standaard API-key op via het ProxyTracer Dashboard.
  2. Ga naar je Flarum-beheerderspaneel: Admin → Features → ProxyTracer om de instellingen te openen.
  3. Voer je API-key in het veld API Key in.
  4. Schakel de gewenste beveiligingsopties in door Block Signups, Block Logins en/of Block All Site Access aan te vinken.
  5. Voeg vertrouwde IP's of CIDR-reeksen toe aan de IP Whitelist (één per regel).
  6. (Optioneel) Pas de API-timeout en Cache Expiry-limieten aan op basis van de specifieke verkeersvereisten van je server.
  7. (Optioneel) Pas het blokkeringsbericht aan dat wordt getoond aan geblokkeerde gebruikers. Je kunt bijvoorbeeld instructies toevoegen om contact op te nemen met het beheer van de site voor het geval zij menen dat de blokkade onterecht is en dat ze de site niet via een proxy of VPN bezoeken.

Settings Screenshot

Netwerkconfiguratie: Cloudflare & Reverse Proxies

Om ProxyTracer effectief te laten functioneren, moet de Flarum-applicatie het werkelijke client-IP-adres ontvangen. Als je infrastructuur Cloudflare of een andere reverse proxy gebruikt, logt Flarum standaard mogelijk het IP-adres van het proxy-knooppunt (zoals de edge-servers van Cloudflare), waardoor de detectie van ProxyTracer onbetrouwbaar wordt.

Volg de onderstaande configuratierichtlijnen die aansluiten bij de architectuur van je server om een nauwkeurige IP-forwarding te waarborgen.

Directe Cloudflare-integratie (Standaardinstallatie)

Als je Flarum-server rechtstreeks met het internet is verbonden en Cloudflare uitsluitend gebruikt voor DNS en edge-proxying, kun je de ingebouwde Cloudflare-bypass van de extensie gebruiken.

Schakel in de ProxyTracer Flarum-instellingen simpelweg Extract IPs from Cloudflare Headers in.

ProxyTracer extraheert automatisch het werkelijke client-IP uit de eigen CF-Connecting-IP header van Cloudflare. Let op: Schakel deze optie alleen in als je server rechtstreeks achter Cloudflare staat. Als je dit inschakelt op een opstelling zonder Cloudflare, kunnen kwaadwillende gebruikers beperkingen omzeilen door hun IP-headers te spoofen.

Multi-Layer Proxy-architectuur (Cloudflare + Lokale Reverse Proxy)

Dit geldt als je Flarum-instantie wordt gerouteerd via een lokaal serverbeheerpaneel of reverse proxy (bijv. Nginx Proxy Manager, CloudPanel, Traefik, Plesk) die zich achter Cloudflare bevindt. In een multi-layer (of "dubbele") reverse proxy-architectuur volstaat de eenvoudige schakelaar niet, omdat het verkeer door je lokale netwerkinterface aan Flarum wordt overgedragen, en niet rechtstreeks door Cloudflare.

Je moet je lokale reverse proxy configureren om het werkelijke client-IP te extraheren uit de CF-Connecting-IP header, maar uitsluitend voor verkeer afkomstig van vertrouwde Cloudflare IP-adressen. Het blindelings doorgeven van deze header zonder de bron te verifiëren stelt kwaadwillenden in staat om rate limits en bans te omzeilen door hun IP-adres te spoofen.

Nginx Voorbeeld: Definieer allereerst de IP-ranges van Cloudflare als vertrouwde proxies in je server block configuratie (buiten je location block). Het vastleggen van deze IP's op Nginx-niveau biedt de allerhoogste snelheid en veiligheid.
# IPv4 Cloudflare IP-adressen, zie [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-adressen 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;

Zoek vervolgens je location / directief. Dankzij de bovenstaande configuratie zal Nginx $remote_addr nu alleen veilig omzetten naar het werkelijke client-IP als het verzoek daadwerkelijk via Cloudflare is binnengekomen. Pas je IP-forwarding headers als volgt aan:

location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ... }

Sla de configuratie op en herlaad je Nginx-service (systemctl reload nginx).

Noodtoegang

💡
Buitengesloten? Als je per ongeluk je eigen IP-adres blokkeert tijdens het configureren van ProxyTracer (bijv. als je momenteel verbonden bent met een VPN en "Block All" hebt ingeschakeld), kun je weer toegang krijgen door de extensie rechtstreeks via SSH uit te schakelen:
cd /var/www/flarum php flarum extension:disable proxytracer-proxytracer php flarum cache:clear
(Als je Docker gebruikt, voer deze commando's dan uit in je PHP-container). Je kunt het ook uitschakelen via de database: open je settings tabel, zoek de proxytracer.block_all sleutel, wijzig de waarde naar 0 en voer php flarum cache:clear uit.

Licentie

Deze software is gelicentieerd onder de GNU Affero General Public License v3.0 (AGPLv3). Zie het LICENSE bestand voor volledige details.

Laatst bijgewerkt op