Commit Graph

18 Commits

Author SHA1 Message Date
Dr Jones
9439037cac Early-exit validation: stop once enough valid proxies found
- validate_proxies: target= param — once N valid found, remaining
  tasks skip the HTTP call and drain immediately (no wasted time)
- _build_pool: target = max(min_pool_size, chain_length * 3)
- Settings: min_pool_size (default 20), max_candidates default 400->200
- UI: Stop after N valid / Max candidates fields in Settings tab
- README: updated settings table
- 1 new test for early-exit with unreachable target

Made-with: Cursor
2026-04-16 02:31:40 -07:00
Dr Jones
8ffde94d48 VPN-aware leak detection, GOST stderr logging
- _is_same_network: /16 subnet comparison catches NordVPN IP rotation
  (exit_ip != real_ip exact-match missed same-VPN exits on rotated IPs)
- Leak now blacklists the entire dead chain, not just rotate
- GOST stderr/stdout -> gost.log (file, never deadlocks vs pipe)
  with 512KB rotation; last 8 lines shown in UI when GOST dies
- read_gost_log_tail helper for live debugging
- Health check uses same subnet check for consistency
- 5 new subnet tests

Made-with: Cursor
2026-04-16 01:23:00 -07:00
Dr Jones
0509d4104d Fix validation: 0 valid proxies (httpx shared client bug)
httpx.AsyncClient.get() does not accept proxy= per-request.
Shared client caused every check_one call to raise TypeError,
silently caught as False, so 0/N proxies ever passed.

Reverted to per-proxy AsyncClient(proxy=url) in _check_one.
Semaphore concurrency + wall-clock cap preserved.
Also re-adds _check_one helper that was accidentally removed.

Made-with: Cursor
2026-04-16 01:12:56 -07:00
Dr Jones
c9c45fdfec Fix empty proxy sources (empty pool), first-run bat, elite hint
- load_settings/sanitize_settings: treat sources=[] as invalid; restore defaults (all([]) was true)
- _build_pool: defensive default sources + clearer empty-fetch log; elite-only empty fetch message
- FirstRun_Build_And_Install.bat: Python check + setup_and_build.ps1
- README + test for empty sources sanitize

Made-with: Cursor
2026-04-16 00:44:42 -07:00
Dr Jones
214d2d2ff7 Proxy auth UI, verbose Live logs, build script, docs
- Fixed exit and manual chain: optional user/pass fields with URL merge and redaction in UI/logs
- config: split_proxy_for_edit, merge_proxy_credentials, redact_proxy_url, IPv6-style host bracketing
- Live tab: UILogHandler to stream proxy_chain_manager logs; Verbose toggle; Clear log; httpx quiet
- service/validator/fetcher: structured INFO/DEBUG for pool, GOST, validation, fetches
- setup_and_build.ps1: pip upgrade, deps, PyInstaller, desktop copy + shortcut; build_exe.bat delegates
- README: clone/pull to one-script desktop build flow

Made-with: Cursor
2026-04-16 00:27:39 -07:00
Dr Jones
0316b1befc chore: remove build/ and dist/ from version control (use build_exe.bat locally)
Made-with: Cursor
2026-04-15 19:53:48 -07:00
Dr Jones
b32e241670 chore: desktop Proxy God shortcut + script, README one-click section
Made-with: Cursor
2026-04-15 19:52:18 -07:00
Dr Jones
086a2499c0 fix: anti-stall — IP check budgets, capped timers, fetch wait_for, obfuscation auto-fallback, empty validate short-circuit, unittest suite
Made-with: Cursor
2026-04-15 14:40:46 -07:00
Dr Jones
dc1a1c3efd docs: README overhaul — sharper voice, same facts
Made-with: Cursor
2026-04-15 14:35:18 -07:00
Dr Jones
096c5094fb fix: sanitize settings JSON, asyncio get_running_loop, Defender exclusion, _btn cleanup, ASCII Save label
Made-with: Cursor
2026-04-15 13:39:27 -07:00
Dr Jones
1366a2f48e remove login dashboard; keep Proxy God only
Made-with: Cursor
2026-04-15 13:34:32 -07:00
Dr Jones
ae2d2bb982 add login dashboard: console at logon with listeners, IIS, Docker, stats
Made-with: Cursor
2026-04-15 13:20:27 -07:00
Dr Jones
9f32fb3bff fix: _btn pop font/width/height so CTkButton never gets duplicate kwargs
Made-with: Cursor
2026-04-15 12:27:17 -07:00
Dr Jones
862b07b837 fix: _btn pass font/corner_radius explicitly (no duplicate font in CTkButton/super kwargs)
Made-with: Cursor
2026-04-14 19:38:05 -07:00
Dr Jones
1bd07623c4 fix: _btn duplicate font kwarg (Save All Settings crash on startup)
Made-with: Cursor
2026-04-14 19:34:10 -07:00
Dr Jones
644229719f feat: fixed exit proxy (last hop only), optional pool-free single-hop mode, gitignore pycache
Made-with: Cursor
2026-04-14 19:28:50 -07:00
Dr Jones
45798464e4 optimize: shuffle-drain pool (no repeat chains), executor for fetchers, DEVNULL pipes, verify=False validator, IP fallbacks, +/- hop topbar, timestamps, countdown, rotation counter, blacklist bad proxies
Made-with: Cursor
2026-04-14 17:21:10 -07:00
Dr Jones
4bb626498f v2: tabs, chain builder, obfuscation modes, hop slider, Defender exclusion, firewall kept
Made-with: Cursor
2026-04-14 17:13:02 -07:00