Fast • 🪶 Lightweight • 0️⃣ Dependency • 🔌 Pluggable • 😈 TLS interception • 🔒 DNS-over-HTTPS • 🔥 Poor Man's VPN • Reverse & Forward • 👮🏿 "Proxy Server" framework • 🌐 "Web Server" framework • ➵ ➶ ➷ ➠ "PubSub" framework • 👷 "Work" acceptor & executor f
Go to file
Abhinav Singh d041995c06 Disable py 3.3 and 3.4 for now 2019-02-08 20:12:41 -08:00
.dockerignore Add Dockerfile and build rule 2018-12-22 07:08:04 -08:00
.gitignore Prepare for v0.3 release 2019-02-08 18:57:44 -08:00
.travis.yml Disable py 3.3 and 3.4 for now 2019-02-08 20:12:41 -08:00
Dockerfile Add Dockerfile and build rule 2018-12-22 07:08:04 -08:00
LICENSE PEP8 formatting 2018-10-17 14:01:19 +05:30
MANIFEST.in setup.py and argparse 2013-08-20 14:56:32 +05:30
Makefile Prepare for v0.3 release 2019-02-08 18:57:44 -08:00
README.md Avoid setting open file limits on Windows OS. 2018-12-14 18:44:56 +05:30
proxy.py Prepare for v0.3 release 2019-02-08 18:57:44 -08:00
requirements-dev.txt Add requirements-dev.txt, right fix for fixes #5. 2018-12-22 11:08:54 -08:00
setup.py Add placeholder test for issue#5, prepare for v0.3 2018-12-10 21:40:12 +05:30
tests.py Fixes #20 HttpParser bug content-length is missing 2018-12-22 12:43:17 -08:00

README.md

proxy.py

Lightweight HTTP, HTTPS and WebSockets Proxy Server in Python.

Features

  • Distributed as a single file module
  • No external dependency other than standard Python library
  • Support for http, https and websockets request proxy
  • Optimize for large file uploads and downloads
  • IPv4 and IPv6 support
  • Basic authentication support

Install

To install proxy.py, simply:

$ pip install proxy.py

Usage

$ proxy.py -h
usage: proxy.py [-h] [--hostname HOSTNAME] [--port PORT] [--backlog BACKLOG]
                [--basic-auth BASIC_AUTH]
                [--server-recvbuf-size SERVER_RECVBUF_SIZE]
                [--client-recvbuf-size CLIENT_RECVBUF_SIZE]
                [--log-level LOG_LEVEL]

proxy.py v0.3

optional arguments:
  -h, --help            show this help message and exit
  --hostname HOSTNAME   Default: 127.0.0.1
  --port PORT           Default: 8899
  --backlog BACKLOG     Default: 100. Maximum number of pending connections to
                        proxy server
  --basic-auth BASIC_AUTH
                        Default: No authentication. Specify colon separated
                        user:password to enable basic authentication.
  --server-recvbuf-size SERVER_RECVBUF_SIZE
                        Default: 8 KB. Maximum amount of data received from
                        the server in a single recv() operation. Bump this
                        value for faster downloads at the expense of increased
                        RAM.
  --client-recvbuf-size CLIENT_RECVBUF_SIZE
                        Default: 8 KB. Maximum amount of data received from
                        the client in a single recv() operation. Bump this
                        value for faster uploads at the expense of increased
                        RAM.
  --log-level LOG_LEVEL
                        DEBUG, INFO (default), WARNING, ERROR, CRITICAL

Having difficulty using proxy.py? Report at:
https://github.com/abhinavsingh/proxy.py/issues/new