3.6 KiB
Raw Blame History

#/bin/bash
ip=`curl -s ipinfo.io/ip`
#更新软件源安装docker
apt update && apt install docker.io
#安装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
#创建代理文件夹并生成配置文件
mkdir /root/xray && cd /root/xray
cat > docker-compose.yml <<EOF
version: '3.9'
services:
  xray:
    container_name: xray
    image: teddysun/xray
    ports:
      - 50000:50000
    volumes:
      - ./config:/etc/xray/
    restart: always
EOF
cat > ./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": 50000,
            "protocol": "vless",
            "settings": {
                "clients": [
                    {
                        "id": "d45724ee-8d61-4845-dff3-aa24e68bd69b", // 执行 xray uuid 生成,或 1-30 字节的字符串
                        "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": [ // 客户端可用的 serverName 列表,暂不支持 * 通配符
                        "www.lovelive-anime.jp"
                    ],
                    "privateKey": "ECQgaNUw3Y6NgO0iSxtVlY-zp0cK6pYaFQ4MRaSgRkg", // 执行 xray x25519 生成,填 "Private key" 的值
                    "shortIds": [ // 客户端可用的 shortId 列表,可用于区分不同的客户端
                        "6ba85179e30d4fc2" // 0 到 f长度为 2 的倍数,长度上限为 16可留空或执行 openssl rand -hex 8 生成
                    ]
                }
            },
            "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://d45724ee-8d61-4845-dff3-aa24e68bd69b@$ip:50000?headerType=none&type=tcp&encryption=none&fp=chrome&pbk=aoXo-XpKezaDaZIzia6e8mCHYpIWkKCfLZrbrYj4SHw&sid=6ba85179e30d4fc2&spx=%2F&flow=xtls-rprx-vision&security=reality&sni=www.lovelive-anime.jp#los-2
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"