7.7 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 (режим
certonly). - Безопасность:
- Авторизация на VPS только по современным SSH-ключам (Ed25519).
- Встроенная поддержка Basic Auth для защиты ваших сервисов.
- Использование RCI (
ndmq) для получения локального IP роутера.
- Гибкая публикация и мульти-пути:
- Поддержка кастомных портов (
domain.com:8443) и подпутей (domain.com/nas). - Консолидация нескольких сервисов на одном домене (один блок
serverна VPS).
- Поддержка кастомных портов (
- Продвинутое проксирование: Правильное проксирование заголовков (
X-Forwarded-Host), поддержка WebSocket и автоматическая обработка редиректов (proxy_redirect). - Автозапуск (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.