proxywatchd: mark confirmed-dead proxies as permanently dead

- Add DEAD_PROXY=-1 constant for permanently dead proxies
- Mark proxy dead when: failed >= max_fail*2, or max_fail with fatal error
- Fatal errors: refused, unreachable, auth (proxy definitely not working)
- Dead proxies excluded from testing (failed >= 0 query)
- Cleanup_stale also removes old dead proxies
- Dashboard shows separate dead vs failing counts
This commit is contained in:
Username
2025-12-23 18:03:01 +01:00
parent 1e2054bec5
commit f83733dd46
2 changed files with 35 additions and 7 deletions

View File

@@ -126,11 +126,17 @@ def get_db_health(db):
).fetchone()
stats['added_last_day'] = row[0] if row else 0
# Dead proxies count
# Dead proxies count (permanently dead = -1, failing = positive)
row = db.execute(
'SELECT COUNT(*) FROM proxylist WHERE failed = -1'
).fetchone()
stats['dead_count'] = row[0] if row else 0
# Failing proxies count (positive fail count but not permanently dead)
row = db.execute(
'SELECT COUNT(*) FROM proxylist WHERE failed > 0'
).fetchone()
stats['dead_count'] = row[0] if row else 0
stats['failing_count'] = row[0] if row else 0
except Exception:
pass