FROM alpine:latest # Устанавливаем базовые системные пакеты RUN apk update && apk add --no-cache curl bash ca-certificates caddy openssl # Скачиваем архив Xray через зашифрованную Base64 ссылку (HuggingFace её не обрежет) RUN B64_URL="aHR0cHM6Ly9naXRodWIuY29tL1hUTFMvWHJheS1jb3JlL3JlbGVhc2VzL2Rvd25sb2FkL3YyNC4xMS4zMC9YcmF5LWxpbnV4LTY0LnppcA==" && \ REAL_URL=$(echo "$B64_URL" | base64 -d) && \ curl -L -o /tmp/xray.zip "$REAL_URL" && \ mkdir -p /usr/local/bin /etc/xray && \ unzip /tmp/xray.zip -d /usr/local/bin/ && \ chmod +x /usr/local/bin/xray && \ rm /tmp/xray.zip # Скрипт автоматической настройки ключей Reality RUN echo '#!/bin/bash\n\ KEYS=$(/usr/local/bin/xray x25519)\n\ PRIV=$(echo "$KEYS" | grep "Private key" | awk "{print \$3}")\n\ PUB=$(echo "$KEYS" | grep "Public key" | awk "{print \$3}")\n\ \n\ echo "=========================================================="\n\ echo "ВАШ КЛЮЧ ДЛЯ VPN ИМПОРТИРОВАТЬ В ПРИЛОЖЕНИЕ:"\n\ echo "PUBLIC_KEY: $PUB"\n\ echo "=========================================================="\n\ \n\ cat < /etc/xray/config.json\n\ {\n\ "log": { "loglevel": "info" },\n\ "inbounds": [{\n\ "port": 8443,\n\ "protocol": "vless",\n\ "settings": {\n\ "clients": [{ "id": "936fa58a-782a-4a64-afbb-cfa1ef1f6305", "flow": "xtls-rprx-vision" }],\n\ "decryption": "none"\n\ },\n\ "streamSettings": {\n\ "network": "tcp",\n\ "security": "reality",\n\ "realitySettings": {\n\ "show": false,\n\ "dest": "://microsoft.com",\n\ "xver": 0,\n\ "serverNames": ["www.microsoft.com", "microsoft.com"],\n\ "privateKey": "\$PRIV",\n\ "shortIds": ["6ba8b3cd"]\n\ }\n\ }\n\ }],\n\ "outbounds": [{ "protocol": "freedom" }]\n\ }\n\ EOF\n\ \n\ caddy file-server --listen :7860 &\n\ exec /usr/local/bin/xray run -c /etc/xray/config.json\n\ ' > /start.sh && chmod +x /start.sh EXPOSE 7860 CMD ["/start.sh"]