Remnawave Managment Scripts by DigneZzZ

:rocket: Remnawave Scripts v3.5.5 - Профессиональная автоматизация для управления панелями и узлами

Привет👋

Хочу поделиться с вами своим проектом - Remnawave Scripts - комплексной коллекцией профессиональных Bash-скриптов для полной автоматизации управления Remnawave Panel, RemnaNode и маскировки трафика Reality.

:new_button: Обновление v3.5.5 принесло революционные улучшения в системе восстановления, интеллектуальный мониторинг и расширенную автоматизацию!

:bullseye: Что это такое?

Это не просто скрипты “поставить и забыть” - это полноценная система корпоративного уровня со всеми необходимыми инструментами для production-развертывания:

:rocket: Remnawave Panel - Полная автоматизация

  • Полный CLI интерфейс с командами: install, up, down, restart, logs, status, edit, update, uninstall
  • Автогенерация конфигураций - .env, секреты, порты, docker-compose.yml
  • Корпоративная система бэкапов с поддержкой сжатия, планирования и миграции
  • Интеграция с Telegram для уведомлений и доставки бэкапов

:satellite: RemnaNode - Управление узлами

  • Продвинутая интеграция Xray-core с автообновлениями
  • Мониторинг в реальном времени (xray_log_out, xray_log_err)
  • Мультиархитектурная поддержка (x86_64, ARM64, ARM32, MIPS)
  • Автоматическая ротация логов с настраиваемым хранением

:performing_arts: Caddy Selfsteal - Маскировка Reality

  • Профессиональные шаблоны сайтов для камуфляжа трафика
  • 8 готовых шаблонов: социальные сети, конвертеры, игровые сайты, облачные хранилища
  • Автоматическое управление HTTPS сертификатами
  • DNS валидация с проверкой распространения

:floppy_disk: Система бэкапов корпоративного уровня - Мое любимое

Особенно горжусь системой резервного копирования, которая получила революционные обновления в v3.5.5:

:counterclockwise_arrows_button: Интеллектуальная система восстановления:

  • Автоматическая проверка совместимости версий панели и скрипта
  • Safety backup перед восстановлением с автоматическим откатом
  • Валидация целостности SQL файлов и архивов
  • Гибкие пути установки - восстановление в любую директорию
  • Режим “только БД” для быстрого восстановления данных
# Полный системный бэкап (новый унифицированный формат)
remnawave backup                    # Сжатый полный бэкап по умолчанию
remnawave backup --data-only        # Только база данных
remnawave backup --no-compress      # Без сжатия для быстрого доступа

# Восстановление с автоматическими проверками безопасности
remnawave restore --file backup.tar.gz

# Установка в кастомную директорию с новым именем
remnawave restore --file backup.tar.gz --path /root --name newpanel

# Только база данных (без конфигов)
remnawave restore --database-only --file backup.sql.gz

# Планировщик с расширенными возможностями
remnawave schedule setup           # Интерактивная настройка
remnawave schedule enable          # Активация cron задачи  
remnawave schedule test-telegram   # Проверка доставки в Telegram

Новые возможности v3.5.5:

  • Унифицированная структура - совместимость между ручными и автоматическими бэкапами
  • Версионирование - автоматическое отслеживание версий панели и скрипта
  • Метаданные - полная информация о бэкапе для безопасного восстановления
  • Детальное логирование - операции восстановления с полным аудитом

:package: Быстрый старт

Всего одна команда для установки каждого компонента:

Remnawave Panel

