Skip to content

v1.2.0 — Production-Grade Tor HTTP & SOCKS5 Proxy with Observability, Hardening & Provenance

Choose a tag to compare

@hapheus hapheus released this 18 Oct 15:28
· 18 commits to main since this release
2f98504

Highlights in v1.2.0

v1.2.0 is a major feature and reliability release completing Milestones 0 through 7 of the production quality roadmap. It brings hardened security, authenticated Tor control, zero-leak fail-closed protection, comprehensive health probes, Prometheus metrics, and verifiable container provenance—all while preserving 100% backward compatibility with zero breaking changes.

🛡️ Security & Correctness (Milestones 1 & 7)

  • Local ControlPort Authentication: Secured internal ControlPort with ephemeral 32-byte filesystem cookie authentication (CookieAuthentication 1).
  • RFC-Compliant Control Protocol: Implemented robust TCP response parser handling multiline replies, fragmented reads, and accurate status codes without false positives.
  • Tor Egress Verification: Explicitly verifies IsTor: true against Tor Project verification APIs instead of parsing arbitrary IP strings.
  • Fail-Closed Protection: Privoxy strictly routes to Tor SOCKS5 (forward-socks5t); requests immediately fail (500/503) if Tor is disconnected rather than leaking to clearnet.
  • Container Runtime Hardening: Documented and verified container execution with dropped Linux capabilities (cap_drop: [ALL]) and privilege escalation prevention (security_opt: [no-new-privileges:true]).
  • Automated Vulnerability Scanning: Integrated automated Trivy vulnerability scanning into CI gates.

⚡ Reliability & Health Checks (Milestones 2 & 3)

  • Multi-Subsystem Health Endpoint: Added additive GET /health and GET /v1/health endpoints reporting granular status across Tor daemon, proxy listeners, and external egress.
  • SOCKS5 Socket Readiness Probes: Pre-flight socket handshake probe verifies Tor listener readiness without external network dependence.
  • Thread-Safe Synchronized Cache: Concurrency-safe caching of external IP address with automatic invalidation during circuit rotation (/reconnect).
  • Graceful Process Supervision: Proper SIGTERM and SIGINT process reaping ensures sub-second graceful container shutdown without dangling zombie processes.

📊 Observability (Milestone 6)

  • Operational Diagnostics: Added GET /diagnostics and GET /v1/diagnostics exposing container uptime, reconnect counters, bootstrap progress, and cache state.
  • Prometheus Metrics: Added GET /metrics and GET /v1/metrics exporting standard exposition-format metrics without external third-party dependencies.
  • Privacy-Preserving Logs: Masked query strings and URL parameters in operational logs to protect sensitive user and scraping data.

📦 Supply Chain & Examples (Milestones 4 & 7)

  • Multi-Arch Builds & Provenance: Releases generate automated SBOM (SPDX) and SLSA provenance attestations (mode=max) via Docker Buildx for linux/amd64, linux/arm64, and linux/arm/v7.
  • Shipped Examples: Added examples/hardened-production/ alongside Browserless Chromium, CRW Web Scraper, and SearXNG examples—all strictly bound to 127.0.0.1 and verified with automated tests.
  • Docker Hub Synchronization: Added master overview documentation in DOCKERHUB.md.

🔄 Compatibility Statement

  • Zero Breaking Changes: All original ports (8118, 9050, 8080), environment variables, response fields, and legacy GET mutation routes (/connect, /disconnect, /reconnect) remain fully operational. Upgrades from prior releases are instantaneous drop-in replacements.