docs: update project docs for weighted proxy selection

Add selection weight section to USAGE.md with decay formula and
reference table. Mark feature complete in ROADMAP and TASKS.
Update README and PROJECT descriptions.
This commit is contained in:
user
2026-02-15 15:49:54 +01:00
parent b60264b865
commit 0ed9142b1a
6 changed files with 25 additions and 6 deletions

View File

@@ -89,7 +89,8 @@ into the container. Edit locally, restart to pick up changes.
## Proxy Pool
Managed proxy pool with multiple sources, health testing, and persistence.
Appends a random alive proxy after the static chain on each connection.
Appends an alive proxy after the static chain on each connection, weighted
by recency of last successful health test.
```yaml
proxy_pool:
@@ -133,6 +134,20 @@ After `max_fails` consecutive failures, a proxy is evicted.
Mass-failure guard: if >90% of tests fail in one cycle, eviction is skipped
(likely the static chain is broken, not the proxies).
### Selection weight
Alive proxies are selected with probability proportional to their recency
weight: `1 / (1 + age / 300)`, where `age` is seconds since the last
successful health test. This favors freshly-verified proxies over stale ones:
| Age | Weight |
|-----|--------|
| 0 s (just tested) | ~1.0 |
| 5 min | ~0.5 |
| 10 min | ~0.33 |
| 30 min | ~0.1 |
| Never tested | 0.01 |
### Persistence
Pool state is saved to `state_file` (default: `~/.cache/s5p/pool.json`) after