Плагины ноды
Модуль Плагины ноды настраивает три встроенных плагина Remnawave Node сразу для всех нод панели:
Torrent Blocker
Ловит торрент-трафик пользователей и блокирует их IP на уровне nftables: одного пойманного пакета достаточно.
Ingress Filter
Режет входящие соединения целыми подсетями: сканеры стучатся в порт ноды и не получают ответа.
Egress Filter
Блокирует исходящий трафик по адресам и портам назначения: взломанная учётная запись не уйдёт в частные сети и не начнёт рассылать спам.
Все три функции живут в одной записи плагина Reverse Node Plugins, настраиваются через API панели с сервера, где панель установлена, и применяются на нодах без перезапусков.
Как это устроено
Заголовок раздела «Как это устроено»У каждой ноды Remnawave есть ровно один активный плагин (activePluginUuid), поэтому три функции не могут быть тремя отдельными записями: активной всегда была бы только одна. Скрипт держит одну общую запись с тремя секциями конфига: torrentBlocker, ingressFilter и egressFilter.
Каждое изменение настроек проходит один и тот же путь:
Оффлайн-ноды получают привязку в базе панели и подхватят конфиг при подключении.
В верхней части меню модуля всегда видна строка правды: Нод под плагином: 2 из 2. Плагин, на который не указывает ни одна нода, не работает, что бы ни показывали статусы функций.
Что понадобится
Заголовок раздела «Что понадобится»Для Torrent Blocker требуется Node версии 2.7.0 и новее с ядром Xray 26.3.27+.
Открытие модуля
Заголовок раздела «Открытие модуля»Выполните на сервере панели:
remnawave_reverse-
В главном меню выберите пункт
4:REMNAWAVE REVERSE-PROXY by eGames Версия: 3.7.2 Wiki: https://wiki.egam.es/ 1.Установка компонентов Remnawave 2.Переустановить панель и компоненты 3.Управление панелью и компонентами 4.Расширения ноды (шаблоны, плагины, ядро) 5.Xray Checker: мониторинг подписки 6.Кастомные расширения от legiz 7.WARP Native 8.Backup and Restore 9.Управление IPv6 10.Управление сертификатами домена 11.NetBird: сеть для нод и панели 12.Проверить обновления скрипта 13.Удалить скрипт 0.Выход - Быстрый запуск: remnawave_reverse Выберите действие (0-13):
-
В меню расширений выберите
Плагины ноды:Расширения ноды 1.Установить шаблон для selfsteal ноды 2.Плагины ноды 3.Ядро Xray 4.SSH-доступ к удалённому серверу 5.Серверный роутинг 0.Выход Выберите действие (0-5):
-
Откроется меню модуля со статусами всех трёх функций и счётчиком привязки:
Плагины ноды Подробности в wiki: https://wiki.egam.es/ru/configuration/node-plugins Нод под плагином: 2 из 2 1.Torrent Blocker: ВКЛЮЧЁН 2.Ingress Filter: выключен 3.Egress Filter: не настроен 0.Выход Выберите плагин (0-3):
Статус каждой функции бывает четырёх видов:
Если плагин не привязан ни к одной ноде, счётчик заменяется предупреждением Плагин не привязан к нодам, функции не работают на нодах. Любое изменение настроек привяжет его.
При первом входе модуль проверяет, нет ли на аккаунте старых записей плагинов от прошлых версий скрипта (они назывались Torrent Blocker, Ingress Filter, Egress Filter по отдельности). Такие записи предлагается объединить в одну: настройки сольются, лишние записи удалятся, плагин привяжется ко всем нодам. Отказ ничего не меняет, вопрос повторится при следующем входе.
Torrent Blocker
Заголовок раздела «Torrent Blocker»Плагин ловит торрент-трафик на стороне Xray и блокирует IP нарушителя на самой ноде через nftables. Бан истекает сам через заданное время, уведомления о блокировках панель отправляет в Telegram, если там настроен бот.
Меню функции:
Torrent Blocker Torrent Blocker: ВКЛЮЧЁН 1.Отключить Torrent Blocker 2.Настройки (длительность бана, белый список IP) 3.Статистика и последние отчёты 4.Разблокировать IP 5.Пересоздать таблицы nftables 6.Настроить Telegram-уведомления (панель) 7.Удалить общий плагин (все три функции) 0.Выход Выберите действие (0-7):
Включение и выключение
Заголовок раздела «Включение и выключение»-
Выберите пункт
Включить Torrent Blocker(илиОтключить, когда он включён):Torrent Blocker Torrent Blocker: выключен 1.Включить Torrent Blocker 2.Настройки (длительность бана, белый список IP) 3.Статистика и последние отчёты 4.Разблокировать IP 5.Пересоздать таблицы nftables 6.Настроить Telegram-уведомления (панель) 7.Удалить общий плагин (все три функции) 0.Выход Выберите действие (0-7): 1 [ * ] Включаю Torrent Blocker... [ ✓ ] Torrent Blocker включён, плагин привязан ко всем включённым нодам. Уведомления о блокировках приходят в Telegram, только если в панели настроены уведомления (Telegram-бот). Требуется Node v2.7.0+ с Xray 26.3.27+. Xray видит лишь часть торрент-трафика: одного пойманного пакета достаточно для бана IP.
Выключение проходит так же, но блокировки с нод при этом не сбрасываются: активные баны доживают свой срок.
Настройки (длительность бана, белый список IP)
Заголовок раздела «Настройки (длительность бана, белый список IP)»Пункт Настройки показывает текущие значения: Enter оставляет их как есть, - у белого списка очищает его.
-
Выберите пункт
2и введите новые значения:[ * ] Настройки Torrent Blocker Длительность бана в секундах [текущая: 3600]: 7200 Белый список IP через запятую [текущий: нет] (Enter - оставить, '-' = очистить): 203.0.113.7, 198.51.100.4 [ ✓ ] Настройки сохранены и синхронизированы на ноды.
Белый список пригодится, если у честного пользователя статический адрес и он жалуется на блокировки: добавьте его IP, и Torrent Blocker перестанет на него реагировать.
Статистика и последние отчёты
Заголовок раздела «Статистика и последние отчёты»Пункт Статистика и последние отчёты показывает счётчики, топ нарушителей и свежие блокировки по всем нодам:
[ * ] Статистика Torrent Blocker Всего: 1284 За 24ч: 17 Пользователей: 96 Нод: 2 Топ пользователей: megauser - 204 ivanpro - 118 Топ нод: de-fra-01 - 731 nl-ams-02 - 553 Последние отчёты (до 15): Дата Пользователь IP Нода 2026-10-03T11:52 megauser 45.151.100.214 de-fra-01 2026-10-03T09:14 ivanpro 178.62.95.10 nl-ams-02 2026-10-02T23:41 megauser 185.220.101.5 de-fra-01
Разблокировать IP
Заголовок раздела «Разблокировать IP»Если бан пришёлся на адрес, который трогать не хотели (например, пользователь за CGNAT, и под бан ушла вся подсеть провайдера), IP можно разблокировать сразу на всех нодах:
-
Выберите пункт
Разблокировать IPи укажите адрес:IP для разблокировки на всех нодах: 185.220.101.5 [ * ] Разблокирую 185.220.101.5... [ ✓ ] Запрос на разблокировку 185.220.101.5 принят нодами.
Адрес под баном снова попадёт в блок-лист при следующем срабатывании. Чтобы вообще не блокировать его, добавьте IP в белый список в настройках.
Пересоздать таблицы nftables
Заголовок раздела «Пересоздать таблицы nftables»Пункт пересоздаёт nftables-таблицу плагина на всех нодах: сбрасывает активные баны и очищает таблицу от остатков после сбоев. Списки Ingress Filter и Egress Filter живут в той же таблице, поэтому если они включены, скрипт предупредит: после сброса ноды могут держать их пустыми до следующего изменения конфига плагина или перезапуска ноды.
-
Подтвердите сброс:
Пересоздать таблицы nftables на всех подключённых нодах? Текущие баны будут сброшены (y/n): y [ * ] Пересоздаю таблицы nftables... [ ✓ ] Запрос на пересоздание принят нодами.
Telegram-уведомления о блокировках
Заголовок раздела «Telegram-уведомления о блокировках»Пункт Настроить Telegram-уведомления (панель) пишет настройки в /opt/remnawave/.env панели: бот из раздела уведомлений панели начинает дублировать отчёты Torrent Blocker в указанный чат.
-
Введите токен бота (получается у @BotFather) и чат для отчётов. Для темы в супергруппе укажите
chat_id:thread_id. Перед сохранением модуль отправляет тестовое сообщение:Telegram-уведомления панели: выключены, чат Torrent Blocker: — Токен Telegram-бота [текущий: —]: 7481203945:AAH3k2QvLpR9tXmZwYb5C1dE Чат для отчётов Torrent Blocker (chat_id или chat_id:thread_id) [текущий: —]: -1002345678901 Отправляю тестовое сообщение... Записать в .env и перезапустить панель с компонентами? Будет короткий простой, ~30 секунд (y/n): y [ * ] Сохраняю настройки в /opt/remnawave/.env... [ * ] Перезапускаю панель и компоненты (docker compose down/up)... [ ✓ ] Готово: панель отправляет отчёты Torrent Blocker в Telegram.
Если api.telegram.org недоступен с сервера (частое явление для серверов в РФ), модуль предложит отправлять сообщения через прокси, например socks-инбаунд xray на зарубежной ноде:
Отправляю тестовое сообщение... api.telegram.org недоступен с этого сервера (возможна блокировка в РФ). Сообщения можно отправлять через SOCKS5/HTTP-прокси, например socks-инбаунд xray на зарубежной VPS/ноде. Отправлять Telegram через прокси? (y/n): y Адрес прокси (socks5h://хост:порт или socks5h://пользователь:пароль@хост:порт, пароль можно вводить как есть): socks5h://45.151.100.214:1080 Отправляю тестовое сообщение...
Логин и пароль прокси можно вводить как есть: модуль сам закодирует специальные символы, а сами креды не светятся в списке процессов, уходя в curl через файловый дескриптор.
Когда уведомления уже настроены, пункт предлагает Перенастроить или Отключить уведомления Torrent Blocker. Отключение чистит только чат Torrent Blocker: если другие категории уведомлений панели ещё живы, общий переключатель Telegram остаётся включённым.
Ingress Filter
Заголовок раздела «Ingress Filter»Фильтр блокирует входящие соединения на уровне nftables по списку подсетей: сканеры интернета стучатся в порт ноды и не получают ответа. Список один на все ноды, у каждой функции свой статус.
Меню функции:
Ingress Filter Ingress Filter: выключен записей в блок-листе: 0 1.Включить Ingress Filter 2.Пресеты блок-листа 3.Добавить IP/подсеть вручную 4.Убрать записи вручную 5.Удалить настройки Ingress Filter 0.Выход Выберите действие (0-5):
Включение
Заголовок раздела «Включение»-
Выберите пункт
Включить Ingress Filter:[ * ] Включаю Ingress Filter... [ ✓ ] Ingress Filter включён и синхронизирован на ноды. Входящий трафик блокируется на уровне nftables по всему серверу. Пресеты режут целыми подсетями, под бан могут попасть и соседние адреса хостинга в этих подсетях.
Фильтр можно включать и без списка, но работать он начнёт только после того, как в блок-листе появятся записи.
Пресеты блок-листа
Заголовок раздела «Пресеты блок-листа»Пункт Пресеты блок-листа открывает три готовых списка. Напротив применённого пресета стоит метка [установлен: N], а когда upstream обновил список, метка краснеет и показывает, сколько записей доступно:
Пресеты блок-листа Ingress Проверяю обновления применённых пресетов... 1.RU-сканеры (Skipa) [установлен: 145] Известные сканеры из РФ, ~145 подсетей 2.Классические сканеры [установлен: 270, доступно: 271 (обновите)] Censys, Shodan, Palo Alto, Shadowserver, Driftnet, ONYPHE, ZoomEye, LeakIX, Rapid7 (~270 подсетей) 3.FOFA + Quake Китайские скан-платформы FOFA и Quake, ~950 записей, большой список 0.Выход Выберите действие (0-3):
Списки скачиваются с GitHub, при недоступности напрямую модуль сам пробует зеркала. Повторное применение пресета заменяет только его прежние записи: записи других пресетов и добавленные вручную остаются на месте.
-
Выберите пресет, например
RU-сканеры (Skipa):[ * ] Скачиваю списки пресета... Источник: github.com/tread-lightly/CyberOK_Skipa_ips Записать в блок-лист 145 записей? Прежние записи этого пресета будут заменены, ручные останутся (y/n): y [ ✓ ] Пресет применён: 145 записей в блок-листе. Ingress Filter сейчас выключен, включите его пунктом 1, иначе списки не работают.
Если фильтр на момент применения выключен, модуль напоминает об этом жёлтой строкой: сами списки уже сохранены в панели, включить их можно в любой момент.
Свои подсети
Заголовок раздела «Свои подсети»Пункт Добавить IP/подсеть вручную принимает IPv4 и подсети с префиксом через запятую:
IP или CIDR через запятую (например 1.2.3.4, 10.0.0.0/24): 185.220.101.5, 45.155.205.233 [ ✓ ] Блок-лист обновлён, всего записей: 2. Синхронизировано на ноды.
Пункт Убрать записи вручную показывает первые 20 записей и спрашивает, что вычеркнуть. Пустой Enter с подтверждением очищает весь список, 0 отменяет:
Текущие записи (первые 20): 185.220.101.5 45.155.205.233 Записи для удаления через запятую (Enter - очистить весь список, 0 - отмена): 45.155.205.233 [ ✓ ] Блок-лист обновлён, всего записей: 1. Синхронизировано на ноды.
Удаление настроек
Заголовок раздела «Удаление настроек»Пункт Удалить настройки Ingress Filter убирает только секцию ingressFilter из общего плагина: блок-лист и метки пресетов стираются, Torrent Blocker и Egress Filter не затрагиваются.
Удалить настройки Ingress Filter из общего плагина (блок-лист и метки пресетов)? Torrent Blocker и Egress Filter не затрагиваются (y/n): y [ * ] Удаляю настройки Ingress Filter... [ ✓ ] Настройки Ingress Filter удалены из общего плагина.
Egress Filter
Заголовок раздела «Egress Filter»Фильтр блокирует исходящий трафик сервера по адресам назначения и портам. Основной сценарий: сервер взломали через украденную учётную запись, и вредоносная программа пытается уйти в частные сети или разослать спам, а двери уже закрыты.
Меню функции:
Egress Filter Egress Filter: не настроен 1.Включить Egress Filter 2.Пресеты списков 3.Добавить IP/подсеть вручную 4.Добавить порты вручную 5.Убрать записи вручную 6.Удалить настройки Egress Filter 0.Выход Выберите действие (0-6):
Когда списки уже есть, под статусом виден их размер: IP-записей: 5 | портов: 3.
Включение похоже на Ingress:
[ * ] Включаю Egress Filter... [ ✓ ] Egress Filter включён и синхронизирован на ноды.
Пресеты списков
Заголовок раздела «Пресеты списков»Пункт Пресеты списков считает пресеты прямо на этом сервере, ничего не скачивая:
Пресеты Egress 1.Частные диапазоны [установлен: 5] Внутренние сети (RFC1918, CGNAT, link-local), занятое на этом хосте пропускается автоматически 2.Почтовые порты Закрыть исходящую почту с сервера: 25, 465, 587 0.Выход Выберите действие (0-2):
-
Пресет
Частные диапазонызакрывает внутренние сети: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16 и IPv6-диапазон fc00::/7. Диапазоны, которые сам хост использует (маршруты, адреса интерфейсов, DNS-резолверы, мосты Docker, mesh-сети), автоматически пропускаются:Будет заблокировано (5): 10.0.0.0/8 192.168.0.0/16 100.64.0.0/10 169.254.0.0/16 fc00::/7 Пропущено, уже используется на хосте (1): 172.16.0.0/12 ← 172.17.0.0/16 Записать эти подсети в блок-лист исходящего? (y/n): y [ ✓ ] Пресет применён: 5 подсетей. Egress Filter сейчас выключен, включите его пунктом 1, иначе списки не работают.
Если состав подсетей на хосте изменится (появился новый мост Docker или mesh-адрес), пресет получит красную метку
установлен: 5, актуально: 4 (примените заново)и пересчитается при повторном применении. -
Пресет
Почтовые портызакрывает исходящие 25, 465 и 587: сервер перестаёт быть источником спама, обычный трафик не затрагивается:Заблокировать исходящие порты 25, 465, 587? (y/n): y [ ✓ ] Пресет применён: порты заблокированы (25, 465, 587).
Свои адреса и порты
Заголовок раздела «Свои адреса и порты»Адреса принимаются IPv4 и IPv6, с префиксом и без; порты от 1 до 65535:
IP или CIDR через запятую (IPv4/IPv6): 185.220.101.5 [ ✓ ] Списки обновлены (IP: 1, портов: 0). Синхронизировано на ноды.
Порты через запятую (1-65535): 6667, 6697 [ ✓ ] Списки обновлены (IP: 1, портов: 2). Синхронизировано на ноды.
Пункт Убрать записи вручную показывает оба списка и принимает на удаление IP и порты вперемешку. Удаление настроек работает как у Ingress: из общего плагина уходит только секция egressFilter.
Общий плагин и привязка к нодам
Заголовок раздела «Общий плагин и привязка к нодам»Несколько деталей, которые стоит знать про то, как модуль обращается с записями плагинов в панели:
-
Одна запись на всё. Плагин называется
Reverse Node Plugins, uuid сохраняется на сервере панели, поэтому переименование записи в интерфейсе панели его не теряет. -
Привязка при каждом сохранении. Сохранённый конфиг ничего не значит, пока плагин не активен на ноде. После каждого изменения модуль заново привязывает его ко всем включённым нодам и синхронизирует конфиг.
-
Чужой плагин на нодах. Если часть нод держит активным другой плагин (свой кастомный), модуль спросит, перевязать ли и их. Отказ запоминается до конца сессии: такие ноды остаются на своём плагине, запись в панели не удаляется.
На этих нодах активен другой плагин: us-nyc-03. Привязать и их к общему плагину? Их текущий плагин на них перестанет действовать (запись останется в панели) (y/n): n Оставлены на своём плагине: us-nyc-03 — общий плагин на них не действует.
-
Объединение старых записей. Записи, оставшиеся от прошлых версий скрипта, модуль при входе предлагает слить в одну: конфиги глубоко объединяются, списки адресов складываются без потерь, лишние записи удаляются.
Записи плагинов для объединения: Torrent Blocker, Egress Filter. Настройки будут слиты в «Reverse Node Plugins», остальные записи удалены, а плагин привязан ко всем включённым нодам. Объединить сейчас? (y/n): y [ * ] Объединяю плагины ноды в одну запись: Torrent Blocker, Egress Filter... [ ✓ ] Готово: один общий плагин, привязан ко всем включённым нодам.
Удаление общего плагина
Заголовок раздела «Удаление общего плагина»Пункт Удалить общий плагин (все три функции) в меню Torrent Blocker убирает запись целиком: сначала плагин отвязывается от нод (чтобы не остались висящие ссылки), затем удаляется из панели.
Удалить общий плагин из панели? Настройки Torrent Blocker, Ingress Filter и Egress Filter будут стёрты, плагин отвяжется от нод (y/n): y [ * ] Удаляю общий плагин... [ ✓ ] Плагин удалён и отвязан от нод. Активные баны истекут сами либо сбросьте их пересозданием таблиц.
Чтобы оставить часть функций, удаляйте секции по отдельности: пункты Удалить настройки Ingress Filter и Удалить настройки Egress Filter в их меню трогают только свои секции.
