Commit Graph

2 Commits

Author SHA1 Message Date
BergaBruh 3c2e7c5a81 config: drop concrete IP from egress allowlist; docs: fix host reference
- configs/tunnel.yaml: replace hardcoded address with wildcard
  *.projectshitpost.fun:8443 (covers both edge nodes)
- internal/tunnel/tunnel_test.go: use TEST-NET-1 (RFC 5737) IP
  192.0.2.10 instead of a real one
- docs/AUTH.md: token issue command now runs on stats host
2026-05-10 14:43:42 +05:00
bergamot 731b60863a feat: tunnel JWT auth
Tunnel method now requires Bearer JWT (HMAC-HS256) in gRPC metadata.
   - internal/auth: pure-stdlib verifier + issuer + revoked-jti list
   - internal/tunnel: per-target rate limiter + egress allowlist with
     wildcard support + crypto/rand frame padding to {1KB, 4KB, 16KB}
   - cmd/server reads /etc/stats-gateway/{jwt.key,tunnel.yaml,revoked.txt}
     via --config-dir flag
   - cmd/issue-token Go binary wraps auth.Issue
   - configs/tunnel.yaml example with projectshitpost wildcard


Tests: 13 PASS across 5 packages.
2026-05-05 21:28:37 +05:00