- fingerprint.py: audit_device() crashed with "cannot unpack non-iterable
bool" because of a stray `webrtc_ok, _ = ... and True or False` line.
Replaced with a proper Chrome+Edge registry probe using _WEBRTC_*
module constants.
- ProxyChainManager.spec: removed the hardcoded absolute run.py path,
resolve everything relative to SPECPATH so the spec is portable on any
machine / CI runner. Bundled signup_extension/ and world_map.png as
data files (these were missing — the runtime would fall back to drawn
landmasses and the signup browser extension would 404 in the frozen
build). Added PIL._tkinter_finder hidden import for safety.
- scripts/setup_and_build.ps1: build now uses the spec file instead of
re-deriving CLI flags. The old `--onefile --windowed --collect-all
customtkinter` invocation IGNORED the spec and silently dropped the
bundled data files. Also added explicit $LASTEXITCODE check.
Verified end-to-end: clean PyInstaller build produces a 32MB exe with
signup_extension (8 TOC entries), world_map.png (4), customtkinter
(365) all present.
Co-authored-by: Cursor <cursoragent@cursor.com>
Cookie system:
- Expand from 5 to 12 fully-specified CookiePolicy modes in browser_identity.py
- Add CookiePolicy dataclass: behavior, lifetime, TCP partitioning, clearOnShutdown.*
- browser_profile.py emits full cookie pref set from policy object
- UI dropdown widened to 680px with live description label per mode
Firefox launch fix:
- Detect Firefox via Windows registry, AppData, and shutil.which
- Use DETACHED_PROCESS|CREATE_NO_WINDOW|CREATE_NEW_PROCESS_GROUP flags
- Wait up to 3s for firefox.exe in tasklist instead of polling parent pid
- taskkill on stop() to terminate all firefox.exe processes
DNS leak tester:
- dns_leak.py: FullDnsLeakReport dataclass, run_dns_leak_test comparing
proxy DoH resolution vs direct system DNS
WebRTC tester:
- webrtc_check.py: STUN UDP probe, registry policy check, user.js pref check
Ban tester:
- Added SITES_SHOPPING, SITES_CRYPTO, SITES_DNS categories
- Parallel execution via ThreadPoolExecutor
- Expanded banned-text hint keywords
Fingerprint audit:
- OS identity checks: hostname, MAC, GUID, OS version, timezone, screen res
- Browser consistency analysis of user.js
Neon world map:
- world_map.png bundled; chain_map.py renders hop arcs over it with glow effect
Signup prep:
- Auto-save account on Open & Autofill; Copy Email / Copy Pass buttons
- Auto-fill custom URL when preset site selected
- PyInstaller-safe path resolution for signup_extension
Spec:
- Bundle signup_extension dir and world_map.png as PyInstaller data files
Co-authored-by: Cursor <cursoragent@cursor.com>
Adds VPN-aware leak handling, chain testing UX improvements, hardened Firefox launch/profile management, privacy/device hardening modules, and tray/status upgrades so the app is production-ready as the new baseline.
Co-authored-by: Cursor <cursoragent@cursor.com>