diff --git a/xray b/xray new file mode 100644 index 0000000..05fca86 --- /dev/null +++ b/xray @@ -0,0 +1,87 @@ +#!/bin/bash + +green='\e[32m' +none='\e[0m' +config_file="/usr/local/etc/xray/config.json" + +# 检查并安装 jq +if ! type jq &>/dev/null; then + echo -e "${green}正在安装 jq...${none}" + apt-get update && apt-get install -y jq +fi + +# 检查并安装 uuid-runtime +if ! type uuidgen &>/dev/null; then + echo -e "${green}正在安装 uuid-runtime...${none}" + apt-get install -y uuid-runtime +fi + +# 检查并安装 xray +if ! type xray &>/dev/null; then + echo -e "${green}正在安装 xray...${none}" + bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install +fi + +# 生成一个随机端口号(10000以上) +PORT=$(shuf -i 10000-65535 -n 1) + +# 生成一个随机 UUID +UUID=$(uuidgen) + +# 生成一个 11 位的随机英文字符串作为路径 +RANDOM_PATH=$(cat /dev/urandom | tr -dc 'a-zA-Z' | head -c 11) + +# 创建配置文件 +create_config() { + cat > "$config_file" << EOF +{ + "inbounds": [ + { + "port": $PORT, + "protocol": "vmess", + "settings": { + "clients": [ + { + "id": "$UUID" + } + ] + }, + "streamSettings": { + "network": "ws", + "wsSettings": { + "path": "/$RANDOM_PATH" + } + }, + "listen": "0.0.0.0" + } + ], + "outbounds": [ + { + "protocol": "freedom", + "settings": {} + } + ], + "routing": { + "rules": [ + { + "type": "field", + "inboundTag": ["inbound0"], + "outboundTag": "direct" + } + ] + } +} +EOF +} + +# 显示配置信息 +show_inbound_config() { + local ip=$(curl -s http://ipinfo.io/ip) + echo -e "${green}Vmess 节点配置信息:${none}" + echo "vmess://$(echo -n "{\"v\":\"2\",\"ps\":\"英国TK专用\",\"add\":\"$ip\",\"port\":$PORT,\"id\":\"$UUID\",\"aid\":\"0\",\"net\":\"ws\",\"path\":\"/$RANDOM_PATH\",\"type\":\"none\",\"host\":\"\",\"tls\":\"\"}" | base64 -w 0)" +} + +create_config +show_inbound_config +systemctl restart xray +echo -e "${green}Xray 服务已经重新启动。${none}"