Zoraxy
A general purpose HTTP reverse proxy and forwarding tool. Now written in Go!
Features
Simple to use interface with detail in-system instructions
Reverse Proxy (HTTP/2)
- Virtual Directory
- WebSocket Proxy (automatic, no set-up needed)
- Basic Auth
- Alias Hostnames
- Custom Headers
- Load Balancing
Redirection Rules
TLS / SSL setup and deploy
- ACME features like auto-renew to serve your sites in https
- SNI support (and SAN certs)
- DNS Challenge for Let's Encrypt and these DNS providers
Blacklist / Whitelist by country or IP address (single IP, CIDR or wildcard for beginners)
Stream Proxy (TCP & UDP)
Integrated Up-time Monitor
Web-SSH Terminal
Plugin System
Utilities
- CIDR IP converters
- mDNS Scanner
- Wake-On-Lan
- Debug Forward Proxy
- IP Scanner
- Port Scanner
Community Contributed Features
- Forward-Auth Support (e.g. Authelia, Authentik)
- Oauth2 Support
- reCAPTCHA
Others
- Basic single-admin management mode
- External permission management system for easy system integration
- SMTP config for password reset
- Dark Theme Mode
Downloads
Windows
/ Linux (amd64)
/ Linux (arm64)
For other systems or architectures, please see Releases
Getting Started
Installing Zoraxy Reverse Proxy: Your Gateway to Efficient Web Routing
Thank you for the well written and easy to follow tutorial by Reddit user itsvmn!
If you have no background in setting up reverse proxy or web routing, you should check this out before you start setting up your Zoraxy.
Switching from Nginx / NPM?
Check out our new (experimental) nginx to Zoraxy config converter!
Build from Source
Requires Go 1.23 or higher
git clone https://github.com/tobychui/zoraxy
cd ./zoraxy/src/
go mod tidy
go build
sudo ./zoraxy -port=:8000Usage
Zoraxy provides basic authentication system for standalone mode. To use it in standalone mode, follow the instructions below for your desired deployment platform.
Standalone Mode
Standalone mode is the default mode for Zoraxy. This allows a single account to manage your reverse proxy server just like a basic home router. This mode is suitable for new owners to homelabs or makers starting growing their web services into multiple servers. A full "Getting Started" guide can be found here.
Linux
sudo ./zoraxy -port=:8000Windows
Download the binary executable and double click the binary file to start it.
Raspberry Pi
The installation method is same as Linux. If you are using a Raspberry Pi 4 or newer models, pick the arm64 release. For older version of Pis, use the arm (armv6) version instead.
Other ARM SBCs or Android phone with Termux
The installation method is same as Linux. For other ARM SBCs, please refer to your SBC's CPU architecture and pick the one that is suitable for your device.
Docker
See the /docker folder for more details.
Start Parameters
/* Detailed source-code truncated for AI context efficiency. */External Permission Management Mode
If you already have an upstream reverse proxy server in place with permission management, you can use Zoraxy in noauth mode. To enable noauth mode, start Zoraxy with the following flag:
./zoraxy -noauth=true[!WARNING]
For security reasons, you should only enable no-auth if you are running Zoraxy in a trusted environment or with another authentication management proxy in front.*
Screenshots
More screenshots on the wikipage Screenshots!
FAQ
There is a wikipage with Frequently-Asked-Questions!
Global Area Network Controller
Moved to official plugin repo, see ztnc plugin
Web SSH
Web SSH currently only supports Linux based OSes. The following platforms are supported:
- linux/amd64
- linux/arm64
- linux/armv6 (experimental)
- linux/386 (experimental)
Loopback Connection
Loopback web SSH connections, by default, are disabled. This means that if you are trying to connect to an address like 127.0.0.1 or localhost, the system will reject your connection for security reasons. To enable loopback for testing or development purpose, use the following flags to override the loopback checking:
./zoraxy -sshlb=trueCommunity Maintained Sections
Some section of Zoraxy are contributed by our amazing community and if you have any issues regarding those sections, it would be more efficient if you can tag them directly when creating an issue report.
Forward Auth @james-d-elliott
(Legacy) Authelia Support added by @7brend7
(Legacy) Authentik Support added by @JokerQyou
Oauth2 @kjagosz
ACME
ACME integration (Looking for maintainer)
DNS Challenge by @zen8841
Docker Container List by @eyerrock
Change Log @Morethanevil
Looking for Maintainer
ACME integration (Auto-renew & Zoraxy integration)
Zoraxy Auth (Build-in basic SSO feature)
Logging (including analysis & attack prevention) Module
Thank you so much for your contributions!
Notes on Security Advisories
Due to recent automated / AI generated advisories, we will no longer accept security advisories directly open on Github.
If you spot a secuity issue and want to create a security advisories, please contact us via Discord and provide your Github username. Then we will assign you an advisory number for filling in your advisory title. For advisories that do not have a advisory number, we will close it immediately.
Updates 2026-06-26
Due to recent floods of AI generated security advisory, Private vulnerability reporting feature of this repo is temporary closed. If you have a critical issue to report, you can reach our maintainer on Discord.
Sponsor This Project
If you like the project and want to support us, please consider a donation. You can use the links below
License
This project is open-sourced under AGPL. I open-sourced this project so everyone can check for security issues and benefit all users. This software is intended to be free of charge. If you have acquired this software from a third-party seller, the authors of this repository bears no responsibility for any technical difficulties assistance or support.