bash <(curl -sL https://github.com/DigneZzZ/remnawave-scripts/raw/main/remnawave.sh) @ install

RemnaNode

bash <(curl -sL https://github.com/DigneZzZ/remnawave-scripts/raw/main/remnanode.sh) @ install

Caddy Selfsteal

bash <(curl -sL https://github.com/DigneZzZ/remnawave-scripts/raw/main/selfsteal.sh) @ install

:bar_chart: Встроенный мониторинг и диагностика

Новые инструменты для production-мониторинга в v3.5.5:

# Комплексная диагностика системы
remnawave health                    # Проверка всех компонентов

# Снимок производительности в реальном времени
remnawave monitor                   # CPU, память, диск, контейнеры

# Детальная информация о статусе
remnawave status                    # Расширенная информация + URL доступа

# Интерактивное управление логами
remnawave logs                      # Меню с опциями:
  ├── Следить в реальном времени
  ├── Показать последние записи  
  ├── Логи конкретного сервиса
  └── Только ошибки

Автоматические проверки:

  • Валидация конфигурационных файлов
  • Проверка портов и сетевых конфликтов
  • Мониторинг здоровья Docker контейнеров
  • Анализ использования ресурсов

:wrench: Production-готовность

Все скрипты тестировались в production окружении:

  • Поддержка множественных ОС: Ubuntu, Debian, CentOS, AlmaLinux, Fedora, Arch Linux
  • Автоматическое управление зависимостями: Docker, Docker Compose, необходимые утилиты
  • Встроенная безопасность: привязка к localhost, автогенерация секретов, валидация
  • Мониторинг и логирование: детальные логи, метрики, интеграция с внешними системами

:glowing_star: Что делает эти скрипты особенными?

  1. Интуитивный интерфейс - работает как обычные системные команды с интерактивными меню
  2. Полная автоматизация - от установки до обслуживания с self-healing возможностями
  3. Корпоративные функции - бэкапы, мониторинг, безопасность, версионирование
  4. Активная разработка - регулярные обновления и новые функции (сейчас v3.5.5)
  5. Открытый исходный код - MIT лицензия, приветствуется участие

:fire: Новые возможности v3.5.5

Интеллектуальные функции:

  • Автоматическое обновление скрипта - проверка новых версий при update
  • Контекстная справка - remnawave <команда> --help для каждой команды
  • Умное определение терминала - адаптивный интерфейс под размер экрана
  • Расширенная валидация - проверка совместимости при восстановлении

Production-готовность:

  • Проверка системных требований при установке
  • Автоматическая установка зависимостей (Docker, Compose, утилиты)
  • Безопасные операции - safety backup + откат при ошибках
  • Детальное логирование всех операций восстановления

:counterclockwise_arrows_button: Обратная совместимость

v3.5.5 обеспечивает:

  • Полная совместимость с бэкапами предыдущих версий
  • Автоматическое обновление структуры при восстановлении
  • Миграция настроек планировщика при обновлении скрипта
  • Сохранение пользовательских конфигураций

:mobile_phone: Telegram интеграция

Настройте бота один раз и получайте:

  • Уведомления о завершении операций
  • Автоматическую доставку бэкапов
  • Статусы системы
  • Поддержку тредов для групповых чатов

:artist_palette: Реальные кейсы использования v3.5.5

Миграция между серверами:

# На старом сервере
remnawave backup                    # → remnawave_full_20250706_143521.tar.gz

# На новом сервере  
remnawave restore --file backup.tar.gz --name production
# ✅ Автоматическая проверка совместимости
# ✅ Safety backup существующих данных
# ✅ Валидация целостности
# ✅ Полное восстановление с проверкой здоровья

Планировщик с Telegram:

remnawave schedule setup            # Интерактивная настройка:
  ├── 📅 Расписание (ежедневно/еженедельно/кастом)
  ├── 🗜️ Сжатие (уровни 1-9)  
  ├── 📱 Telegram (бот + чат + тред)
  └── 🗂️ Политика хранения

remnawave schedule enable           # Активация cron задачи
remnawave schedule test-telegram    # Проверка доставки до 49MB + разбиение

:link: Ссылки

  • GitHub: https://github.com/DigneZzZ/remnawave-scripts
  • Документация: Полная документация в README
  • Issues: Приветствуются отчеты об ошибках и предложения

Буду рад обратной связи и предложениям! Если используете эти скрипты или планируете попробовать - делитесь опытом в комментариях! :rocket:

P.S. Если проект окажется полезным, буду благодарен за :star: на GitHub!

2 лайка

Статья актуализирована на версию скрипта 3.5.5

Подскажи, пожалуйста, не могу понять
Допустим панель и подписка живут на server1
Ноды расположены на server2 и server3
Self Steal нужно расположить на машине с панелью или на отдельной?
При этом на каждой ноде настраивается SNI на мой Self Steal (под)домен?

селфстил ставится всегда на ноду, максимально близко к точке подключения пользователей.
Например, server1 имеет локацию Netherlands. Присвоим ему поддомен nl.node.site.com
server2 имеет локацию Germany. Присвоим ему поддомен de.node.site.com

Присвоенные поддомены будут использоваться для выпуска сертификатов под конкретную локацию, и привязаны они будут к соответствущей машине.

Альтренативным, но более сложным вариантом, является выпуск Wildcard сертификата, например, для домена *.node.site.com на какой то центральной ноде (или на мэйн сервере) И раздача этого сертификата на все остальные сервера. Но и конфигурацию для selfsteal-caddy придется менять, указывая абсолютный путь к этому сертификату и добавляя рестарты по cronjob

1 лайк

Спасибо за ответ)

Рассматриваю возможность балансировки, хотел бы попробовать DNS round-robin как это делал с 3x
Будет ли работать оно таким образом, если у меня все ноды с будут привязаны к одному домену и в панель соответственно добавлен этот тн “общий” домен одной нодой?
Или есть возможность менее колхозной балансировки?

Не уверен, что клиент (условный Happ) в контексте подписки будет корректно балансировать через url test/tcp ping
(может эти опасения вовсе напрасны?)

1 лайк

Да такой вариант балансировки достаточный.

клиентом балансировать не нужно. Балансируй ДНС

Я правильно понимаю, что бы получить доступ к панели по домену который ввел при установке скрипта нужно установить кадди или нгинкс?

Верно
Именно так и нужно сделать

Вот бы в скрипте ещё и кадди был в комплекте с панелью, уже настроенный :slight_smile:

Есть же такие скрипты.
Я Умышленно не стал делать.
Я хотел чтобы была возможность управлять панелью на любой инфре. Задача скрипта именно в этом.
И человек сам должен выбрать какую версию он хочет

При установке remnanode с помощью данного скрипта и последующем запуске выявлена ошибка:

remnanode | 2025-08-10 13:11:20.124 ERROR [StatsService] Failed to get system stats: /xray.app.stats.command.StatsService/GetSysStats UNAVAILABLE: No connection established. Last error: connect ECONNREFUSED 127.0.0.1:61000 (2025-08-10T13:11:20.120Z) - { stack: [ null ], isOk: false, code: ‘A002’ }
remnanode | 2025-08-10 13:11:20.126 ERROR [HttpExceptionFilter] Failed to get system stats - { stack: [ null ], code: ‘A010’, path: ‘/node/stats/get-system-stats’ }
remnanode | 2025-08-10 13:11:20.226 ERROR [StatsService] Failed to get system stats: /xray.app.stats.command.StatsService/GetSysStats UNAVAILABLE: No connection established. Last error: connect ECONNREFUSED 127.0.0.1:61000 (2025-08-10T13:11:20.120Z) - { stack: [ null ], isOk: false, code: ‘A002’ }
remnanode | 2025-08-10 13:11:20.228 ERROR [HttpExceptionFilter] Failed to get system stats - { stack: [ null ], code: ‘A010’, path: ‘/node/stats/get-system-stats’ }

Как фиксить, переустановка по новой не помогает?

Какая версия панели? какая версия ноды?

Как я понял скрипт ставит актуальную версию панели, а при установке ноды выбрал xray последней версии, вроде получилось установить без ошибок после обновления системы на vps.

1 лайк

2.1.3 панель и нода, эта ошибка опять появляется при установке ноды

Конкретно тут нет проблем.

Это не ошибки, нормально состояние логов.

Есть еще что то в логах?

Нет в логах больше ни чего нету, а эта ошибка как я понял не позволяет собирать статистику с ноды, это я понял из ошибки которая паралельно появляется в логах ремны на мейне.

Ну нода то работает?)

Ты ошибки проверял в Xray?

docker exec -it remnanode tail -n +1 -f /var/log/supervisor/xray.out.log
docker exec -it remnanode tail -n +1 -f /var/log/supervisor/xray.err.log

Проверь

1 лайк

Приветствую, а как можно сделать чтобы ютуб загружался через россию (через реальный ip), а сами видео грузились через vpn который подняли в remnawave. У нас же есть серверные конфиги (которые мы настраиваем во вкладке Профили) и есть клиентские конфиги во вкладке шаблоны xray json. Как можно такое реализовать? Либо нужно каждый отдельный конфиг в Профилях настраивать с нуля на роутинг так как я описал выше?

Крайне проблемно будет разделить домены отвечающие за каждый из видов контента.
Даже если мы прокинем условные googlevideo на сторону клиента и отправим в директ, нет гарантии что у клиента он будет прогружен.
Аналогично отделить все остальные.
Ну такое себе занятие на мой взгляд )

Я тоже так думал, просто увидел на некоторых впн сервисах такое поведение когда заходишь на компе в ютуб он сверху пишет RU, рекламы нет но видео все грузится и картинки тоже. Хотя у меня странно на компе рекламы нет а на телефоне есть