Release 6.7.0 — панель и нода 3.4.x, формат ссылки подписки
Release 6.7.0
Поддержка Remnawave Panel 3.4.x и node 3.4.x.
Версии: remnawave.sh v6.7.0 · remnanode.sh v4.6.0
Нода 3.4.0 сняла требование к версии панели
В ноде 3.3.0 появился derived-SNI: она отклоняла TLS-handshake, если панель не предъявляла производный SNI, — поэтому нода 3.3.x на панели 3.2.x просто числилась офлайн (unknown sni в логах). В node 3.4.0 эту проверку спрятали за новую переменную SNI_VERIFICATION, и по умолчанию она выключена: TLS-конфиг снова такой же, как в 3.2.2.
| Панель | Нода | Результат |
|---|---|---|
| 3.3.0+ | любая | ок |
| 3.2.x и старее | 3.3.0 … 3.3.2 | нода офлайн — unknown sni |
| 3.2.x и старее | 3.4.0+ | ок (проверка выключена) |
Что изменилось в remnanode.sh:
- вопрос про версию панели задаётся только когда запрошенный тег попадает в окно
3.3.0 … 3.3.2; latestиdevбольше не спрашивают ничего — они резолвятся в 3.4.1+;- в диалоге теперь предлагается не только
--tag 3.2.2, но и обычныйlatest; - в
.envноды добавлена закомментированная строка#SNI_VERIFICATION=true— включайте, если панель на 3.3.0 или новее и нужна жёсткая проверка.
sudo remnanode update # latest (3.4+), вопросов не будет
sudo remnanode update --tag 3.4.1Формат ссылки подписки (панель 3.4.0+)
Панель 3.4.0 превратила старый SHORT_UUID_LENGTH в три настройки: SHORT_UUID_METHOD (nanoid | uuid | custom), SHORT_UUID_LENGTH и SHORT_UUID_CUSTOM_PATTERN. Установщик теперь спрашивает про это и пишет блок в .env:
- nanoid (по умолчанию) — случайная строка, длина 16–64, сразу показывается пример;
- uuid — стандартный UUID v4;
- custom — свой шаблон, например
{hex:16}-{hex:16}-{digits:10}илиsub-{nanoid:20}.
Шаблон проверяется ровно так же, как это делает панель: токены {nanoid:N} {alpha:N} {digits:N} {hex:N} {uuid}, литералы только из A-Za-z0-9_-, результат 16–64 символа и не меньше ~64 бит случайности. При успехе печатается сгенерированный образец, при ошибке — та же причина, что вернула бы панель.
Неинтерактивная установка (curl | bash, автоматизация) молча берёт дефолты nanoid / 16.
Настройка влияет только на пользователей, созданных после неё, — существующие
shortUuidлежат в базе и продолжают работать.
Исправлено: update больше не сбрасывает SHORT_UUID_LENGTH
Миграция v5.8.8 удаляла SHORT_UUID_LENGTH из .env с пометкой «no longer used». На самом деле апстрим её не удалял — переменная лишь пропала из .env.sample, оставаясь в config.schema.ts, а в 3.4.0 вернулась и в sample. Из-за этого каждый update молча возвращал длину идентификатора к 16. Шаг миграции убран.
Документация
README (EN/RU) приведены к 3.4.x: бейджи, таблица версий, корректная формулировка требования к панели и пример --tag 3.4.1.
Что проверялось и осталось без изменений
docker-compose-prod.ymlпанели между 3.3.2 и 3.4.2 не изменился,.env.sampleноды — тоже;POST /api/tokens(name/expiresInDays/scopes, токен в.response.token) и/api/auth/login|register|status— контракт прежний;- все пять scope'ов, которые скрипт запрашивает для токена subscription-page, валидны в 3.4.2;
- список устаревших переменных
.envактуален; - изменение API 3.4.0
excludedInternalSquads → internalSquadsотносится к объекту хоста и скриптов не касается.
Обновление
sudo remnawave update-script # обновить только CLI
sudo remnanode install-script
sudo remnawave update # CLI + образы + миграции
sudo remnanode update