Files
s5p/TASKS.md
user 40560ef6dd docs: document connection limit, async fetch, and connection pool
Update USAGE, CHEATSHEET, README, PROJECT, and TASKS for the three
performance improvements: max_connections semaphore, async HTTP
source fetching, and first-hop TCP connection pool.
2026-02-15 17:56:08 +01:00

1.5 KiB

s5p -- Tasks

Current

  • Scaffold project structure

  • Implement SOCKS5 server

  • Implement protocol handshakes (SOCKS5, SOCKS4/4a, HTTP CONNECT)

  • Implement chain builder

  • CLI and config loading

  • Unit tests (config, proto)

  • Documentation

  • Smoke test with Tor

  • Containerfile + compose.yaml (Alpine)

  • Graceful SIGTERM shutdown

  • cProfile support (--cprofile)

  • Config split (example.yaml tracked, s5p.yaml gitignored)

  • Dynamic proxy source API integration

  • Connection retry with proxy rotation

  • Connection metrics (periodic + shutdown logging)

  • Managed proxy pool (multi-source, health-tested, persistent)

  • Weighted proxy selection (prefer recently-tested proxies)

  • Per-proxy backoff (60s cooldown after connection failure)

  • Stale proxy expiry (evict dead proxies not seen for 3 refresh cycles)

  • Pool stats in periodic metrics log (pool=alive/total)

  • Fast warm start (quick-test alive subset, defer full test)

  • Static chain health check (skip pool tests if chain unreachable)

  • SIGHUP hot config reload (timeout, retries, log_level, pool config)

  • Dead proxy reporting (report_url POST evicted proxies to API)

  • Concurrent connection semaphore (max_connections, CLI -m)

  • Async HTTP client (replace blocking urllib, parallel source fetch)

  • First-hop TCP connection pool (pool_size, pool_max_idle)

Next

  • Integration tests with mock proxy server
  • SOCKS5 server-side authentication
  • Tor control port integration