Repository navigation
Releases: JerryLingWuQ/dsh-traffic-guard
Releases · JerryLingWuQ/dsh-traffic-guard
Release list
v1.1.0 — cross-platform + English docs
Portability + docs
netguard1.1.0 — cross-platform proxy discovery. Resolution order is now:config.proxy.url→NETGUARD_HTTP_PROXY→ OS detection (macOSscutil --proxy, Windows WinINET registry, GNOMEgsettings).netguard statusreports which source was used.- Plugin: Python interpreter resolution is platform-aware (macOS
/usr/bin/python3, Windowspython, Linuxpython3) and falls back to the next candidate onENOENT;pythonPath/cliPath/homeremain overridable in the bundle config. - Docs: English is now the primary README (
README.md); Chinese lives inREADME.zh.md. New Portability section states it plainly: the plugin is not tied to any one proxy vendor — it only needs a local HTTP/HTTPS proxy — and lists what a migration to another machine/network needs. - Tests: 14 (up from 10), adding proxy-source precedence coverage.
No breaking changes: defaults, CLI flags and tool names are unchanged.
Install
dsh plugin --profile <profile> add github:JerryLingWuQ/dsh-traffic-guardv1.0.0 — metered proxy traffic guard
First public release. This release points at the CI-enabled commit (72bee87).
Highlights
- Standalone
netguardCLI — direct-first routing; the proxy is used only when the direct attempt actually stalls; hard per-call (128 MiB) and per-day (300 MiB) budgets; per-hop redirect re-evaluation;Content-Lengthpre-check; whole-chain timeout; JSONL ledger; direct-failure cache. - dsh Host plugin exposing
net_usage,net_probe,net_download. Works with any metered HTTP proxy — the proxy address is discovered from the OS (scutil --proxyon macOS,NETGUARD_HTTP_PROXYelsewhere), never hardcoded. - 10 unit tests running against a local
127.0.0.1HTTP server (no internet needed), green on GitHub Actions. - Bilingual docs (中文 / English), a comparison against related dsh egress plugins, and a roadmap.
Install
dsh plugin --profile <profile> add github:JerryLingWuQ/dsh-traffic-guardSafety
- Budget or size refusals are hard failures (exit code 3);
--forceis the only override. - No vendor-specific configuration formats or keys are shipped.