Bash scripts for Xray vless + xhttp setups:
vless_xhttp_nginx.shdeploys Xray behind Nginx with TLS.vless_xhttp_reality.shdeploys Xray with Reality.vless_xhttp_uuid.shadds new client UUIDs and prints links and QR codes for existing ones.
Script behavior:
- Scripts are configured through environment variables.
-hor--helpprints supported overrides.- Installer scripts generate
UUIDautomatically if it is not provided. vless_xhttp_uuid.shauto-generates a UUID only foradd.
DOMAIN=example.com EMAIL=admin@example.com ./vless_xhttp_nginx.shOptional example with explicit UUID:
UUID=11111111-1111-1111-1111-111111111111 \
DOMAIN=example.com \
EMAIL=admin@example.com \
./vless_xhttp_nginx.shDOMAIN=example.com SNI=vk6-9.vkuser.net ./vless_xhttp_reality.shOptional example with explicit UUID:
UUID=11111111-1111-1111-1111-111111111111 \
DOMAIN=example.com \
SNI=vk6-9.vkuser.net \
./vless_xhttp_reality.shGenerate and add a new client UUID:
./vless_xhttp_uuid.sh addAdd a specific UUID:
./vless_xhttp_uuid.sh add 11111111-1111-1111-1111-111111111111Print the link and QR code for an existing UUID:
./vless_xhttp_uuid.sh show 11111111-1111-1111-1111-111111111111If the public hostname cannot be inferred from Nginx config, pass DOMAIN explicitly:
DOMAIN=example.com ./vless_xhttp_uuid.sh show 11111111-1111-1111-1111-111111111111All scripts use environment variables instead of CLI flags. Common overrides include:
UUID: client UUIDDOMAIN: public hostnameXHTTP_PATH: XHTTP pathXHTTP_MODE: XHTTP modeCLIENT_FINGERPRINT: fingerprint in the generatedvless://URLPROFILE_NAME: label prefix after#QR_TYPE:qrencodeoutput type
To see the full override list for each script:
./vless_xhttp_nginx.sh --help
./vless_xhttp_reality.sh --help
./vless_xhttp_uuid.sh --help- Run the scripts directly on the target server.
- They use standard Xray and Nginx paths unless overridden through environment variables.
vless_xhttp_uuid.shmodifies the live Xray config and restarts the configured Xray service onadd.