Traefik-Plugin

Traefik-Plugin gegen Bots und VPNs

Bots, Tor, VPNs und Proxys, pro Router mit einem Label geprüft. Startet im Monitor-Modus und blockiert nichts, bis Sie umschalten.

Kostenlos, MIT-LizenzGetestet mit Traefik v3.7

Traffic-Klassen

Was geprüft wird

Jeder Besucher erhält eine Klasse. Ihr Service bekommt sie als X-IPScanner-Class.

  • Mensch
  • Verifizierter Bot
  • VPN
  • Privat-Relay
  • Hosting
  • Proxy
  • Tor
  • KI-Agent
  • Bösartige Automatisierung

Einrichtung

Vier Schritte, zuerst Monitor-Modus

  1. 1

    API-Schlüssel erstellen

    Hinterlegen Sie ihn in der Umgebung des Traefik-Containers. Jede ipscanner-Middleware liest ihn.

    Kostenlosen API-Schlüssel erstellen
    docker-compose.yml
    environment:
      IPSCANNER_API_KEY: pk_live_...
  2. 2

    Plugin deklarieren

    In der statischen Konfiguration oder als zwei CLI-Flags. Danach Traefik neu starten.

    traefik.yml
    experimental:
      plugins:
        ipscanner:
          moduleName: github.com/ipscanner/ipscanner-traefik
          version: v0.1.0
  3. 3

    Website anlegen und siteId setzen

    Modus und Richtlinie kommen dann aus dem Dashboard, ohne Neuladen.

    Website im Dashboard anlegen
    labels
    traefik.http.middlewares.ipscanner.plugin.ipscanner.siteId=site_...
  4. 4

    An einen Router hängen

    Andere Router nutzen sie als ipscanner@docker.

    labels
    traefik.http.routers.app.middlewares=ipscanner

Ihr Stack

Coolify, Compose oder Kubernetes

Dasselbe Plugin, egal wo Traefik seine Konfiguration liest.

Servers › Ihr Server › Proxy
command:
  # ...the flags Coolify set
  - '--experimental.plugins.ipscanner.modulename=github.com/ipscanner/ipscanner-traefik'
  - '--experimental.plugins.ipscanner.version=v0.1.0'
environment:
  - IPSCANNER_API_KEY=pk_live_...
Ihre App › Configuration › Container Labels
traefik.http.middlewares.ipscanner-myapp.plugin.ipscanner.siteId=site_...
traefik.http.routers.https-0-<uuid>.middlewares=gzip,ipscanner-myapp

Ein Middleware-Name pro App, angehängt an jeden Router, den Coolify erzeugt hat. Hinter Cloudflare zusätzlich trustedProxies=cloudflare und ipHeaders=CF-Connecting-IP setzen.

Websites im Dashboard

Richtlinie ändern, ohne Traefik anzufassen

Erlauben, markieren oder blockieren Sie jede Klasse im Dashboard. Die Middleware übernimmt eine Änderung innerhalb von 30 Sekunden.

  • Verifizierte Such- und KI-Crawler kommen immer durch.
  • Der Monitor-Modus blockiert nichts und zeigt, was er blockiert hätte.
  • Antwortet IPScanner nicht innerhalb von 1,5 Sekunden, geht die Anfrage durch.

Optionen

Middleware-Optionen

Setzen Sie sie an der Middleware: als Labels, in YAML oder in der CRD.

OptionStandard
siteIdIhre Website im Dashboard; Modus und Richtlinie kommen von dortLeer
modemonitor oder enforce, wenn keine siteId gesetzt istmonitor
blockClassesKlassen, die ohne siteId im Enforce-Modus blockiert werdenmalicious_automation
trustedProxiesProxys, deren IP-Header vertraut wird: CIDRs, private, cloudflareLeer
ipHeadersHeader, die von einem vertrauenswürdigen Proxy gelesen werden, in ReihenfolgeX-Forwarded-For
timeoutZeitbudget pro Prüfung, danach geht die Anfrage durch1500ms
cacheTTLVerdict-Cache pro Besucher10m
cacheSizeBesucher im Cache10000
policyTTLWie lange eine geladene Richtlinie gültig bleibt30s
skipPathsPfad-Regex, die die Prüfung überspringtStatische Dateien
apiKeyFileDatei mit dem API-Schlüssel, für SecretsLeer
debugFügt die Header den Antworten hinzu und loggt jede Entscheidungfalse

Fragen

FAQ zum Traefik-Plugin

Jeder Besucher wird höchstens alle 10 Minuten geprüft, das Ergebnis liegt im Speicher-Cache, Folgeanfragen gehen also nicht zur API. Eine Prüfung hat 1,5 Sekunden, danach geht die Anfrage durch.

Starten Sie im Monitor-Modus

Middleware hinzufügen, eine Woche Traffic im Dashboard lesen, dann blockieren.