Repository navigation
v0.3.0
Added
- Routing:
Router,Rule,Route(direct, TLS with a client credential,
reject; optional upstream) and matchers innetproxy.rules(host globs,
regex, ports, CIDR networks, paths, listeners, combinable with&,|,
~). Credential: a client certificate for mTLS from ansslcontextkeystore
(Windows certificate store, PKCS#11 smart cards and HSMs), an identity or
PEM, built on first use.AsyncProxyServer/ProxyServer: an HTTP proxy (CONNECT, forwarded
http://requests upgraded to HTTPS by rule,/proxy.pac), local
Tunnelports, upstream proxy chaining through a proxylibProxyMapwith
failover, loopback-only unlessallow_remote=True.- TLS interception (
netproxy.intercept) with a CA name-constrained to the
intercepted hosts. - Recording (
netproxy.recording): aRecorderhook per relayed session,
LogRecorder, andPcapRecorder(extracapture) writing each session
as a TCP connection in a pcap/pcapng file;keylog=writes the TLS
secrets of every TLS connection the proxy owns (OpenSSL 1.1.1 or later;
refused where the TLS library cannot log keys). - Configuration files (
netproxy.config, defaultnetproxy/netproxy.cfg),
read with anycfg: TOML, or YAML (extrayaml), JSON or INI when the
first line says so (#!yaml). - The
netproxycommand line
(run,check,pac,ca init,ca show; extracli).
Changed
- A
pemcredential'scertificatemay be a PKCS#12 bundle (.p12/.pfx)
or DER;password_filenames a file holding the key's or bundle's
password, read only when needed (requires sslcontext 2.1). - Requires proxylib 2: answers are read with
proxylib.lookup, and
egress = "system"isauto_proxy(environ={})(the OS's settings only). - Rewritten from scratch on
asyncioand the standard library'sssl.
Twisted, the WSGI hosting and the TOML schema of 0.2 are gone; nothing of
the 0.2 API remains.
Full Changelog: https://github.com/jose-pr/netproxy/commits/v0.3.0