Skip to content
- Security: Idempotent CA trust by SHA-1 fingerprint (prevents duplicate certificates in keychain)
- Security: Uninstall removes ALL certificate copies by hash (fixes “ambiguous” delete error on macOS)
- Linux:
is_alive() uses /proc/<pid> (works without /usr/bin/kill on minimal systems)
- Linux:
is_root() falls back to id -u (works in Docker without $USER)
- Windows: Fixed missing
Command import in untrust module
- Deferred trust:
install generates CA only (no sudo). start prompts once to trust CA + register DNS.
- DNS registration: Best-effort in containers (warns instead of aborting)
- CI workflows: manual trigger only on master push (auto on PRs)
- Docker smoke tests: Debian (glibc) + Alpine (musl), 43 steps each
- Multi-distro test runner (
docker-test-all.sh)
- Smoke test plan document (20 phases, platform coverage matrix)
- MCP server:
nila-tunnel mcp with 5 tools (proxy_status, list_services, add_service, remove_service, get_request_logs)
- Unix socket API: JSON-RPC 2.0 at
~/.nila-tunnel/nila-tunnel.sock
- Domain scope restriction: Only safe TLDs by default (
.test, .localhost, .example, .invalid)
- SSE streaming: Verified pass-through without buffering
- WebSocket tunneling: Transparent upgrade + bidirectional pipe
- Per-path request timeout: Configurable per route in nila.yaml
- Structured request logging: JSONL with rotation
- API key masking: Authorization, X-Api-Key headers masked in logs
- Log rotation: Configurable
max_size_mb and max_files
status --json: Machine-readable proxy state for AI agents
- Proxy engine: Migrated from Pingora+BoringSSL to nila-core (pure Rust, tokio+rustls)
- Binary size: 1.8 MB (down from ~15 MB with Pingora)
- Daemon mode with
--foreground / -F flag
- Embedded DNS resolver (no
/etc/hosts editing)
- Per-domain leaf certificates (cached, 825-day validity)
- NSS trust store support (Firefox/Chromium)
- Port auto-detection (80/443 with root, 8080/8443 without)
nila-tunnel doctor diagnostics
- Multi-service config via nila.yaml
- Initial release with HTTPS reverse proxy and auto-generated certificates