7.6 KiB
🔄 rProxy
Менеджер обратного прокси для роутеров Keenetic / Netcraze
Профессиональный инструмент для публикации локальных сервисов (NAS, умный дом, камеры, веб-панели) в интернет через VPS с использованием Nginx и SSH-туннелей. Управление происходит прямо из консоли роутера.
[!IMPORTANT] Проект имеет особую актуальность для владельцев роутеров сторонних производителей с портированной прошивкой KeeneticOS, так как на таких устройствах обычно отсутствует доступ к фирменному облачному сервису KeenDNS. rProxy является полноценной и более гибкой альтернативой.
[LAN сервис] ← [Keenetic] ══SSH туннель (autossh)══▶ [VPS:Nginx] → Интернет (HTTPS)
⚡ Ключевые возможности
- Автоматизация "под ключ": Скрипт самостоятельно настраивает окружение на VPS, устанавливает Nginx, Certbot и необходимые системные утилиты.
- Высокая отказоустойчивость: Использование
autosshгарантирует переподключение туннелей при обрывах связи или перезагрузке серверов. - Поддержка нескольких серверов (Multi-VPS): Вы можете распределять свои сервисы между разными VPS (например, Netherlands, Germany, Russia) и управлять ими из одного интерфейса.
- SSL "из коробки": Автоматическое получение и продление HTTPS сертификатов (Let's Encrypt) через Certbot.
- Безопасность:
- Авторизация на VPS только по современным SSH-ключам (Ed25519).
- Встроенная поддержка Basic Auth для защиты ваших сервисов дополнительным паролем на стороне Nginx.
- Использование RCI (
ndmq) для получения локального IP роутера без хранения пароля администратора.
- Продвинутое проксирование: Правильная передача заголовков (
X-Real-IP,X-Forwarded-For), поддержка WebSocket (Upgrade) и корректная обработка Cookies. - Автозапуск (Init Script): Интеграция с системой
S98rproxyдля автоматического поднятия туннелей при включении роутера с интеллектуальными повторами при сбоях.
🚀 Установка и запуск
1. Подготовка роутера
Убедитесь, что на вашем роутере установлен Entware. Основные зависимости (autossh, openssl-util) будут проверены и установлены автоматически при первом запуске. Утилита curl обычно уже присутствует в системе или в составе Entware.
2. Установка системы
Выполните команду в консоли роутера:
curl -sSL https://raw.githubusercontent.com/l-ptrol/rProxy/main/install.sh | sh
3. Запуск интерфейса
rproxy
📋 Основные функции меню
- 📋 Список сервисов: Визуальный мониторинг статуса (Online/Offline), доменов и портов.
- ➕ Добавить сервис: Интерактивный мастер, который поможет привязать локальный IP:порт к домену или порту на VPS.
- 📝 Редактировать сервис: Быстрая смена адресов или настроек без удаления туннеля. Теперь с автоматическим обновлением конфигурации на VPS.
- ❌ Удалить сервис: Полная очистка — удаление туннеля локально и соответствующих конфигов Nginx на сервере.
- ▶️/⏹️ Управление: Ручной запуск, остановка и перезапуск отдельных туннелей или всех сразу.
- 🔒 SSL/Certbot: Выпуск сертификатов для доменных имен в один клик.
- ⚙️ Настройки VPS: Управление профилями серверов, настройка SSH-ключей и очистка серверов от "фантомных" конфигураций.
- 🏥 Проверка (Health): Диагностика состояния Nginx и сроков действия SSL-сертификатов на удаленных серверах.
🏗 Архитектура каталогов
/opt/bin/rproxy— основной исполняемый файл./opt/etc/init.d/S98rproxy— системный скрипт автозапуска./opt/etc/rproxy/— директория со всеми конфигурациями.services/— файлы настроек конкретных туннелей.vps/— профили удаленных серверов.id_ed25519— приватный ключ для связи с серверами.
🔒 Безопасность и хранение данных
- Ключи вместо паролей: Пароль от VPS запрашивается только один раз при установке ключа. В системе он не хранится.
- Автономность: rProxy не требует внешних облачных сервисов и работает напрямую между вашим роутером и вашим VPS.
📦 Требования и подготовка
- Роутер: Keenetic / Netcraze (прошивка 3.x и выше) с установленным Entware.
- VPS/VDS: Для работы необходим виртуальный сервер с публичным IP (рекомендуется чистая Ubuntu 22.04+ или Debian 11+). В текущих реалиях такой сервер уже есть у многих, и именно на нем rProxy настроит Nginx для приема трафика.
- Доменное имя:
- Для "красивых" адресов и автоматического получения SSL-сертификатов (HTTPS) рекомендуется приобрести доменное имя и направить его на IP вашего VPS.
- В качестве альтернативы можно воспользоваться бесплатными DDNS-провайдерами (например, DuckDNS и другие), настроив их на IP-адрес вашего сервера.
📝 Лицензия
Проект распространяется по лицензии MIT.