Массовые действия с пользователями, полноценный mTLS между панелью и нодами, переработка некоторых элементов UI, xHTTP Extra и многое другое. Подробнее – в нашем свежем релиз-ноуте.
Как обновиться?
Релиз содержит серьезные изменения.
Пожалуйста, ознакомьтесь с инструкцией по обновлению по ссылке ниже.
Ознакомиться с инструкцией.
Что нового?
Массовые действия с пользователями
Опция массовых действий получила серьезное обновления как дизайна, так и доступного функционала. Доступно массовое изменение определенных полей, удаление пользователей по статусу.
Так же окно с массовыми действиями можно открыть только для тех пользователей, которые были непосредственно выбраны. Мультиселект пользователей доступен даже при использовании фильтрации и переключении страницы в таблице.
Обновления UI
Массовые действия с хостами
Как и в случае с пользователями, страница Хостов так же получила массовые действия.
Среди прочего, была добавлена функция “клонирования” уже существующих хостов.
xHTTP Extra
Если хост использует xHTTP – будет доступна опция по настройке extra параметров, которые будут переданы в клиентские приложения. Это добавляет безграничное количество опций по кастомизации xHTTP на стороне клиента. Remnawave никак не будет модифицировать эти параметры при передаче.
Просмотр полной информаци о пользователе
Просмотр детальной статистику по пользователю
Абсолютно новый раздел доступен в карточке пользователя. Просмотр статистики конкретного пользователя, по каждой из подключенных нод. Доступны разные опции фильтрации.
Happ Routing
Конструктор роутинг для приложения Happ получил небольшое обновление.
Теперь можно импортировать существующую конфигурацию для дальнейшего просмотра и/или редактирования.
Страница подписки
Модуль @remnawave/subscription-page получил большое обновление, которое позволяет полностью кастомизировать какие доступные клиенты будут отображаться на странице подписки. С подробностями можно ознакомиться вот здесь.
В Remnawave теперь так же доступен полноценный редактор конфига, который используется в модуле subscription-page.
Доступны возможности по импорту уже существующего файла конфигурации для его редактирования, а так же создание своего конфига с нуля.
mTLS между Remnawave Panel и Remnawave Node
Подробнее об стандарте mTLS – здесь.
Раньше – соединение между “мастером” (Remnawave Panel) и “нодой” (Remnawave Node) хоть и было защищено своей кастомной аутентификацией, но соединение по прежнему оставалось незашифрованным (http://).
В версии 1.5.x была добавлена полная поддержка mTLS, соединение между мастером и нодой теперь полностью защищено и происходит по https://.
Именно по этой причине Remnawave Node необходимо в обязательном порядке обновить после того, как обновите Remnawave.
Remnawave RESCUE CLI
В Rescue CLI доступны опция по сбросу супер-админа, на случай если вы забыли/потеряли данные от входа к панели.
Сброс суперадмина так же необходим при обновлении на версию 1.5.x (в версии 1.5.x по сравнению с прошлыми изменился алгоритм хеширования пароли, поэтому старые пароли недействительны)
RESCUE CLI доступен по следующей команде:
docker exec -it remnawave remnawave
Изменения REST API между v1.4.6 и v1.5.0
Эти изменения были сгенерированы ИИ на основе двух предоставленных схем: 1.4.6 и 1.5.0. Может содержать неточности и ошибки. Всегда сверяйте с актуальной схемой.
Полный Changelog: Remnawave API от версии 1.4.7 до 1.5.0
Новые эндпоинты
Users Bulk Actions Controller
Добавлены новые эндпоинты для массовых операций с пользователями:
-
/api/users/bulk/delete: Массовое удаление пользователей по UUID- POST-метод с
BulkDeleteUsersRequestDtoиBulkDeleteUsersResponseDto
- POST-метод с
-
/api/users/bulk/revoke-subscription: Массовое отзыв подписок пользователей- POST-метод с
BulkRevokeUsersSubscriptionRequestDtoиBulkRevokeUsersSubscriptionResponseDto
- POST-метод с
-
/api/users/bulk/reset-traffic: Массовый сброс трафика пользователей- POST-метод с
BulkResetTrafficUsersRequestDtoиBulkResetTrafficUsersResponseDto
- POST-метод с
-
/api/users/bulk/update: Массовое обновление пользователей- POST-метод с
BulkUpdateUsersRequestDtoиBulkUpdateUsersResponseDto
- POST-метод с
-
/api/users/bulk/update-inbounds: Массовое обновление входящих соединений пользователей- POST-метод с
BulkUpdateUsersInboundsRequestDtoиBulkUpdateUsersInboundsResponseDto
- POST-метод с
-
/api/users/bulk/all/update: Массовое обновление всех пользователей- POST-метод с
BulkAllUpdateUsersRequestDtoиBulkAllUpdateUsersResponseDto
- POST-метод с
-
/api/users/bulk/all/reset-traffic: Массовый сброс трафика всех пользователей- PATCH-метод с
BulkAllResetTrafficUsersResponseDto
- PATCH-метод с
Users Stats Controller
-
/api/users/stats/usage/range/{uuid}: Получение статистики использования пользователя по временному диапазону- GET-метод с параметрами запроса
startиend(даты в формате ISO)
- GET-метод с параметрами запроса
Users Controller
-
/api/users/activate-all-inbounds/{uuid}: Активация всех входящих соединений для пользователя- PATCH-метод с ответом
ActivateAllInboundsResponseDto
- PATCH-метод с ответом
Hosts Bulk Actions Controller
Добавлены новые эндпоинты для массовых операций с хостами:
-
/api/hosts/bulk/delete: Удаление нескольких хостов- POST-метод с
BulkDeleteHostsRequestDtoиBulkDeleteHostsResponseDto
- POST-метод с
-
/api/hosts/bulk/disable: Отключение нескольких хостов- POST-метод с
BulkDisableHostsRequestDtoиBulkDisableHostsResponseDto
- POST-метод с
-
/api/hosts/bulk/enable: Включение нескольких хостов- POST-метод с
BulkEnableHostsRequestDtoиBulkEnableHostsResponseDto
- POST-метод с
-
/api/hosts/bulk/set-inbound: Установка входящего соединения для нескольких хостов- POST-метод с
SetInboundToManyHostsRequestDtoиSetInboundToManyHostsResponseDto
- POST-метод с
-
/api/hosts/bulk/set-port: Установка порта для нескольких хостов- POST-метод с
SetPortToManyHostsRequestDtoиSetPortToManyHostsResponseDto
- POST-метод с
Inbounds Controller
-
/api/inbounds/full: Получение полной информации о входящих соединениях- GET-метод с ответом
GetFullInboundsResponseDto
- GET-метод с ответом
Inbounds Bulk Actions Controller
-
/api/inbounds/bulk/add-to-users: Добавление входящего соединения для пользователей- POST-метод с
AddInboundToUsersRequestDtoиAddInboundToUsersResponseDto
- POST-метод с
-
/api/inbounds/bulk/remove-from-users: Удаление входящего соединения у пользователей- POST-метод с
RemoveInboundFromUsersRequestDtoиRemoveInboundFromUsersResponseDto
- POST-метод с
-
/api/inbounds/bulk/add-to-nodes: Добавление входящего соединения ко всем узлам- POST-метод с
AddInboundToNodesRequestDtoиAddInboundToNodesResponseDto
- POST-метод с
-
/api/inbounds/bulk/remove-from-nodes: Удаление входящего соединения со всех узлов- POST-метод с
RemoveInboundFromNodesRequestDtoиRemoveInboundFromNodesResponseDto
- POST-метод с
Изменения в существующих эндпоинтах
Subscription Controller
- Изменен путь
/api/sub/{shortUuid}/{clientType}: добавлен новый тип клиентаv2ray-jsonв enumclientType
API Tokens Management
Обновлены ответы эндпоинтов:
-
/api/tokens/create: теперь возвращаетCreateApiTokenResponseDtoвместо простого описания -
/api/tokens/delete/{uuid}: теперь возвращаетDeleteApiTokenResponseDtoвместо простого описания -
/api/tokens/: теперь возвращаетFindAllApiTokensResponseDtoвместо простого описания
Keygen Controller
-
Изменено описание эндпоинта
/api/keygen/get: теперь “Get SSL_CERT for Remnawave Node” вместо “Get public key” -
Изменилась схема ответа: теперь это массив объектов
GetPubKeyResponseDtoвместо одного объекта
Subscription Info
- Обновлена схема ответа эндпоинта
/api/sub/{shortUuid}/info: теперь возвращаетGetSubscriptionInfoResponseDtoс детальной информацией о подписке
Изменения в моделях данных
Inbound-модели
- Обновлена структура
activeUserInbounds: добавлены свойстваnetworkиsecurityдля более полного описания входящих соединений
Host-модели
-
В
CreateHostRequestDtoиUpdateHostRequestDtoдобавлено новое свойствоsecurityLayerс возможными значениямиDEFAULT,TLS,NONE -
В
CreateHostRequestDtoиUpdateHostRequestDtoдобавлено новое свойствоxHttpExtraParamsдля дополнительных HTTP-параметров -
Расширен enum
alpnв моделях хостов: добавлены новые значенияh3,h3,h2,http/1.1иh3,h2
CreateUserRequestDto
- Добавлено новое свойство
activateAllInboundsтипа boolean, позволяющее активировать все входящие соединения при создании пользователя
Модели ответа пользователя
- Добавлено свойство
happс подсвойствомcryptoLinkв ответах о пользователе
Изменения в параметрах путей (Path Parameters)
- В пути
/api/sub/{shortUuid}/{clientType}добавлен новый вариант типа клиентаv2ray-jsonв enumclientType
Изменения в ClientType enum
-
В версии 1.4.7 список значений был:
["stash", "singbox", "singbox-legacy", "mihomo", "json", "clash"] -
В версии 1.5.0 добавлен вариант
"v2ray-json":["stash", "singbox", "singbox-legacy", "mihomo", "json", "v2ray-json", "clash"]
Изменения в API-ответах для токенов
-
Были улучшены возвращаемые схемы для API Token Management:
-
CreateApiTokenResponseDtoдобавлен для/api/tokens/create -
DeleteApiTokenResponseDtoдобавлен для/api/tokens/delete/{uuid} -
FindAllApiTokensResponseDtoдобавлен для GET/api/tokens
-
Изменения в структуре ответов
-
В версии 1.5.0 многие ответы предоставляют более полную информацию о ресурсах:
-
Добавлены свойства
networkиsecurityв объектыactiveUserInbounds -
Добавлено свойство
happс подобъектом содержащимcryptoLinkв ответах о пользователе
-
Прочие изменения
-
Расширена и улучшена документация API
-
Изменен формат даты в некоторых полях с
nullable: trueна строгийformat: date-time -
Улучшена валидация входящих данных
-
Изменено описание для
/api/keygen/get: теперь это “Get SSL_CERT for Remnawave Node” вместо “Get public key”
Обновлены типы ответов
Следующие типы ответов были расширены или добавлены:
-
GetFullInboundsResponseDto: новая модель для получения подробной информации о входящих соединениях -
Все типы ответов для массовых операций с пользователями и хостами
-
GetUserUsageByRangeResponseDto: модель для статистики использования -
ActivateAllInboundsResponseDto: ответ после активации всех входящих соединений
Изменения в структуре данных хоста
Изменения в свойстве alpn
-
В версии 1.4.7 enum
alpnимел значения:["http/1.1", "h2", "h2,http/1.1"] -
В версии 1.5.0 enum
alpnрасширен и теперь включает:["h3", "h2", "http/1.1", "h2,http/1.1", "h3,h2,http/1.1", "h3,h2"]
Новые свойства хоста
-
Добавлено новое свойство
securityLayerс enum:["DEFAULT", "TLS", "NONE"] -
Добавлено новое свойство
xHttpExtraParamsдля передачи дополнительных HTTP-параметров
Изменения в структуре /api/sub/{shortUuid}/info
- В версии 1.5.0 добавлена полная схема ответа
GetSubscriptionInfoResponseDto
Full Backend Changelog (1.4.6…1.5.0)
Enhancements
- Add SHORT_UUID_LENGTH configuration and update UsersService to utilize it (0afd640)
- Enhance user management with bulk operations and error handling (61442e5)
- Adjust keypair generation and error handling in KeygenService (5342f6a)
- Enhance subscription info endpoint with response documentation (ed62b1a)
- Add superjson utils (a81122a)
- Add isConnecting field to NodeHealthCheck payload and processor (5464113)
- Enhance key generation and update dependencies (0b4b61c)
- Add KEYPAIR_NOT_FOUND error and enhance logging in seed process (9e4741d)
- Add reset certs functionality to CLI (5c33240)
- Implement user expiration notifications and related functionality (fcabf1d)
- Add password field to RealityObject interface and update publicKey retrieval logic (50789dc)
- Add handling for empty hosts and user inbounds in FormatHostsService (e2f7cc5)
- Add activate all inbounds functionality (0a0c1eb)
- IsShowCustomRemark, PublicKey generation (ce826aa)
- Add V2RAY_JSON (v2ray-json) request template type (12a0487)
- Enhance template engine with user-specific data (de8f4ce)
Fixes
- Enhance ALPN configuration handling in SingBoxGeneratorService (817a9ee)
- Update xHttpExtraParams assignment in FormatHostsService (e43eb92)
- Update SingBox version handling in render-templates.service.ts (e63c5e1)
- Improve database seeding error handling in docker-entrypoint.sh (de889b1)
- Update regex for MIHOMO subscription config type (d27b9e1)
- Increase axios request timeout from 30s to 45s (344e71f)
- Improve port handling logic in InboundsService (4dcdeb0)
- Improve port parsing logic in InboundsService (772f9f8)
Refactors
- Update method visibility in SystemService (437a68b)
- Reorder getDocs call in bootstrap function (d62479f)
- Streamline Telegram bot event handling and integrate logging (3581c7c)
- Improve keygen seeding logic and error handling (df7d946)
- Replace console.log with consola (ef27f7e)
- Rename prismaModule to prisma.module (1417822)
- Simplify host formatting logic in FormatHostsService (4de4747)
- Move activateAllInbounds controller (ae50e2e)
- Update sorting logic in UsersRepository to include nulls handling (aeff714)
- Update UserEntity to allow onlineAt to be nullable and enhance sorting logic in UsersRepository (36158a3)
- Update user traffic handling and enhance error logging (06e4aa9)
- Remove redundant warning log in NodeHealthCheckQueueProcessor (0265edf)
- Update user retrieval and response models (be0a087)
- Update Dockerfile and Prisma schema for improved structure and consistency (8d35c77)
Full Frontend Changelog (1.4.6…1.5.0)
Enhancements
- Update localization for important notes in English, Persian, and Russian (4248add)
- Enhance localization in English and Persian ([9a2aeec)
- Integrate bulk inbounds actions, add multi-select to hosts (c834893)
- Enhance user table and authentication flow (324e720)
- Implement bulk user actions and update localization (038fa63)
- Add animation to hosts table component (63361bb)
- Add copy functionality for UUID in InboundsCardWidget (d71cd34)
- Add new localization entries and enhance user subscription links feature (94b6f80)
- Add detailed user usage traffic statistics (64b86f3)
- Enhance user modal store and add detailed user info drawer (7c5380b)
- Update backend contract version and enhance xHTTP extra parameters functionality (737de78)
- Add clone functionality to BaseHostForm and update localization (68fe928)
- Enhance config editor with validation and save confirmation (a577c04)
- Update node status badge icon and color for connecting state (51f58cb)
- Update version and enhance happ routing builder (12cbb51)
- Enhance subscription settings and localization updates (89a0fbf)
- Enhance UI components (8818c8e)
- Add expiration date options in user actions (cc80eca)
- Add Subscription Page Builder to dashboard sidebar and routing (b815e1f)
- Add localization support for Subscription Page Builder and update dashboard components with management breadcrumbs (fcd50e0)
- Add option to hide custom remarks (820cc5f)
- Enhance user usage modal with detailed node statistics and navigation (c045a9a)
- Improve media query handling in MainLayout for better responsiveness (c6c5bc6)
- Add column filtering functionality to users table store and widget (5ebe41f)
- Implement clear modal state actions for user and node modals, skeletons in viewUserModal (e62f7df)
- Delay clearing modal state actions in EditNodeModal for smoother user experience (cb0430b)
- Add refresh functionality to user usage modal with loading state indicator (b0c2d34)
- Add build-info.json generation to release workflow for enhanced build metadata (1ab2093)
- Add happ crypto-link (14c42a4)
Fixes
- Update Russian localization for various components (9c4ddf3)
- Update Russian localization for inbounds term (8055f72)
- Correct translation usage in delete user confirmation modal (895accc)
- Update error message color in error accordion widget (5bca2bb)
- Adjust query hook parameters (4991a3a)
- Update node card widget to conditionally display badge based on connection status (77f016a)
- Improve NodeCardWidget styling (2917b58)
- Add offline badge to NodeCardWidget for disconnected nodes (e3891ff)
- Enhance HappRoutingBuilder components (970264e)
- Update Russian localization for user edit and usage statistics (4d524a8)
- Adjust skeleton heights and margin in ViewUserModal for improved layout consistency (5f01df5)
- Correct spelling of ‘Length’ in UUID-related functions and update related components (bdf6c1c)
Refactors
- Improve layout of BaseHostForm inputs (95a42cd)
- Improve form reset handling in modal components (a7f3102)
- Remove unused comments and clean up code in subscription page builder config (ed530d3)
- Update importConfig function to accept File directly and enhance file input component in subscription page builder header (d7513d1)
- Restructure dashboard routes to include management and utils sections, update sidebar menu items, and enhance layout styles (63ebdd8)
- Update dashboard routes to include management prefix for API tokens, config, and nodes sections (186cad9)
- Remove unused customIcons import and comment out icons in UserTableWidget for cleaner code (923f50a)
- Simplify HeaderButtons component by removing translation and replacing Button with ActionIcon for logout (72dd3c3)
- Enhance app update logic in Subscription Page Builder to handle old IDs (07c6eea)
- Restructure dashboard layout by removing unused components and updating routing to use MainLayout (f11961e)
Styles
- Add cursor pointer to Code component in mobile and dashboard layouts for better UX (e188c50)
- Update color variables in dashboard metrics and user actions components (b3d61f4)
- Update Button components in AppForm to use ‘p’ as the component type (ef47d36)
- Update InboundsCardWidget to use ‘teal’ color for badges and buttons, and adjust text sizes (77c2d21)
Full Remnawave Node Changelog (1.4.0…1.5.0)
Enhancements
- Enhance startup message with XRay service information (8bdda37)
- Integrate supervisord-nestjs for process management (5bdcaee)
- Add p-retry for enhanced retry logic and update logging (2a2d910)
- Integrate XrayService into HandlerService for user management (d62b52f)
Fixes
- Filter users with non-zero uplink and downlink in GetUsersStatsResponseModel (a528f30)
- Improve error handling in XrayService (8203e97)
- Update host address in app module for local development (09f3102)
Refactors
- Change logging level for request headers in JwtDefaultGuard (f425fd5)
- Update supervisord configuration and enhance XrayService (1369f79)
- Reorder imports and enhance error logging in HandlerController and XrayService (754d07b)
- Streamline constructor syntax in Internal, Stats, and Xray controllers (f067b4c)











