Unchain is a lightweight and easy-to-use proxy server designed to bypass network restrictions, censorship, and surveillance effectively.
- Protocol Support: Seamlessly handles TCP and UDP (VLESS) packets over WebSocket with TLS/Cloudflare support.
- Build Your Own VPN Business: Provides a robust platform for starting your own VPN services.
- Compatibility: Fully compatible with popular proxy clients like v2rayN or any application supporting the VLESS + WebSocket protocol.
Unchain operates as a proxy/VPN server, compatible with popular proxy clients such as v2rayN or any application that supports the VLESS+WebSocket protocol. It accepts traffic from various client applications, including:
Unchain processes incoming traffic and securely forwards it to the destination server, ensuring both security and efficiency in communication.
Unchain is a dead simple VLESS over websocket proxy server. The core biz logic is only 200 lines of code. app_ws_vless.go.
Unchain server uses a simple architecture that is VLESS over WebSocket (WS) + TLS.
V2rayN,V2rayA,Clash or ShadowRocket
+------------------+
| VLESS Client |
| +-----------+ |
| | TLS Layer | |
| +-----------+ |
| | WebSocket | |
| +-----------+ |
+--------|---------+
|
| Encrypted VLESS Traffic (wss://)
|
+--------------------------------------+
| Internet (TLS Secured) |
+--------------------------------------+
|
|
+-----------------------------------+
| Reverse Proxy Server |
| (e.g., Nginx or Cloudflare) |
| |
| +---------------------------+ |
| | HTTPS/TLS Termination | |
| +---------------------------+ |
| | WebSocket Proxy (wss://) | |
| +---------------------------+ |
| Forward to VLESS Server |
+------------------|----------------+
|
+--------------------------------+
| Unchain Server |
| |
| +------------------------+ |
| | WebSocket Handler | |
| +------------------------+ |
| | VLESS Core Processing | |
| +------------------------+ |
| |
| Forward Traffic to Target |
+------------------|-------------+
|
+-----------------+
| Target Server |
| or Destination |
+-----------------+
To build from source, follow these steps:
- Clone the repository and navigate to the
cmd/nodedirectory:cd cmd/node - Copy the example configuration file and customize it:
cp config.example.standalone.toml config.toml
- Run the application:
go run main.go
You can deploy the application on an Ubuntu server using GitHub Actions. Here's how:
-
Fork the repository to your GitHub account.
-
Create an Environment named
productionin your repository settings. -
Add the following SSH connection details to the Environment Secrets:
EC2_HOST: The SSH host with port (e.g.,1.1.1.1:20).EC2_USER: The SSH user (e.g.,ubuntu).EC2_KEY: Your SSH private key.
-
Add your TOML configuration file content to the Environment Variables:
CONFIG_TOML: Copy the content of yourconfig.tomlfile, replace all"with', and paste it here.
learn more in .github/workflows/deploy.sh
Once the application is running, you will see a VLESS connection schema URL in the standard output. Copy and paste this URL into your V2rayN client.
Congratulations! You now have your self-hosted proxy server up and running.
create an RESTful API for chain proxy server push : Register API example code
Using the cloudflare page UnchainAdmin start your own VPN business.