Preview
RProx is a beta GUI-based reverse proxy designed to integrate seamlessly with Cloudflare. Create proxy routes and manage certificates using an intuitive interface. Run RProx via the command line on Windows, Mac, or Linux using Java. Native one-click installers are planned for future releases.
RProx includes an optional DNS server module that can be enabled or disabled through the configuration settings, allowing flexible DNS management for your proxy setup.
RProx Headless is available for systems without a display, requiring configuration via JSON files edited with SCP or Vim. Simplified headless deployment is in development.
Download
By downloading the files attached to these links you are agreeing to the Anvil Development Software License Agreement
View License
Note: RProx is in beta. Both versions require Java 17 or later. Native executables (.exe, .dmg, .deb) are coming soon.
Support
Join our Discord community for support, feedback, and updates on RProx development.
Setup Instructions
-
Install Java
- Ensure Java 17 or later is installed. Download from Oracle or Adoptium.
- Verify installation by running
java -version
in a terminal (Command Prompt on Windows, Terminal on Mac/Linux).
- RProx includes JavaFX dependencies, so no separate JavaFX installation is needed.
-
Verify Port Availability (Linux)
- RProx uses default ports 443 (HTTPS) and 53 (DNS, if enabled). On some Linux systems, such as Ubuntu Server, port 53 may already be in use by another service (e.g., systemd-resolved), causing RProx to crash on startup.
- Check if ports 443 and 53 are in use by running:
sudo lsof -i :443
sudo lsof -i :53
- If these ports are in use, stop the conflicting service (e.g.,
sudo systemctl stop systemd-resolved
for port 53) or configure RProx to use alternative ports via the configuration settings.
-
Download and Run RProx
- Download
RProx-1.0-SNAPSHOT.jar
from the link above.
- Open a terminal in the download directory (e.g.,
cd Downloads
).
- Run the JAR with:
- Windows:
java -jar RProx-1.0-SNAPSHOT.jar
- Mac/Linux:
java -jar RProx-1.0-SNAPSHOT.jar
- The RProx GUI will launch, displaying a configuration panel and log view.
-
Configure DNS Server (Optional)
- In the RProx GUI, navigate to the Configuration panel.
- Locate the DNS Server module settings.
- Enable or disable the DNS server as needed. When enabled, configure DNS settings such as domain name resolution and forwarding options.
- Save the configuration to apply changes.
-
Obtain and Prepare Cloudflare Origin CA Certificate
- Log in to the Cloudflare dashboard and select your account and domain.
- Navigate to SSL/TLS > Origin Server.
- Click Create Certificate.
- Select RSA as the key type for the private key and CSR.
- List specific hostnames (e.g.,
www.example.com
, api.example.com
) to protect with SSL. Wildcard subdomains (e.g., *.example.com
) are supported but will require custom routes in configuration for each host (www, API, nexus).
- Select a validity period (up to 15 years) and click Create.
- Copy the Origin Certificate (PEM format) into a file (e.g.,
origin-cert.pem
).
- Copy the Private Key into a separate file (e.g.,
private-key.pem
). Save securely, as the private key cannot be retrieved later.
- Download the Cloudflare Root CA certificate from Cloudflare’s documentation.
- Open
origin-cert.pem
in a text editor (e.g., Notepad, Atom, VS Code).
- Append the Cloudflare Root CA certificate content below the Origin CA certificate in
origin-cert.pem
, ensuring no extra spaces or lines between certificates. Save the file.
-
Import Certificates into RProx
- Open RProx GUI via the CLI as described above.
- In the Configuration panel, locate the Certificate Mappings table.
- Click Add Cert Mapping to open the certificate input form.
- Enter the Domain (e.g.,
www.example.com
), Cert Path (path to the modified origin-cert.pem
with Root CA appended), and Key Path (path to private-key.pem
).
- Click Save Config to apply the certificate mappings.
- Verify the certificates are trusted in the logs pane on the right side of the GUI.
-
Create Proxy Routes
- In the Configuration panel, locate the Proxy Routes table.
- Click Add Proxy Route to open the route input form.
- Enter the Host (e.g.,
www.example.com
) and Target (e.g., 127.0.0.1:5656
).
- Click Save Config to apply the route. The route will appear in the table.
- Ensure the certificate for the host’s domain is imported to avoid SSL errors.
-
Verify Setup
- Access your domain (e.g.,
https://www.example.com
) in a browser.
- Ensure no SSL warnings appear, indicating the Cloudflare certificate is working.
- Check the Logs pane in the RProx GUI for confirmation of successful proxying.
- Test multiple routes to confirm seamless operation.
- As RProx is in beta, report any issues via our Discord community.
Notes
RProx is in beta. Expect occasional bugs and provide feedback to help us improve. Response times may be slower due to debugging information being collected. This will be optimized in future releases.
Ensure your domain is proxied through Cloudflare (orange cloud icon in DNS settings). Certificates are only trusted when traffic routes through Cloudflare. Disabling the proxy may cause SSL warnings.
For RProx Headless, download RProx-Headless-1.0-SNAPSHOT.jar
and use SCP or Vim to edit JSON configuration files. Familiarity with JSON is required. Run with java -jar RProx-Headless-1.0-SNAPSHOT.jar
. Simplified deployment tools are in progress.