2026-11-08 11:16:41 +01:00
2026-11-08 11:16:41 +01:00
2026-10-27 13:22:43 +01:00
2026-11-08 11:16:41 +01:00
2026-11-08 11:16:41 +01:00
2026-11-07 14:16:25 +01:00
2026-10-11 22:12:27 +02:00
2026-11-08 09:55:44 +01:00
2026-11-08 11:16:41 +01:00
2026-11-08 11:16:41 +01:00
2026-10-23 11:15:35 +02:00
2026-10-03 00:27:09 +01:00
2026-10-03 00:27:09 +01:00
2026-11-06 23:40:49 +01:00
2026-11-08 11:16:41 +01:00
2026-11-07 15:26:22 +01:00
2026-11-08 11:16:41 +01:00
2026-11-08 11:16:41 +01:00
2026-11-08 11:16:41 +01:00
2026-10-14 21:36:19 +02:00
2026-10-10 23:41:54 +02:00
2026-10-11 22:12:27 +02:00
2026-10-21 16:04:54 +02:00
2026-11-06 23:16:36 +01:00
2026-10-03 00:27:09 +01:00
2026-11-08 11:16:41 +01:00
2026-10-03 00:27:09 +01:00
2026-10-11 22:12:27 +02:00

RustProxy

RustProxy is a reverse proxy, web server, certificate manager and traffic monitor in a single service, managed from a built-in browser panel. It publishes many domains and backends without a separate configuration language: every setting is validated before it is applied and can be changed live from the panel or the API.

RustProxy Overview dashboard

Highlights

Area Capabilities
Reverse proxy HTTP/HTTPS backends, HTTP/1.1, HTTP/2 and H2C upstreams, load balancing, health checks, connection reuse, WebSockets, custom locations, retries and error fallbacks
Frontends HTTP, HTTPS, HTTP/2, HTTP/3 (QUIC), named listeners, exact and wildcard domains, redirects, optional post-quantum TLS key exchange
Web Server Static sites and downloads, try_files, rewrites, .htaccess subset, byte ranges, precompressed files, PHP-FPM
Certificates PEM import, ACME HTTP-01 and DNS-01 (Cloudflare, OVH, RFC 2136), automatic renewal, external Certbot files, hot reload
Access IP/CIDR, DNS/DDNS and country rules, ACL profiles, rate limits, method and Content-Type policies, Basic Auth, Tinyauth, Authelia, authentik, OIDC
Delivery Shared memory and disk cache, Cache-Status, purge/ban, gzip/Brotli/Zstandard compression, asset minification
Monitoring Live dashboard, per-Vhost statistics, live and stored logs, Prometheus exporter, JSON metrics, Grafana and Nagios
Operations Configuration history and restore, encrypted backups, Docker discovery, Nginx Proxy Manager import, REST API with OpenAPI

The complete list is in Feature list; a visual tour is in Screenshots.

Installation

Platform Method
Debian, Ubuntu, RHEL, Rocky, Alma, Fedora DEB/RPM packages from rustproxy.linuxiarz.pl
OPNsense Plugin from rustproxy-opn.linuxiarz.pl
Debian 13+ from source install-debian13.sh bootstrap script
Any Linux with systemd cargo build --release, then install.sh
Docker / OCI Included Dockerfile

Quick start from source on Debian 13+:

wget -qO- https://git.linuxiarz.pl/gru/RustProxy/raw/branch/master/install-debian13.sh | bash
sudo -u rustproxy /opt/rustproxy/current/rust-proxy --data-dir /var/lib/rustproxy admin setup-token
ssh -L 9090:127.0.0.1:9090 operator@server   # then open http://127.0.0.1:9090

Default managed installation: HTTP on :80, HTTPS on :443 with a self-signed certificate, administration on http://127.0.0.1:9090, data in /var/lib/rustproxy. There is no default administrator password; the first account is created with a one-time setup token. Details: Installation and updates.

First steps

  1. Create the administrator and sign in.
  2. Review Settings → Listeners and assign a trusted certificate (Certificates).
  3. Add a Vhost with your domain and a backend URL, or a Web Service for static files.
  4. Check health, access rules and routing on Overview and Logs.
  5. Enable cache, compression, authentication or monitoring when needed.

Performance

RustProxy streams requests and responses asynchronously on Tokio and Hyper. On one CPU core it serves roughly 15,000 proxied and 26,000 static requests per second with full statistics and logging enabled, and it is faster than a comparably configured Nginx for large proxied responses. Benchmark method, the full comparison and tuning advice are in Performance.

Building

./dev.sh check     # cargo check for all targets
./dev.sh test      # complete test suite
./dev.sh release   # optimized binary in target/release/rust-proxy

Rust stable (see rust-version in Cargo.toml), a C compiler and Python 3.10+ are required. The build embeds the panel, the documentation and Swagger UI, so the binary has no runtime web dependencies.

Optional memory allocator: cargo build --release --features mimalloc handles heavy HOT cache turnover faster but uses about 25% more memory; see Performance.

License

Copyright © 2026 Mateusz Gruszczyński.

RustProxy is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. It is distributed in the hope that it will be useful, but without any warranty. If you run a modified version as a network service, you must offer its users the corresponding source code. See LICENSE for the full text.

S
Description
No description provided
Readme AGPL-3.0
109 MiB
0 Stars 1 Watchers 0 Forks
Languages
Rust 59.5%
JavaScript 19.1%
HTML 9.4%
CSS 5.4%
Python 4.7%
Other 1.9%