From 5f52c83acaa4c535198bcb72ce91ebe92517f64a Mon Sep 17 00:00:00 2001 From: user Date: Wed, 18 Feb 2026 22:19:04 +0100 Subject: [PATCH] docs: update PROJECT.md with named pools and recent features Co-Authored-By: Claude Opus 4.6 --- PROJECT.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/PROJECT.md b/PROJECT.md index a94434e..19f5ab0 100644 --- a/PROJECT.md +++ b/PROJECT.md @@ -19,15 +19,16 @@ Client -------> s5p -------> Hop 1 -------> Hop 2 -------> Target SOCKS5 proto1 proto2 protoN ``` -- **server.py** -- asyncio SOCKS5 server, bidirectional relay, signal handling +- **server.py** -- asyncio SOCKS5 server, bidirectional relay, signal handling, multi-pool orchestration - **proto.py** -- protocol handshakes (SOCKS5, SOCKS4/4a, HTTP CONNECT), chain builder -- **config.py** -- YAML config loading, proxy URL parsing, API response parsing, pool config -- **pool.py** -- managed proxy pool (multi-source, health-tested, persistent) +- **config.py** -- YAML config loading, proxy URL parsing, API response parsing, pool/listener config +- **pool.py** -- named proxy pool (multi-source, health-tested, persistent, MITM filtering) - **http.py** -- minimal async HTTP/1.1 client (GET/POST JSON, no external deps) - **connpool.py** -- pre-warmed TCP connection pool to first chain hop -- **api.py** -- built-in HTTP control API (runtime metrics, pool state, config reload) +- **api.py** -- built-in HTTP control API (runtime metrics, multi-pool state, config reload) +- **tor.py** -- Tor control port integration (NEWNYM signaling, periodic circuit rotation) - **cli.py** -- argparse CLI, logging setup, cProfile support -- **metrics.py** -- connection counters and human-readable summary (lock-free, asyncio-only) +- **metrics.py** -- connection counters, per-listener latency, rate tracking (lock-free, asyncio-only) ## Deployment @@ -68,3 +69,9 @@ All other functionality uses Python stdlib (`asyncio`, `socket`, `struct`). - **Async HTTP** -- native asyncio HTTP client replaces blocking urllib, parallel fetches - **First-hop pool** -- pre-warmed TCP connections to chain[0], stale-evicted, auto-refilled - **Control API** -- built-in asyncio HTTP server, no Flask/external deps, disabled by default +- **Tor integration** -- control port NEWNYM signaling, periodic circuit rotation +- **Multi-Tor** -- round-robin traffic across multiple Tor nodes (`tor_nodes`) +- **Multi-listener** -- per-port chain depth and pool assignment +- **Named pools** -- independent proxy pools with per-listener binding (`proxy_pools:`) +- **MITM filtering** -- `mitm: true/false` source filter, `?mitm=0/1` API query param +- **Per-listener latency** -- independent latency tracking per listener in `/status`