4.0 KiB
Proxy God — Operator Runbook
Version: 1.0
Last updated: 2026-05-21
Emergency: Firewall Kill-Switch Stuck (Network Appears Offline)
If the application crashes or is force-killed while the kill-switch is engaged, outbound traffic will remain blocked. Follow these steps to restore connectivity.
Option 1 — Run the standalone disengage script (fastest)
Open an elevated (Run as Administrator) PowerShell terminal and run:
# Remove all PCM_ firewall rules
netsh advfirewall firewall delete rule name=all
# Restore default outbound policy
netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
Option 2 — Restart the application elevated
- Right-click
ProxyChainManager.exe→ Run as administrator. - The application detects orphan firewall rules on startup and removes them.
- Click Stop if the service does not start, to force disengage.
Option 3 — Restart Windows Firewall service
Restart-Service -Name MpsSvc -Force
This resets all runtime firewall state (not persistent rules). You may still
need to remove the PCM_* rules afterward with Option 1.
How the application handles this automatically
firewall.py exposes emergency_disengage(), which is registered via
atexit and signal.SIGTERM/SIGINT in service.py. A clean exit or
SIGTERM will call emergency_disengage() automatically, removing all
PCM_* rules and restoring allowoutbound before the process terminates.
Only a hard kill (SIGKILL, power loss, BSOD) can bypass this handler —
in those cases use Option 1 or Option 2 above.
Verify rules are gone
netsh advfirewall firewall show rule name=all dir=out | Select-String "PCM_"
# Should return no output when clean
Emergency: Proxy Leak Detected
If the Live tab reports a leak (exit IP matches your real IP or VPN IP):
- Click Rotate Now to pick fresh proxies.
- If leaks persist, click Stop, then re-enable the kill-switch and click Start.
- Check the pool size — if < 5 proxies, force a full pool refresh by stopping and restarting the service.
- Enable VPN before starting if leak detection mode is "strict (exact IP)" — a VPN provides a larger subnet mask for the leak check.
Empty Pool / CDN Down
If every pool refresh returns 0 proxies:
- Check internet connectivity (browser → any site through system proxy OFF).
- Verify the proxy source URLs in Settings are reachable.
- The default sources use
cdn.jsdelivr.net— if blocked on your network, replace with a mirror or local JSON file (usefile:///path/to/proxies.jsonformat). - Temporarily lower
Max candidatesto speed up validation if the CDN is slow.
GOST Binary Missing or Quarantined
Symptoms: "GOST setup failed" or "GOST appears quarantined" in the Live log.
-
Check Windows Defender: Windows Security → Protection history — look for a quarantine event on
gost.exe. -
Restore and exclude
gost.exefrom Defender, or re-download by deleting the GOST folder:Remove-Item "$env:LOCALAPPDATA\ProxyChainManager\gost" -Recurse -Force -
Restart the application — it will re-download and re-verify GOST via SHA256.
Settings Corrupted / Reset to Defaults
A corrupt settings.json is automatically backed up to settings.json.corrupt
and the application reverts to defaults.
To restore:
$dir = "$env:LOCALAPPDATA\ProxyChainManager"
Copy-Item "$dir\settings.json.corrupt" "$dir\settings.json" -Force
A rolling backup is also kept at settings.json.bak (last successful save).
Log Files
| File | Location | Purpose |
|---|---|---|
proxy_chain_manager.log |
%LOCALAPPDATA%\ProxyChainManager\ |
Main app log (5 MB × 3 backups) |
gost.log |
%LOCALAPPDATA%\ProxyChainManager\ |
GOST process output (512 KB rolling) |
To open the log directory:
explorer "$env:LOCALAPPDATA\ProxyChainManager"