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.
38 lines
1.5 KiB
Markdown
38 lines
1.5 KiB
Markdown
# s5p -- Tasks
|
|
|
|
## Current
|
|
|
|
- [x] Scaffold project structure
|
|
- [x] Implement SOCKS5 server
|
|
- [x] Implement protocol handshakes (SOCKS5, SOCKS4/4a, HTTP CONNECT)
|
|
- [x] Implement chain builder
|
|
- [x] CLI and config loading
|
|
- [x] Unit tests (config, proto)
|
|
- [x] Documentation
|
|
- [x] Smoke test with Tor
|
|
- [x] Containerfile + compose.yaml (Alpine)
|
|
- [x] Graceful SIGTERM shutdown
|
|
- [x] cProfile support (`--cprofile`)
|
|
- [x] Config split (example.yaml tracked, s5p.yaml gitignored)
|
|
|
|
- [x] Dynamic proxy source API integration
|
|
- [x] Connection retry with proxy rotation
|
|
- [x] Connection metrics (periodic + shutdown logging)
|
|
- [x] Managed proxy pool (multi-source, health-tested, persistent)
|
|
- [x] Weighted proxy selection (prefer recently-tested proxies)
|
|
- [x] Per-proxy backoff (60s cooldown after connection failure)
|
|
- [x] Stale proxy expiry (evict dead proxies not seen for 3 refresh cycles)
|
|
- [x] Pool stats in periodic metrics log (`pool=alive/total`)
|
|
- [x] Fast warm start (quick-test alive subset, defer full test)
|
|
- [x] Static chain health check (skip pool tests if chain unreachable)
|
|
- [x] SIGHUP hot config reload (timeout, retries, log_level, pool config)
|
|
- [x] Dead proxy reporting (`report_url` POST evicted proxies to API)
|
|
- [x] Concurrent connection semaphore (`max_connections`, CLI `-m`)
|
|
- [x] Async HTTP client (replace blocking urllib, parallel source fetch)
|
|
- [x] 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
|