Server 2
Установите Docker и Docker Compose:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
docker --version # Проверка
Создайте рабочую директорию:
mkdir -p /root/server2
cd /root/server2
Убедитесь, что Docker установлен:
docker ps
Создайте директорию для sing-box:
mkdir -p /root/server2/sing-box
Создайте директорию для веб-сайта (лендинга):
mkdir -p /root/server2/web
Создайте простой лендинг ( /root/server2/web/index.html ):
cat > /root/server2/web/index.html << 'EOF'
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Service is running</h1>
</body>
</html>
EOF
Проверьте создание файла:
ls -la /root/server2/web/index.html
Настройка sing-box конфигурации
Сгенерируйте UUID (используйте одну из этих команд):
root@r1162167:~/server2# python3 -c "import uuid; print(uuid.uuid4())"
7e5c33d3-fffe-4d79-aab9-9e8f850ccfdb
root@r1162167:~/server2# python3 -c "import uuid; print(uuid.uuid4())"
60985cfb-8380-4295-a611-606ad0d29907
root@r1162167:~/server2# python3 -c "import uuid; print(uuid.uuid4())"
22f4cbed-4138-46b2-a0a9-6274c6070939
root@r1162167:~/server2# python3 -c "import uuid; print(uuid.uuid4())"
d552d401-c502-4c6b-8d94-bd01d673eefa
Запомните это значение как YOUR_CLIENT_UUID.
Сгенерируйте Short ID (16 случайных символов в hex):
openssl rand -hex 8
root@r1162167:~/server2# openssl rand -hex 8
828c01bac9b490ca
root@r1162167:~/server2# openssl rand -hex 8
8bbeee80ae3764f1
root@r1162167:~/server2# openssl rand -hex 8
bb623029f8049a14
root@r1162167:~/server2# openssl rand -hex 8
cd41db0233b25a0e
Запомните это значение как YOUR_SHORT_ID.
Создайте конфигурацию sing-box:
cat > /root/server2/sing-box/config.json << 'EOF'
{
"log": { "level": "info" },
"api": { "tag": "api", "services": ["runtime", "stats"] },
"dns": { "servers": ["1.1.1.1"] },
"inbounds": [
{
"listen": "0.0.0.0",
"port": 443,
"protocol": "vless",
"settings": {
"clients": [
{
"id": "YOUR_CLIENT_UUID",
"flow": "xtls-rprx-direct"
}
],
"decryption": "none"
},
"stream_settings": {
"network": "tcp",
"security": "reality",
"reality_settings": {
"short_ids": ["YOUR_SHORT_ID"],
"server_name": "yourdomain.com",
"full_duplex": true
}
},
"sniffing": {
"enabled": true,
"destinations": ["http", "tls"]
}
}
],
"outbounds": [
{ "tag": "direct", "protocol": "freedom" },
{ "tag": "block", "protocol": "blackhole" }
]
}
EOF
Замените плейсхолдеры на реальные значения:
sed -i 's/YOUR_CLIENT_UUID/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/g' /root/server2/sing-box/config.json
sed -i 's/YOUR_SHORT_ID/xxxxxxxxxxxxxxxx/g' /root/server2/sing-box/config.json
sed -i 's/yourdomain.com/your-real-domain.com/g' /root/server2/sing-box/config.json
Проверьте синтаксис JSON:
python3 -m json.tool /root/server2/sing-box/config.json