A super simple HTTP/1.1 proxy, with TLS and Let’s Encrypt support.
rproxy takes care of your Let’s Encrypt certificates, automatically renewing them. This is done by the excellent txacme library.
Install from PyPI:
$ pip install rproxy
Make a directory to store your certificates:
$ mkdir my-certs
Make a rproxy.ini:
[rproxy]
certificates=my-certs
http_ports=80
https_ports=443
[hosts]
mysite.com_port=8080
Then run it:
sudo twistd -u nobody -g nobody -n rproxy
This will start the server, drop permissions (setting the effective uid/guid to nobody), and will proxy incoming requests to mysite.com to localhost:8080. You can configure it further:
[rproxy]
certificates=my-certs
http_ports=80,8080
https_ports=443
clacks=true
[hosts]
mysite.com_port=8080
mysite.com_host=otherserver
mysite.com_onlysecure=True
mysite.com_proxysecure=True
myothersite.net_port=8081
This config will:
connect to https://otherserver:8080 as the proxied server for mysite.com, and only allow HTTPS connections to the proxy for this site
connect to http://localhost:8081 as the proxied server for myothersite.net, and allow HTTP or HTTPS connections.
General Config
http_ports – comma-separated list of numerical ports to listen on for HTTP connections.
https_ports – comma-separated list of numerical ports to listen on for HTTPS connections.
certificates – directory where certificates are kept.
clacks – Enable X-Clacks-Overhead for requests.
Hosts Config
<host>_onlysecure – enforce HTTPS connections. If not set, or set to False, it will allow HTTP and HTTPS connections.
<host>_proxysecure – connect to the proxied server by HTTPS. If not set, or set to False, it will connect over HTTP.
<host>_port – The port of the proxied server that this proxy should connect to.
<host>_host – the hostname/IP of the server to proxy to.
<host>_sendhsts – send HSTS headers on HTTPS connections.
<host>_wwwtoo – match www too.
Metadata
Release files for rproxy 18.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| rproxy-18.6.0.tar.gz | 5.8 kB | Without provenance | Details for rproxy-18.6.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| rproxy-18.6.0-py2-none-any.whl | Python 2 | none | any | Details for rproxy-18.6.0-py2-none-any.whl |
Total release size: 13.6 kB
Release files / rproxy-18.6.0.tar.gz
| Download URL | rproxy-18.6.0.tar.gz |
|---|---|
| Size | 5.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
78bd6abde54bf4bbc3bb5ad4b76603598ddc2b84791647ef9f5f995b0810187c
|
|
BLAKE2b-256 checksum How to use checksums |
92147a2f559c99e3c6b8fd79128a6406c823a285dbe102c2a39deeca88a872a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / rproxy-18.6.0-py2-none-any.whl
| Download URL | rproxy-18.6.0-py2-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 2 |
|
SHA-256 checksum How to use checksums |
793e024214d77d0206a1ec2220941b417e717e7d8acdfd207379ee9b0acd6dee
|
|
BLAKE2b-256 checksum How to use checksums |
7ce870cdda3ca92a4c7d1f77a6f77c1efc65144afcce21eecc464f7cd9b63b80
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for rproxy 18.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.