Skip to main content

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)

Source distribution for rproxy 18.6.0
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)

Table of built distributions (wheels) for rproxy 18.6.0
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page