Skip to content

Release 6.7.0 — панель и нода 3.4.x, формат ссылки подписки

Choose a tag to compare

@DigneZzZ DigneZzZ released this 31 Aug 20:44
· 4 commits to main since this release
3a42eb4

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