Repository navigation
v0.6.0
pxgo v0.6.0
This release closes the largest remaining proxy-parity gaps and publishes the first PxGo release with end-to-end Unix Kerberos/SPNEGO upstream authentication.
Highlights
- Unix Kerberos/SPNEGO is wired end-to-end. On Linux and macOS,
--kerberosnow uses the manager-owned FILE credential cache to obtain anHTTP/<proxy-host>service ticket and authenticate upstreamNegotiatechallenges for both ordinary HTTP proxy requests and CONNECT tunnels. - HTTPS parent proxies are covered. Kerberos/SPNEGO retry behavior is regression-tested when the upstream proxy itself is reached over TLS.
- Live KDC verification no longer skips SPNEGO. CI provisions a real MIT KDC plus
HTTP/proxy.pxgo.test, then requires successful SPNEGO service-ticket acquisition. - Migration from Python px is easier. Legacy
PX_*environment variables andpx.iniare accepted as fallbacks, while nativePXGO_*andpxgo.iniretain precedence. - More deterministic reliability tests. Replay-body cleanup failure is tested with explicit fault injection rather than filesystem permission behavior that varied under root/container execution.
- Broader CLI/diagnostic confidence. Doctor and quit behavior now have additional live/fallback/error-path tests.
- Distribution is operational. Homebrew is published from
khanhkit/homebrew-tap; each release also carries the generated direct-install Scoop manifest. TheKhanhKit.PxGoWinGet submission is technically validated upstream but is not advertised as published until Microsoft accepts it.
Authentication behavior
Linux and macOS
With --kerberos enabled, PxGo manages the Kerberos ticket lifecycle and uses that credential cache for upstream SPNEGO authentication. The service principal is derived as HTTP/<proxy-host>.
Windows
Windows transparent authentication remains a separate current-user SSPI path. Do not use --kerberos as a Windows SSPI selector; omit explicit upstream credentials when current-user NTLM/Negotiate SSO is desired.
Real domain-backed AD/SPN verification remains tracked separately because it requires a protected domain-joined Windows runner. Hosted Windows native SSPI roundtrip and handle-soak tests remain green, but they are not represented as a substitute for real AD evidence.
Migration compatibility
Existing PxGo configuration remains compatible. For users migrating from Python px:
PXGO_*overrides the corresponding legacyPX_*variable.pxgo.iniis preferred over legacypx.ini.- Legacy
px.iniis read as a compatibility fallback;--savecontinues to write nativepxgo.ini.
The effective precedence remains:
command line > PXGO_ environment > PX_ environment > explicit dotenv > pxgo.ini/px.ini > defaults
Installation
Release archives are available for Linux, macOS, and Windows on amd64 and arm64. Verify downloads against checksums.txt.
Homebrew:
brew tap khanhkit/tap
brew install pxgoWindows Scoop direct install:
scoop install https://github.com/khanhkit/pxgo/releases/latest/download/pxgo-scoop.jsonWinGet package KhanhKit.PxGo is still pending publication in the external Microsoft catalog and should not yet be treated as an official install path.
Verification
This release line is gated by:
- Ubuntu and Windows full test/race coverage required by branch protection.
- Native Linux arm64 and macOS arm64 CI.
- CodeQL and repository security scans.
- Live MIT Kerberos KDC integration including non-skipping
TestKerberosIntegrationSPNEGOToken. - Native Windows SSPI roundtrip and handle-soak verification in the release workflow.
- Artifact-first GoReleaser staging and execution of the exact candidate archives before immutable promotion.
- SBOMs, checksums, and GitHub artifact attestations.