High-performance reverse proxy + AI-driven WAF with Auto-HTTPS, HTTP/3, adaptive defense, and zero-config bootstrap.
Astracat Protect ставится перед вашими сайтами/API и берет на себя:
- TLS (ACME + custom certs + on-demand)
- L7 защиту (WAF, challenge, rate-limit, adaptive bans)
- routing/balancing до upstream
- observability (
/healthz,/metrics, structured logs)
HTTP/1.1 + HTTP/2 + HTTP/3 (QUIC): реализованоAI-WAF (builtin + ONNX/TFLite hooks): реализованоDNS-01 automation через hooks: реализованоZero-config bootstrap через env: реализованоMulti-upstream balancing (round_robin/least_conn): реализованоThreat-intel ingestion (IP/ASN/JA3 feeds): реализованоBot-management profiles (good/bad bot policy): реализованоStrict virtual patching presets (WordPress/Laravel/Next.js): реализовано
./install
ADMIN_TOKEN=changeme \
./bin/astracat-protect \
-config configs/astra.yaml \
-http :80 \
-https :443 \
-admin :9090docker run -d --name astracat-protect \
-p 80:80 -p 443:443 -p 127.0.0.1:9091:9090 \
-v /opt/astracat-protect/configs:/app/configs:ro \
-v /opt/astracat-protect/data:/data \
-e ADMIN_TOKEN=changeme \
-e ACME_EMAIL=ops@example.com \
astracat/protect:latest \
-config /app/configs/astra.yaml -http :80 -https :443 -admin :9090- Public:
/healthz,/metrics - Admin:
/healthz,/metrics,/reload(Bearer token required)
Поддерживаются:
.yaml/.yml.json- caddyfile-like format
Основные примеры:
configs/astra.yamlconfigs/astra-dns.yaml
ACME_EMAILACME_CAACME_STAGINGACME_KEY_TYPEACME_RENEW_WINDOWACME_STORAGEON_DEMAND_TLSSSL_MODE(internal|custom)SSL_CERT_FILE,SSL_KEY_FILESSL_CERT_DIR
ACME_DNS01ACME_DNS_ISSUE_HOOKACME_DNS_RENEW_HOOKACME_DNS_HOOK_TIMEOUTACME_DNS_STORAGE
HTTP3_ENABLEDHTTP3_LISTEN
AI_ENABLEDAI_LEARNING_MODEAI_BACKEND(builtin|onnx|tflite)AI_MODEL_PATHAI_ONNX_COMMAND,AI_TFLITE_COMMANDAI_STATE_PATHAI_MIN_SAMPLESAI_CHALLENGE_THRESHOLDAI_RATE_LIMIT_THRESHOLDAI_BLOCK_THRESHOLDAI_MAX_BODY_INSPECT_BYTESAI_COMMAND_TIMEOUT_MSAI_UPDATE_PROFILES_ON_BLOCK
WAF_ENABLEDWAF_MODE(block|log)WAF_LEVEL(low|medium|high|ultra|off)WAF_PRESETS(wordpress,laravel,nextjs)WAF_SCORE_THRESHOLDWAF_INBOUND_THRESHOLDWAF_PARANOIA_LEVELWAF_ALLOWED_METHODSWAF_BLOCKED_CONTENT_TYPES
TI_ENABLEDTI_ACTION(block|challenge|rate_limit|log)TI_REFRESH_SECONDSTI_IP_FEEDS,TI_ASN_FEEDS,TI_JA3_FEEDSTI_IPS,TI_ASNS,TI_JA3TI_ASN_HEADER(defaultX-ASN)TI_JA3_HEADER(defaultX-JA3)
BOT_ENABLEDBOT_BAD_ACTION(block|challenge|rate_limit)BOT_BYPASS_WAF_FOR_GOODBOT_GOOD_PATTERNS,BOT_BAD_PATTERNS
RATE_LIMIT_RPS,RATE_LIMIT_BURSTCONN_LIMIT,WS_CONN_LIMITWHITELIST_IPSCHALLENGE_TTL,CHALLENGE_BIND_IP,CHALLENGE_BIND_UAAUTO_SHIELD_ENABLEDи relatedAUTO_SHIELD_*
PROTECT_DOMAINSPROTECT_UPSTREAM/UPSTREAMPROTECT_UPSTREAMS/UPSTREAMSLB_POLICY(round_robin|least_conn)PROXY_MODE(standard|passthrough)DOH_EXCLUDE
servers:
- hostname: static.example.com
auto_shield_enabled: falsewaf:
exempt_hosts:
- static.example.comservers:
- hostname: static.example.com
handles:
- mode: passthrough
upstream: static:80passthrough отключает защитный pipeline на этом route (WAF/challenge/rate/risk/auto-shield).
- anomaly scoring + paranoia levels
- actions:
score,log,allow,block,challenge,rate_limit - protocol hardening:
- method/content-type enforcement
- anti-smuggling checks (
TE + CL, invalid transfer-encoding)
- expanded built-in rules:
- SQLi / NoSQLi / XSS / RCE / SSTI
- XXE / SSRF / CRLF injection
- path traversal / evasions / wrapper abuse
- deserialization and JNDI markers
- ingestion из feed source:
file:///path/to/feed.txt- локальный путь
http(s)://...feed URL
- поддержка индикаторов:
- IP/CIDR
- ASN (+ optional ASN<->CIDR mapping)
- JA3 hash (или pseudo-JA3 fallback через TLS fingerprint)
- runtime actions:
blockchallengerate_limitlog
- built-in профили good bots (Google/Bing/Yandex/Apple/Twitter/etc.)
- built-in профили bad automation/scanners
- кастомные regex profiles через конфиг
- политика действий для bad bots:
blockchallengerate_limit
- опция
bypass_waf_for_good
Доступные strict presets:
wordpresslaravelnextjs
Включение:
waf:
presets:
- wordpress
- laravel
- nextjsили через env:
WAF_PRESETS=wordpress,laravel,nextjsINSTALL.md— локальная сборка и запускDOCKER_DEPLOY.md— production deployDOCKER_AI_MANUAL_RU.md— Docker с ONNX/TFLite hooks, HTTP/3, DNS-01NEW_FEATURES_MANUAL_RU.md— отдельный мануал по новым функциям
Internal / project-defined.