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.
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_urlPOST 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