Автоматизация настройки из Yandex_CDN_XHTTP_универсальная_инструкция.txt.
Серверные шаги (Exit, Origin) выполняются интерактивными bash-скриптами.
Шаги в веб-панелях (DNS-регистратор, Yandex Certificate Manager, Yandex Cloud
CDN) вынесены в чек-лист, так как это UI-действия, а не команды.
Архитектура:
Клиент -> Yandex Cloud CDN -> Origin-сервер (Nginx + Xray) -> Exit-сервер (Xray) -> Интернет
-
DNS (раздел 1) — создать A-записи
originиrelayна IP серверов. См.docs/05-yandex-cloud-checklist.md, пункт 1. -
Exit-сервер — по SSH зайти на Exit-сервер (Ubuntu 22.04), скопировать папку
scripts/и выполнить:sudo -i ./01-setup-exit-server.shСкрипт спросит
RELAY_HOST, email для Let's Encrypt, предложит сгенерировать UUID (сохраните его — он нужен на Origin-сервере). -
Origin-сервер — по SSH зайти на Origin-сервер, скопировать
scripts/и выполнить:sudo -i ./02-setup-origin-server.shСпросит
ORIGIN_HOST,CDN_HOST,RELAY_HOST, IP Exit-сервера, тот же UUID, email, путь XHTTP и ключ padding (по умолчанию/api-testиdc). -
Yandex Cloud (Certificate Manager + CDN-ресурс + CNAME + редирект) — выполнить по пунктам
docs/05-yandex-cloud-checklist.md(разделы 4–7 исходной инструкции). Это единственная часть, которую нужно делать в консоли Yandex Cloud вручную. -
Проверка — с любой Linux-машины:
./scripts/03-verify-cdn.shПроверяет прохождение OPTIONS через CDN до Origin (раздел 8).
-
Клиентский профиль — сгенерировать VLESS-ссылку и JSON для Happ/v2rayNG:
./scripts/04-generate-client-config.sh -
Дополнительные пользователи — выдать отдельный UUID каждому устройству/человеку вместо расшаривания одного. Без аргументов открывает интерактивное меню (добавить/показать/удалить), при добавлении сразу выводит готовую vless-ссылку и JSON padding:
./scripts/05-manage-vless-users.shЛибо напрямую:
./scripts/05-manage-vless-users.sh add "имя метки" ./scripts/05-manage-vless-users.sh list ./scripts/05-manage-vless-users.sh remove "имя метки или UUID"CDN-домен/путь/padding-ключ запоминаются после первого ввода в
/usr/local/etc/xray/client-defaults.env.
scripts/lib/common.sh— общие функции (ask/confirm/gen_uuid/валидация домена)scripts/01-setup-exit-server.sh— раздел 2 инструкцииscripts/02-setup-origin-server.sh— раздел 3 инструкцииscripts/03-verify-cdn.sh— раздел 8 инструкцииscripts/04-generate-client-config.sh— раздел 9 инструкцииscripts/05-manage-vless-users.sh— управление UUID-пользователями (add/list/remove)docs/05-yandex-cloud-checklist.md— разделы 1, 4–7, 10, 11 инструкции
- Скрипты 01/02 идемпотентны частично: их можно перезапускать, но они
перезаписывают
config.jsonи конфиги nginx каждый раз с введёнными значениями. - UUID должен быть одинаковым на Exit- и Origin-серверах.
- Порт 8003 на Origin и открытие 10443 на Exit наружу — только с IP
Origin-сервера (скрипты не включают
ufw enableавтоматически, чтобы не заблокировать SSH-доступ; правилоufw allowможно добавить по запросу скрипта).