149 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
该脚本仅用于Ubantu或者Debian
 | 
						||
```bash
 | 
						||
#/bin/bash
 | 
						||
echo "获取公网ip中..."
 | 
						||
ip=$(curl -s ipinfo.io/ip)
 | 
						||
echo "获取成功,公网地址为 $ip"
 | 
						||
echo "是否使用域名,是请在10秒内输入该服务器绑定域名,否则将使用公网ip"
 | 
						||
read -t 10 domain
 | 
						||
 | 
						||
if [ -z "$domain" ]; then
 | 
						||
  echo "未输入域名,将使用公网IP $ip"
 | 
						||
else
 | 
						||
  echo "使用域名 $domain"
 | 
						||
  ip="$domain"
 | 
						||
fi
 | 
						||
 | 
						||
echo "倒计时10秒,请在此期间输入端口号(不输入将使用默认端口50000)..."
 | 
						||
read -t 10 port
 | 
						||
if [ -z "$port" ]; then
 | 
						||
  port=50000
 | 
						||
fi
 | 
						||
echo "使用的端口号是: $port"
 | 
						||
#更新软件源,安装docker、二维码输出工具
 | 
						||
apt update && apt install docker.io qrencode
 | 
						||
#安装docker-compose
 | 
						||
curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
 | 
						||
chmod +x /usr/local/bin/docker-compose
 | 
						||
docker-compose --version
 | 
						||
docker-compose down
 | 
						||
#创建代理文件夹并生成配置文件
 | 
						||
mkdir /root/xray && cd /root/xray
 | 
						||
cat > docker-compose.yml <<EOF
 | 
						||
version: '3.9'
 | 
						||
services:
 | 
						||
  v2ray:
 | 
						||
    container_name: xray
 | 
						||
    image: teddysun/xray
 | 
						||
    ports:
 | 
						||
      - $port:$port
 | 
						||
    volumes:
 | 
						||
      - ./config:/etc/xray/
 | 
						||
    restart: always
 | 
						||
EOF
 | 
						||
#生成所需变量
 | 
						||
output=$(docker run --rm teddysun/xray /bin/sh -c "xray uuid && xray x25519")
 | 
						||
uuid=$(echo "$output" | awk 'NR==1 {print $1}')
 | 
						||
privateKey=$(echo "$output" | awk 'NR==2 {print $3}')
 | 
						||
publicKey=$(echo "$output" | awk 'NR==3 {print $3}')
 | 
						||
shortIDs=$(openssl rand -hex 8)
 | 
						||
#生成配置文件
 | 
						||
cat > /root/xray/config/config.json <<EOF
 | 
						||
{
 | 
						||
    "log": {
 | 
						||
        "loglevel": "warning"
 | 
						||
    },
 | 
						||
    "routing": {
 | 
						||
        "domainStrategy": "IPIfNonMatch",
 | 
						||
        "rules": [
 | 
						||
            {
 | 
						||
                "type": "field",
 | 
						||
                "ip": [
 | 
						||
                    "geoip:cn"
 | 
						||
                ],
 | 
						||
                "outboundTag": "block"
 | 
						||
            }
 | 
						||
        ]
 | 
						||
    },
 | 
						||
    "inbounds": [
 | 
						||
        {
 | 
						||
            "listen": "0.0.0.0",
 | 
						||
            "port": $port,
 | 
						||
            "protocol": "vless",
 | 
						||
            "settings": {
 | 
						||
                "clients": [
 | 
						||
                    {
 | 
						||
                        "id": "$uuid",
 | 
						||
                        "flow": "xtls-rprx-vision"
 | 
						||
                    }
 | 
						||
                ],
 | 
						||
                "decryption": "none"
 | 
						||
            },
 | 
						||
            "streamSettings": {
 | 
						||
                "network": "tcp",
 | 
						||
                "security": "reality",
 | 
						||
                "realitySettings": {
 | 
						||
                    "show": true, // 若为 true,输出调试信息
 | 
						||
                    "dest": "www.lovelive-anime.jp:443", // 目标网站最低标准:国外网站,支持 TLSv1.3、X25519 与 H2,域名非跳转用(主域名可能被用于跳转到 www)
 | 
						||
                    "xver": 0,
 | 
						||
                    "serverNames": [
 | 
						||
                        "www.lovelive-anime.jp"
 | 
						||
                    ],
 | 
						||
                    "privateKey": "$privateKey",
 | 
						||
                    "shortIds": [
 | 
						||
                        "$shortIDs"
 | 
						||
                    ]
 | 
						||
                }
 | 
						||
            },
 | 
						||
            "sniffing": {
 | 
						||
                "enabled": true,
 | 
						||
                "destOverride": [
 | 
						||
                    "http",
 | 
						||
                    "tls"
 | 
						||
                ]
 | 
						||
            }
 | 
						||
        }
 | 
						||
    ],
 | 
						||
    "outbounds": [
 | 
						||
        {
 | 
						||
            "protocol": "freedom",
 | 
						||
            "tag": "direct"
 | 
						||
        },
 | 
						||
        {
 | 
						||
            "protocol": "blackhole",
 | 
						||
            "tag": "block"
 | 
						||
        }
 | 
						||
    ],
 | 
						||
    "policy": {
 | 
						||
        "levels": {
 | 
						||
            "0": {
 | 
						||
                "handshake": 2,
 | 
						||
                "connIdle": 120
 | 
						||
            }
 | 
						||
        }
 | 
						||
    }
 | 
						||
}
 | 
						||
EOF
 | 
						||
#启动容器
 | 
						||
docker-compose up -d
 | 
						||
#输出导入链接
 | 
						||
echo "vless://$uuid@$ip:$port?headerType=none&type=tcp&encryption=none&fp=chrome&pbk=$publicKey&sid=$shortIDs&spx=%2F&flow=xtls-rprx-vision&security=reality&sni=www.lovelive-anime.jp#los-2"
 | 
						||
#输出二维码
 | 
						||
qrcode="vless://$uuid@$ip:$port?headerType=none&type=tcp&encryption=none&fp=chrome&pbk=$publicKey&sid=$shortIDs&spx=%2F&flow=xtls-rprx-vision&security=reality&sni=www.lovelive-anime.jp#los-2"
 | 
						||
qrencode -t ANSIUTF8 "$qrcode"
 | 
						||
#输出维护指令
 | 
						||
echo "维护时请进入docker-compose.yml所在目录执行以下命令"
 | 
						||
echo "重启命令: docker-compose restart"
 | 
						||
echo "停止命令: docker-compose down"
 | 
						||
echo "启动命令: docker-compose up -d"
 | 
						||
echo "查看日志命令: docker-compose logs -f"
 | 
						||
echo "查看容器命令: docker-compose ps"
 | 
						||
```
 | 
						||
 | 
						||
# 服务器url
 | 
						||
```bash
 | 
						||
vless://4d9c1538-2f99-4781-b1fa-8b1cfb67f441@150.109.145.182:50000?headerType=none&type=tcp&encryption=none&fp=chrome&pbk=68Qo5gmZARkxbVw1ArKnCSMw_t8PBGt76e8nnLUPikI&sid=53f9d10d625ba230&spx=%2F&flow=xtls-rprx-vision&security=reality&sni=www.lovelive-anime.jp#los-2
 | 
						||
```
 | 
						||
 | 
						||
 | 
						||
vless://bm9uZToyMzRhZmNhYy0xNjIwLTRjOWQtYWU1ZC01Mjg4NzkzZDQ3NTlAMTUwLjEwOS4xNDUuMTgyOjUwMDAw?remarks=los-2&obfs=none&tls=1&peer=www.lovelive-anime.jp&xtls=2&pbk=cjf52COyZtTPsCCicvnGWv6BRt9Izd19j7hSL93bwhs&sid=b43a312c479aaae2 |