Skip to main content

klan1/pproxy fork: HTTP/SOCKS4/SOCKS5/Shadowsocks tunnel proxy, Python 3.9+ compatible.

Project description

A maintained fork of pproxy (HTTP/SOCKS4/SOCKS5/Shadowsocks/ShadowsocksR/Redirect/PF/QUIC async tunnel proxy) with two changes:

  1. Python 3.12+ compatibility. Replaces asyncio.get_event_loop() (which raises RuntimeError on Python 3.12+ when no loop is running) with asyncio.get_running_loop() plus a small fallback helper. Works on Python 3.9, 3.10, 3.11, 3.12 and 3.13.

  2. Dropped Python 3.6/3.7 support. Both are end-of-life.

The original library was last released as pproxy 2.7.9 two years ago. This fork keeps the same protocol surface and CLI; it only fixes the runtime crash on modern Python. See CHANGELOG.md for the detailed change list and the upstream commit history for everything else.

QuickStart

$ pip3 install klan1-pproxy
$ pproxy
Serving on :8080 by http,socks4,socks5
^C

Or pin to a specific version:

$ pip3 install 'klan1-pproxy==3.0.0'

Supported protocols

  • HTTP, HTTP2, HTTP3

  • SOCKS4, SOCKS4a, SOCKS5

  • Shadowsocks, ShadowsocksR

  • SSH tunnel (with the sshtunnel extra)

  • PF (port-forwarding)

  • QUIC (with the quic extra)

  • TCP and UDP

CLI options

usage: __main__.py [-h] [-l LISTEN] [-r RSERVER] [-ul ULISTEN] [-ur URSERVER]
                   [-b BLOCK] [-a ALIVED] [-s {fa,rr,rc,lc}] [-d] [-v]
                   [--ssl SSLFILE] [--pac PAC] [--get GETS] [--auth AUTHTIME]
                   [--sys] [--reuse] [--daemon] [--test TEST] [--version]

Differences from upstream pproxy

  • pproxy.__version__ reports "3.0.0" (was "2.7.9").

  • setup.py declares python_requires=">=3.9". The wheel uploaded to PyPI under the name klan1-pproxy will refuse to install on Python 3.6 or 3.7.

  • pproxy/__doc__.py uses importlib.metadata instead of the deprecated pkg_resources API to look up its own version.

Differences from upstream are tracked in CHANGELOG.md.

Repository

License

MIT. Same as the upstream project.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

klan1_pproxy-3.0.0.tar.gz (36.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

klan1_pproxy-3.0.0-py3-none-any.whl (37.7 kB view details)

Uploaded Python 3

File details

Details for the file klan1_pproxy-3.0.0.tar.gz.

File metadata

  • Download URL: klan1_pproxy-3.0.0.tar.gz
  • Upload date:
  • Size: 36.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for klan1_pproxy-3.0.0.tar.gz
Algorithm Hash digest
SHA256 69757759d2e448c62317639b0052558af8fbf1465d811cbbcc0481885e458bd9
MD5 31c70c2f6f2af9254f3e06ae1dc1c275
BLAKE2b-256 db07c1d78afaf79967e1a3eaf9e6c8bb8d4e22582305b10079ffc002fd5a9beb

See more details on using hashes here.

File details

Details for the file klan1_pproxy-3.0.0-py3-none-any.whl.

File metadata

  • Download URL: klan1_pproxy-3.0.0-py3-none-any.whl
  • Upload date:
  • Size: 37.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for klan1_pproxy-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aefb35a8a555e50be8c34cd78978916a460daee30185d64553b3088ce778219a
MD5 895824abe608705d46f99cdcd1c06a85
BLAKE2b-256 12b1c218d4f9853514349701a838db227fa964dc48868c4dfc4d7a127ca8287f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page