Codync
A free, open-source 1:1 alternative to Grok Bot and Muse. Message Claude Code, Codex, Cursor and 40+ coding agents as persistent bots from your iPhone, Mac or Linux desktop. Group chats, threads, appr
A lightweight L7 reverse proxy daemon in Rust -- native ACME (dns-01, pluggable DNS providers), dynamic nftables firewall orchestration, and a web admin UI. Built as an open,...
Developer toolsGitHub @4jppsOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
RustProxy: self-hosted reverse proxy with built-in Let's Encrypt, a default-deny nftables firewall, per-site access control and a web admin UI. An open alternative to Nginx Proxy Manager. Read-only mirror of GitLab.
Taken from the repository README
Loading the full README.
Read the full README ↗A self-hosted reverse proxy with built-in ACME, a default-deny firewall, and per-host access control.
Primary home: https://gitlab.jpps.us/jpps/rust-proxy (issues, merge requests and releases live there). The GitHub copy at https://github.com/4jpps/rust-proxy is a read-only mirror, updated automatically from GitLab.
rust-proxy is a single Rust daemon that terminates TLS, gets and renews
its own certificates, routes traffic to your internal services, and
manages the host's nftables firewall to match. It has a small embedded
web UI and a REST API, and it installs from a signed .deb.
AS13238), per host or global, enforced in the web layer and the firewall. See Access control.deny_fallback: send blocked visitors to a public page, or lock a host to a path allow-list (for example only /guest/). See deny_fallback.The first person to open a new instance becomes its admin. A fresh install has no accounts. Browsing to
http://<host-ip>:8084/shows a setup page, and whoever completes it first owns the instance. The admin port is open to any source until then, so open it yourself right after installing, and in the setup page choose which addresses may reach the admin UI (or reach the port through an SSH tunnel instead).
sudo mkdir -p /etc/apt/keyrings
sudo curl -fsSL https://repo.jpps.us/repo-signing-key.asc -o /etc/apt/keyrings/jpps-repo.asc
echo 'deb [signed-by=/etc/apt/keyrings/jpps-repo.asc] https://repo.jpps.us/stable /' | sudo tee /etc/apt/sources.list.d/jpps.list
sudo apt update
sudo apt install rust-proxy
Then open http://<host-ip>:8084/. A new instance takes you straight to the
setup page (there is no default password); the first person there becomes the
admin. The
full walkthrough, from install to your first HTTPS host, is in
Getting started.
rust-proxy runs as a systemd service and manages the host's nftables rules. It is not distributed as a Docker image and Docker support is not planned.
A UniFi Hosted Controller exposes its guest portal on port 8444. Nothing else on that port should ever be reachable from the internet. One host setting does it:
{
"domain": "guest.unifi.example.com",
"bind_ip_v4": "0.0.0.0",
"bind_port": 8444,
"upstream": "10.0.0.20:8444",
"upstream_https": true,
"deny_fallback": { "scope": "everyone", "allow_paths": ["/guest/"] }
}
Every request outside /guest/ gets a plain 404 and never reaches the
upstream. More on this, including redirecting blocked visitors to a
public page, in deny_fallback and the
cookbook.
rust-proxy aims at the same job: a web UI in front of a reverse proxy with automatic certificates. The differences, stated plainly:
.deb and run by systemd. No Docker, no separate nginx, no MariaDB.If you are moving over, see Migrating from Nginx Proxy Manager.
| Page | What it covers |
|---|---|
| Getting started | Install, first-run wizard, DNS credential, first host, verifying it works |
| Configuration | config.toml, every host field, ACME, DNS providers, redirect/static hosts |
| Access control | IP allow, IP/ASN block, login and client-cert ACLs, and how they combine |
| deny_fallback | Blocked-visitor redirects, path locks and allow-lists |
| Firewall | What the nftables ruleset does, always-open ports, port rules |
| Hosting | Public IP pools and 1:1 forwards to customer VMs |
| Users and roles | Admin, operator and viewer roles, adding users, token roles |
| API | Authentication, tokens and the endpoint reference |
| Logging and SIEM | Log files, syslog forwarding, Wazuh rules |
| Cookbook | Worked recipes |
| Troubleshooting |
rust-proxy fronts all of JPPS's public *.jpps.us sites, handling TLS
termination, SNI dispatch, Let's Encrypt issuance over DNS-01 and
dynamic firewalling, so it is used in production every day. It is
maintained by one person and is still pre-1.0: configuration and API
details can change between releases. Read CHANGELOG.md
before upgrading.
rust-proxy is dual-licensed by Jeff Parrish PC Services LLC. Pick whichever fits:
Running unmodified rust-proxy, or modified rust-proxy for yourself, needs nothing but the AGPL. Releases up to 0.1.3 were published under MIT and stay MIT.
Code contributions are welcome under a short contributor agreement that lets the project stay dual-licensed; see CONTRIBUTING.md. You can also support the project with Buy Me a Coffee.
| Common problems and how to check them |
| Architecture | Module layout, for contributors |
| Deployment | systemd unit, capabilities, manual install, building from source |