v0.7.1 · aggiornata · GitHub

Configurazione

Come viene configurato lo strumento stesso. Per sapere come connetterti a ogni sorgente di log, consulta Sorgenti log.

File di configurazione — dove si trova

Due posizioni, vince la prima trovata:

PercorsoAmbito
./caddy-analyzer.jsonLocale (progetto)
~/.config/caddy-analyzer/config.jsonGlobale (XDG)

~/.config segue XDG_CONFIG_HOME se impostato, altrimenti os.UserConfigDir(). Le directory vengono create con 0750, i file con 0600.

Schema

{
  "source": "docker://caddy",
  "namespace": "production",
  "blocklist": {
    "no_defaults": false,
    "custom_sources": [{ "name": "My List", "url": "https://example.com/list.txt" }],
    "remove_sources": ["tor-exit-nodes"]
  },
  "tuning": {
    "geo_cache_ttl": "24h",
    "geo_cache_size": 50000,
    "iptables_timeout": "10s"
  }
}

Gestiscilo

caddy-analyze config                    # show active file + source
caddy-analyze config /var/log/caddy/access.log          # set local
caddy-analyze config docker://caddy --global            # set global
caddy-analyze config k8s://caddy-xxx -n production     # with namespace
caddy-analyze config reset              # remove local
caddy-analyze config reset --global     # remove global
caddy-analyze blocklist init            # persist blocklist flags to config
caddy-analyze whitelist --init          # persist never-block to /etc/caddy-analyzer/whitelist.txt

blocklist init scrive gli attuali valori di --no-default-blocklists / --blocklist-config / --blocklist-remove nello stesso file, così guard li applica senza flag CLI.

Ottimizzazione — precedenza

I valori del file di configurazione sono predefiniti; i flag CLI li sostituiscono quando impostati esplicitamente. Le tre opzioni:

ChiaveCampo di configurazioneFlag CLIPredefinito
TTL cache GeoIPtuning.geo_cache_ttl--geo-cache-ttl 24h24h (0 = disattivato, lento)
Dimensione cache GeoIPtuning.geo_cache_size--geo-cache-size 5000050000
Timeout iptablestuning.iptables_timeout--iptables-timeout 10s10s
# example: keep GeoIP results longer on a busy host
caddy-analyze --geo-cache-ttl 48h --geo-cache-size 100000 /var/log/caddy/access.log

Ambiente e XDG

VariabileInfluisce su
XDG_CONFIG_HOMEDirectory di configurazione globale (~/.config/caddy-analyzer)
HOMEFallback per configurazione/cache
https_proxy / http_proxyRecupero delle blocklist e download automatico GeoIP

Cache e stato (non configurazione)

PercorsoContenuto
~/.cache/caddy-analyzer/blocklists/CIDR delle blocklist (TTL 7g)
~/.config/caddy-analyzer/GeoLite2-*.mmdbGeoIP (download automatico dal mirror P3TERX)
/var/lib/caddy-analyzer/blocked.jsonIP bloccati da Guard (persistono al riavvio)
/var/log/caddy-analyzer-audit.jsonlLog di audit (0600, righe JSON)
/etc/caddy-analyzer/whitelist.txtElenco da non bloccare mai (CIDR, commenti #)

Sostituisci con i flag: --cache-dir, --geoip-db, --state-file, --audit-log, --never-block-file.

Ordine di risoluzione (nessun argomento sorgente)

  1. ./caddy-analyzer.json~/.config/…/config.json
  2. pipe stdin se i dati sono passati tramite pipe
  3. 5 candidati: ./access.log, ./caddy.log, ./caddy-access.log, /var/log/caddy/access.log, /var/log/caddy/caddy.log