#!/bin/bash
export LC_ALL=C
DOMAIN=mainnet.assaxaq.online
CONF=/usr/local/etc/xray-cf/config.json
UUID=37327cef-4f73-49d7-bff9-4778fa382b7f
WSPATH=/6b948f62c0a3d5e5
cp $CONF $CONF.bak
cat > $CONF <<EOF
{
"log": { "loglevel": "info", "access": "/var/log/xray-cf-access.log", "error": "/var/log/xray-cf-error.log" },
"inbounds": [
{
"tag": "cf-ws-443", "listen": "0.0.0.0", "port": 443, "protocol": "vless",
"settings": { "clients": [ { "id": "$UUID" } ], "decryption": "none" },
"streamSettings": {
"network": "ws", "security": "tls",
"tlsSettings": { "alpn": ["http/1.1"], "certificates": [ { "certificateFile": "/etc/letsencrypt/live/$DOMAIN/fullchain.pem", "keyFile": "/etc/letsencrypt/live/$DOMAIN/privkey.pem" } ] },
"wsSettings": { "path": "$WSPATH" }
},
"sniffing": { "enabled": true, "destOverride": ["http", "tls"] }
},
{
"tag": "cf-ws-8443", "listen": "0.0.0.0", "port": 8443, "protocol": "vless",
"settings": { "clients": [ { "id": "$UUID" } ], "decryption": "none" },
"streamSettings": {
"network": "ws", "security": "tls",
"tlsSettings": { "alpn": ["http/1.1"], "certificates": [ { "certificateFile": "/etc/letsencrypt/live/$DOMAIN/fullchain.pem", "keyFile": "/etc/letsencrypt/live/$DOMAIN/privkey.pem" } ] },
"wsSettings": { "path": "$WSPATH" }
},
"sniffing": { "enabled": true, "destOverride": ["http", "tls"] }
}
],
"outbounds": [ { "tag": "direct", "protocol": "freedom" } ]
}
EOF
/usr/local/bin/xray run -test -config $CONF || { cp $CONF.bak $CONF; echo "BAD CONFIG, restored"; exit 1; }
systemctl restart xray-cf
sleep 2
systemctl is-active xray-cf
ss -tlnp | grep -E ':(443|8443) '
echo "--- access:"; tail -20 /var/log/xray-cf-access.log 2>&1