From 8272cf06e040e6fbcc4c6033fd9b192b98df60a9 Mon Sep 17 00:00:00 2001 From: Username Date: Thu, 8 Jan 2026 09:05:20 +0100 Subject: [PATCH] config: add verification and schedule settings - [verification] section: enabled, threads, batch_size, interval, max_queue - working_checktime: retest interval for working proxies (default: 300s) - fail_retry_interval: retry interval for failing proxies (default: 60s) - fail_retry_backoff: linear backoff for failures (default: True) - ssl_only: skip secondary check on SSL failure (default: False) --- config.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/config.py b/config.py index 99156d1..0af12fc 100644 --- a/config.py +++ b/config.py @@ -101,8 +101,9 @@ class Config(ComboParser): self.add_item(section, 'timeout_fail_max', float, 15, 'max extra timeout for failures (default: 15)', False) self.add_item(section, 'submit_after', int, 200, 'min. number of tested proxies for DB write', False) self.add_item(section, 'debug', bool, False, 'whether to print additional debug info', False) - self.add_item(section, 'checktime', int, 1800, 'base checking interval for proxies in db in seconds', False) - self.add_item(section, 'perfail_checktime', int, 3600, 'additional checking interval for proxies in db in seconds per experienced failure', False) + self.add_item(section, 'working_checktime', int, 300, 'retest interval for working proxies in seconds (default: 300)', False) + self.add_item(section, 'fail_retry_interval', int, 60, 'retry interval for failing proxies in seconds (default: 60)', False) + self.add_item(section, 'fail_retry_backoff', bool, True, 'use linear backoff for failures: 60, 120, 180... (default: True)', False) self.add_item(section, 'database', str, 'proxies.sqlite', 'filename of database', True) self.add_item(section, 'oldies', bool, False, 're-test old proxies as well ? (default: False)', False) self.add_item(section, 'oldies_checktime', int, 43200, 'base checking interval for *old* proxies in seconds (default: 43200)', False) @@ -113,6 +114,7 @@ class Config(ComboParser): self.add_item(section, 'tor_safeguard', bool, True, 'enable tor safeguard (default: True)', False) self.add_item(section, 'checktype', str, 'head', 'secondary check type: irc, head, judges (used when ssl_first fails)', False) self.add_item(section, 'ssl_first', bool, True, 'try SSL handshake first, fallback to checktype on failure (default: True)', False) + self.add_item(section, 'ssl_only', bool, False, 'when ssl_first enabled, skip secondary check on SSL failure (default: False)', False) self.add_item(section, 'scale_cooldown', int, 10, 'seconds between thread scaling decisions (default: 10)', False) self.add_item(section, 'scale_threshold', float, 10.0, 'min success rate % to scale up threads (default: 10.0)', False) @@ -147,6 +149,14 @@ class Config(ComboParser): self.add_item(section, 'libretranslate_url', str, 'https://lt.mymx.me/translate', 'LibreTranslate API URL (default: https://lt.mymx.me/translate)', False) self.add_item(section, 'libretranslate_enabled', bool, False, 'enable LibreTranslate for dynamic translations (default: False)', False) + section = 'verification' + self.add_item(section, 'enabled', bool, True, 'enable manager verification system (default: True)', False) + self.add_item(section, 'threads', int, 2, 'number of verification threads (default: 2)', False) + self.add_item(section, 'batch_size', int, 10, 'proxies per verification cycle (default: 10)', False) + self.add_item(section, 'interval', int, 30, 'seconds between verification cycles (default: 30)', False) + self.add_item(section, 'max_queue', int, 1000, 'max pending verifications (default: 1000)', False) + self.add_item(section, 'spot_check_pct', float, 1.0, 'percent of working proxies to spot-check (default: 1.0)', False) + section = 'worker' self.add_item(section, 'batch_size', int, 100, 'proxies per work batch (default: 100)', False) self.add_item(section, 'heartbeat', int, 60, 'heartbeat interval in seconds (default: 60)', False)