Skip to content

v1.0.3

Choose a tag to compare

@baizhizzl baizhizzl released this 23 Oct 14:38
· 2 commits to main since this release
11dd186

Security and robustness release from an independent review.

Security

  • PAC scripts now run in a context without host objects (in-realm helpers, string code generation disabled, 100 ms timeout). The previous sandbox exposed the host Function constructor through injected helpers and the argument array; a PAC could execute Host code. New tests assert both escape paths fail.
  • Proxy URLs with malformed percent escapes in credentials are rejected instead of throwing URIError on first use; PAC PROXY tokens are validated too.
  • ProxyAgent construction failures no longer break the dispatcher.

Behavior

  • System detection and PAC download only for system mode and explicit re-detect; direct/custom saves are instant.
  • PAC failures fall back to a static proxy when present, surface pac-failed, and no longer publish a PAC sample to child HTTP_PROXY.
  • macOS per-scheme Enable bits, ExcludeSimpleHostnames, dormant address.
  • PAC URL keeps path/query in the row; server/dormant sanitized.
  • Teardown order, first-get readiness, persist-failed code, 0600 config file.
  • Client: locale fallback, custom-text resync + unsaved hint, 15 s timeout with Retry, IME-safe Enter.
  • IPv6 CIDR bypass and ws/wss default ports.

Tests

52/52 host checks pass.