Files
shell/tmp/vmess.sh
2024-08-19 04:33:09 +08:00

97 lines
2.6 KiB
Bash

#!/bin/bash
# 定义变量
SERVER_IP="192.168.12.23" # 目标服务器的IP地址
SERVER_PASSWORD="password" # 目标服务器的登录密码
NODE_NAME="美国独享" # 用于标识节点的名称
TARGET_DIR="/home/xray.txt"
green='\e[32m'
none='\e[0m'
config_file="/usr/local/etc/xray/config.json"
# 检查并安装依赖项
install_dependencies() {
if ! type jq &>/dev/null; then
echo -e "${green}正在安装 jq...${none}"
apt-get update && apt-get install -yq jq
fi
if ! type uuidgen &>/dev/null; then
echo -e "${green}正在安装 uuid-runtime...${none}"
apt-get install -yq uuid-runtime
fi
if ! type sshpass &>/dev/null; then
echo -e "${green}正在安装 sshpass...${none}"
apt-get install -yq sshpass
fi
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
}
# 生成配置和传输逻辑
configure_and_transfer() {
PORT=$(shuf -i 10000-65535 -n 1)
UUID=$(uuidgen)
RANDOM_PATH=$(cat /dev/urandom | tr -dc 'a-z' | head -c 6)
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
local ip=$(curl -s http://ipinfo.io/ip)
local config="vmess://$(echo -n "{\"v\":\"2\",\"ps\":\"$NODE_NAME\",\"add\":\"$ip\",\"port\":$PORT,\"id\":\"$UUID\",\"aid\":\"0\",\"net\":\"ws\",\"path\":\"/$RANDOM_PATH\",\"type\":\"none\",\"host\":\"\",\"tls\":\"\"}" | base64 -w 0)"
echo -e "${green}Vmess-ws节点链接:${none}"
echo $config
echo $config > /tmp/xray_config.txt
sshpass -p "$SERVER_PASSWORD" ssh -o StrictHostKeyChecking=no root@$SERVER_IP "cat >> $TARGET_DIR" < /tmp/xray_config.txt
}
# 主执行逻辑
install_dependencies
configure_and_transfer
systemctl restart xray
systemctl enable xray
echo -e "${green}Xray 服务已启动。${none}"