Install and configure personal anti-censorship service Xray
- Ubuntu Server (24.04+)
- Python 3.12+
- Internet connection
- Installing Xray
- Creating and changing XRAY server configuration (VLESS with Reality)
- Adding and removing XRAY server clients
Run simple command:
rm -rf /tmp/veepeenet \
&& mkdir /tmp/veepeenet \
&& (cd /tmp/veepeenet \
&& curl -LO https://github.com/spector517/veepeenet/releases/latest/download/veepeenet.tar.gz \
&& tar -xf veepeenet.tar.gz && (cd veepeenet-* && sudo ./install.sh)
)
Configure XRAY server on host my.domain.com:
sudo xrayctl config --host my.domain.com
Create client configurations: my_client1 and my_client2 and print share links
sudo xrayctl add-clients my_client1 my_client2
Start Xray service first time:
sudo xrayctl start
Remove client my_client2:
sudo xrayctl remove-clients my_client2
Remove current configuration and create new configuration. All client will be removed:
sudo xrayctl config --host my.domain.com --clean
Add new clients again:
sudo xrayctl add-clients new_client1
Restart Xray service to apply changes:
sudo xrayctl restart
Show rich help message:
sudo xrayctl --help
xrayctl config [OPTIONS]
| Option | Type | Description |
|---|---|---|
| --host | TEXT | Public interface of server. Using hostname -i if not specified. It is recommended to specify manually. |
| --port | INTEGER | Inbound port. [default: 443] |
| --reality-host | TEXT | Reality host. [default: microsoft.com] |
| --reality-port | INTEGER | Reality port. [default: 443] |
| --clean | FLAG | Override current configuration (All clients will be removed) [default: no-clean] |
xrayctl status [OPTIONS]
| Option | Type | Description |
|---|---|---|
| --json | FLAG | Show in JSON-format |
xrayctl status
----------- VeePeeNET v2.0.0 build 0 -----------
Xray server info:
version: v25.12.8
status: Stopped
address: example.com:443
reality_address: microsoft.com:443
clients:
Server has no clients
---------------------------------------------------
xrayctl status --json
{
"veepeenet_version": "v2.0.0",
"veepeenet_build": 0,
"xray_version": "v25.12.8",
"server_status": "Stopped",
"server_host": "example.com",
"server_port": 443,
"reality_address": "microsoft.com:443",
"clients": []
}
xrayctl add-clients CLIENT_NAMES...
If a client with the same name already exists, it will be ignored.
Clients with names that do not exist on the server will be ignored.
xrayctl remove-clients CLIENT_NAMES...
xrayctl start
xrayctl stop
xrayctl restart
Run simple command:
rm -rf /tmp/veepeenet \
&& mkdir /tmp/veepeenet \
&& (cd /tmp/veepeenet \
&& curl -LO https://github.com/spector517/veepeenet/releases/latest/download/veepeenet.tar.gz \
&& tar -xf veepeenet.tar.gz && (cd veepeenet-* && sudo ./uninstall.sh)
)
MIT