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:
| Percorso | Ambito |
|---|---|
./caddy-analyzer.json | Locale (progetto) |
~/.config/caddy-analyzer/config.json | Globale (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:
| Chiave | Campo di configurazione | Flag CLI | Predefinito |
|---|---|---|---|
| TTL cache GeoIP | tuning.geo_cache_ttl | --geo-cache-ttl 24h | 24h (0 = disattivato, lento) |
| Dimensione cache GeoIP | tuning.geo_cache_size | --geo-cache-size 50000 | 50000 |
| Timeout iptables | tuning.iptables_timeout | --iptables-timeout 10s | 10s |
# 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
| Variabile | Influisce su |
|---|---|
XDG_CONFIG_HOME | Directory di configurazione globale (~/.config/caddy-analyzer) |
HOME | Fallback per configurazione/cache |
https_proxy / http_proxy | Recupero delle blocklist e download automatico GeoIP |
Cache e stato (non configurazione)
| Percorso | Contenuto |
|---|---|
~/.cache/caddy-analyzer/blocklists/ | CIDR delle blocklist (TTL 7g) |
~/.config/caddy-analyzer/GeoLite2-*.mmdb | GeoIP (download automatico dal mirror P3TERX) |
/var/lib/caddy-analyzer/blocked.json | IP bloccati da Guard (persistono al riavvio) |
/var/log/caddy-analyzer-audit.jsonl | Log di audit (0600, righe JSON) |
/etc/caddy-analyzer/whitelist.txt | Elenco 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)
./caddy-analyzer.json→~/.config/…/config.json- pipe stdin se i dati sono passati tramite pipe
- 5 candidati:
./access.log,./caddy.log,./caddy-access.log,/var/log/caddy/access.log,/var/log/caddy/caddy.log