RustProxy 0.34.1
RustProxy combines a reverse proxy, static/PHP web server, certificate management and traffic monitoring in one service with a browser administration panel. It supports several domains and backends without requiring a separate proxy configuration language.
Main capabilities
| Area | Available features |
|---|---|
| Reverse proxy | HTTP/HTTPS origins, HTTP/1.1 and HTTP/2 upstream modes, health checks, load balancing, connection reuse, WebSockets, path-based routing, retries and error fallbacks |
| Frontends | HTTP, HTTPS, HTTP/2, optional HTTP/3 (QUIC), named listeners, domain and wildcard routing, redirects, TLS certificates |
| Web Server | Static content, downloads, directory/index policy, rewrite and try_files, selected .htaccess rules, optional PHP-FPM, application presets |
| Access | IP/CIDR and DNS/DDNS rules, country restrictions, reusable ACLs, rate limits, method rules, Basic Auth, Tinyauth, security headers |
| Delivery | Optional shared HOT/RAM and COLD/disk cache, cache invalidation, compression, response transformations, static-file optimizations |
| Integrations | Docker discovery via separate agents, TCP/UDP Streams, ACME certificate providers, Prometheus, Grafana/Nagios examples and administration API |
| Operations | Dashboard presets, traffic analytics, live/stored logs, configuration history, encrypted backups and certificate reloads |
Features and default settings vary by component; configure only the capabilities you need. The documentation index covers each workflow, including prerequisites, security boundaries, troubleshooting and API access.
0.34.1
- An explicit
--config /absolute/path/config.json(orRUST_PROXY_CONFIG) makes an existing JSON document the active configuration source. Panel saves and configuration-history restores write back to that file, with SQLite retaining revision/audit data. Out-of-band file changes require an explicit reload; concurrent edits are rejected. rust-proxy reload/rust-proxy config reloadand the example systemdExecReloadperform configuration and certificate refresh without terminating the service; listener changes can still require a restart.- Panel-managed, one-time-displayed administration API Bearer tokens with
ro/rwpermissions and mandatory source-IP/CIDR restrictions. Browser login remains available; certificate-only tokens are separate. - Bulk assignment of Vhosts to a certificate; a single Save and lock control for unlocked Overview layout.
- Panel-managed Prometheus token issuance, rotation and revocation with one-time display. Existing environment-token configuration remains a compatibility fallback until a generated credential or revocation record replaces it.
Installation
Use the maintained packages where available:
- Linux DEB/RPM: https://rustproxy.linuxiarz.pl/
- OPNsense: https://rustproxy-opn.linuxiarz.pl/
For Debian 13+ source installation, manual compilation, managed updates or Docker, see Installation and updates.
Typical managed Linux defaults: HTTP on :80, HTTPS on :443, local administration at http://127.0.0.1:9090, private data in /var/lib/rustproxy. The initial public certificate is self-signed. There is no default administrator password. Initialize administration locally and assign trusted certificates before public use.
First configuration
- Install and start the service, then initialize the administrator using the local CLI.
- Open the panel and review Settings → Listeners, administration access and certificates.
- Create a Vhost with a domain name and a reachable HTTP backend or Web Service.
- Confirm frontend TLS, backend health, access permissions and routing.
- Enable additional cache, compression, Docker or monitoring functions as needed; inspect Overview, Logs and Cache for results.
Guides
- Installation · Settings · Vhosts · Web Server · PHP-FPM
- Certificates · Cache · Response delivery · Docker discovery · Monitoring
- Security · API · Troubleshooting
- Changelog · Roadmap
The authenticated /docs page includes the guides and a separate interactive OpenAPI/Swagger tab.