harden macOS networking port

This commit is contained in:
drjones
2026-05-23 22:09:43 -07:00
parent 1f5e63ca1f
commit 35899ba1d1
24 changed files with 581 additions and 742 deletions

View File

@@ -35,7 +35,19 @@ The first run creates `.venv`, installs dependencies, downloads the correct macO
- macOS app-data paths under `~/Library/Application Support/ProxyChainManager`.
- macOS GOST download/extract for `darwin_arm64` or `darwin_amd64`.
- macOS DNS cache flush and system proxy apply/clear through `networksetup`.
- macOS launch-at-login through a per-user LaunchAgent.
- macOS hostname spoof and IPv6-off controls with standard administrator prompts.
## Platform Notes
The upstream project is Windows-first. Windows-only controls such as netsh firewall kill-switch, registry WebRTC policy, Task Scheduler boot task, telemetry kill, and LAN lockdown are kept in the UI but degrade safely on macOS. The core proxy chain engine, validation, map/intel, logs, browser profile generation, ban tests, signup prep, and settings are runnable on macOS.
The upstream project is Windows-first. Features that do not have a clean, safe macOS equivalent were removed from the Mac UI instead of being left as fake toggles: netsh firewall kill-switch, registry Chrome/Edge WebRTC policy, MAC spoofing, Windows telemetry kill, and Windows LAN broadcast lockdown.
macOS networking is handled through:
- GOST bound to loopback at `127.0.0.1`.
- System HTTP/HTTPS proxy apply/clear via `networksetup`.
- Administrator prompt fallback when macOS requires permission for network changes.
- DNS cache flush with `dscacheutil` and `mDNSResponder`.
- Hardened Firefox profile for WebRTC and fingerprint controls.
The global Windows fail-closed firewall was not ported because a safe one-click macOS PF equivalent would require managing privileged packet-filter state and can leave the machine offline if interrupted. The Mac build favors deterministic system-proxy cleanup and verified chain health over unsafe PF mutation.