Px is a HTTP(s) proxy server that allows applications to authenticate through an NTLM or Kerberos proxy server, typically used in corporate deployments, without having to deal with the actual handshake. Px leverages Windows SSPI or single sign-on and automatically authenticates using the currently logged in Windows user account. It is also possible to run Px on Windows, Linux and MacOS without single sign-on by configuring the domain, username and password to authenticate with.
What's new in 0.13.0
Improvements - Px now requires pymcurl 8.23.0.2 or newer, which provides the keepalive, low-speed timeout, and auth-retry APIs used by Px. - PAC dnsResolve() (and so isResolvable()/isInNet()) and IP-based --noproxy matching use a cached, bounded DNS resolver: successful and failed lookups are cached, concurrent lookups of one name are shared, and slow resolvers no longer stall unrelated requests (#273). - px --test now reports every connectivity check as passed or failed and completes all checks before returning a failure status (#274). - Release binaries and Docker images bundle the newest CPython 3.13 patch available to the build tools (uv's python-build-standalone, actions/setup-python, python.org's Windows embed zips, and the python:3.13-alpine image), and log the bundled version (#275). - Installation docs now cover uninstalling Px for winget, pip and standalone binary installs, including removing the Windows auto-start entry first. New features - Switched to libuv-based event loops: winloop on Windows, uvloop on Linux/macOS. These replace Python's default asyncio event loop with libuv, providing significantly improved throughput for CONNECT tunnels and fixing px randomly becoming unresponsive on Windows after network disruptions (CPython bug #93821). Falls back to the default event loop gracefully if the libuv library is not available (#268). - New --event-loop=auto|asyncio option (PX_EVENT_LOOP, event_loop in px.ini) to run on Python's default asyncio event loop instead of winloop/uvloop. - New --authretry=<seconds> option (PX_AUTHRETRY, authretry in px.ini) takes a float number of seconds (fractions allowed) and lets Px probe an upstream proxy again after it has been blocked for repeated 407s. For example, --authretry=300 retries every 5 minutes. Once blocked, one request is let through per interval and all other requests are refused until that probe succeeds. A successful response unblocks the proxy immediately; another 407 re-blocks it. Default 0 keeps blocked proxies blocked until Kerberos ticket renewal or restart. Thanks to #276 (enkunkun) for identifying the problem. Bug fixes - The macOS binary no longer links Homebrew's OpenSSL by absolute path, which made SSL and pyspnego fail to load on Macs without that exact Homebrew version. It is now built with a self-contained python-build-standalone CPython. The release build scans every bundled Mach-O file and rejects …
Yes. Px is free and open-source software released under the MIT license.
What is the latest version of Px?
The latest version is 0.13.0, released on Oct 26, 2026.
Is it safe to download Px?
The download button links to the official installer published on github.com, the same file Windows Package Manager installs. You can verify the downloaded file by comparing its SHA-256 checksum with 76c29b666e105c93d116ab506380aa006316a6cb66091cd40203d387bc04b6b9.
Which Windows versions does Px support?
Px runs on Windows and is available for 64-bit (x64) systems.
How do I uninstall Px?
Open Settings › Apps › Installed apps, find Px and select Uninstall. From the command line, run winget uninstall --id=genotrance.px -e.