Uchain is a lightweight and easy-to-use proxy server designed to bypass network restrictions, censorship, and surveillance effectively.
Key Features
- 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.
How It Works
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 Architecture
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 |
+-----------------+
Usage
1. Build from Source
To build from source, follow these steps:
- Clone the repository and navigate to the
cmd/node
directory:
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
2. Deploying on Your Own Ubuntu Server Using GitHub Actions
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
production
in 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.toml
file, replace all"
with'
, and paste it here.
-
learn more in .github/workflows/deploy.sh
3. Running the Application
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.
4. (Optional) create your own admin app for Auth and Data-traffic
create an RESTful API for chain proxy server push :
Register API example code
Build your own VPN business
Using the cloudflare page UnchainAdmin start your own VPN business.
Top comments (0)