Установщик фронтовой ноды Remnawave: один запуск на чистом Debian или Ubuntu поднимает узел, отдающий всё через 443 — HAProxy впереди, Caddy с настоящим сайтом прикрытия, ядро Xray за ними и любая комбинация из семи транспортов.
С панелью скрипт не разговаривает. Он готовит серверную часть и печатает точные значения, которые нужно ввести в Remnawave руками.
curl -fsSL -o /tmp/rw-edge-install.sh \
https://raw.githubusercontent.com/Vlone111/NodaFullScript/main/installer/rw-edge-install.sh
bash /tmp/rw-edge-install.shДвумя командами, а не одной: curl | bash не годится вовсе — скрипт задаёт
вопросы, а в конвейере stdin занят самим скриптом. Подстановка процесса
bash <(curl ...) эту проблему решает, но заводит другую: bash читает файл из
FIFO по мере выполнения, и при обрыве чтения curl падает с (23) Failure writing output to destination, а bash остаётся с обрывком и виснет. Скачанный
файл выполняется целиком и ни от чего не зависит.
| Каталог | Что это |
|---|---|
installer/ |
сам установщик, собирается из parts/*.sh через build.sh |
DESIGN.md |
контракт архитектуры: карта портов, матрица транспортов, взаимные исключения |
GRAFANA-AGENT-PROMPT.md |
задание для настройки Grafana на отдельном сервере |
Подробности установки — в installer/INSTALL.md,
устройство и ограничения — в installer/README.md.
Выбираются при установке, можно несколько сразу. Скрипт сам разведёт их по SNI на 443 и откажется собирать заведомо конфликтную пару.
| id | Домен | Сертификат | Кто терминирует TLS |
|---|---|---|---|
reality-tcp-steal |
1 | да | Xray, fallback в Caddy |
reality-tcp-borrow |
0 | нет | Xray, target — внешний донор |
reality-xhttp-steal |
1 | да | Xray, fallback в Caddy |
xhttp-tls |
1 | да | Caddy, дальше h2c |
grpc-tls |
1 | да | Caddy, дальше h2c |
tcp-tls |
1 | да | Xray, сертификат смонтирован |
hysteria2 |
1 | да | Xray на UDP/443, masquerade на сайт |
Ставятся по желанию, отдельным вопросом «да/нет», и живут полностью независимо
от панели: ничего из Remnawave не читается, при её падении или обновлении сбор
продолжается. Три контейнера на ~29 МБ, все слушают только 127.0.0.1, входящих
портов не открывается.
Кроме системных метрик собираются зонды пути наружу с самой ноды и состояния
Docker-контейнеров. Первое важно потому, что проба с сервера мониторинга меряет
путь того сервера, а не этого; второе — потому, что node_exporter про Docker не
знает ничего, и упавшее ядро выглядит для него здоровой машиной.
Живёт в отдельном репозитории и клонируется установщиком по тегу — версия сайта не меняется под ногами при переустановке ноды.
Копии исходников здесь намеренно нет, и это не оплошность. Сайт прикрытия отдаётся публично на каждой ноде, поэтому его содержимое находится обычным поиском по коду. Лежи он рядом с этим репозиторием — по одной характерной строке со страницы находился бы установщик прокси-узла, и смысл прикрытия терялся бы. По той же причине у него нейтральное имя, а не термин из документации REALITY.
cd installer
./build.sh # собрать один файл из parts/
shellcheck rw-edge-install.sh
./test-matrix.sh # 16 комбинаций на настоящих Xray, HAProxy и CaddyМатрица не имитирует бинарники: каждая комбинация транспортов рендерится и
скармливается реальным xray -test, haproxy -c и caddy validate.