Go to file
Petro1990 e6dc0a565d Исправление логики портов для доменов с SSL, версия 1.8.8 2026-03-14 23:23:11 +03:00
.gitignore Удаление упоминаний системных файлов из .gitignore 2026-03-14 00:22:57 +03:00
README.md rproxy v1.8.4: консолидация доменов, SSL certonly и улучшение UI в подпутях 2026-03-14 22:50:26 +03:00
S98rproxy исправление: задержка и повторы при старте + правильный Host для nginx прокси (v1.1.5) 2026-03-13 18:05:50 +03:00
install.sh Добавлена поддержка Netcraze и уточнена информация о curl в документации 2026-03-14 00:10:17 +03:00
rproxy Исправление логики портов для доменов с SSL, версия 1.8.8 2026-03-14 23:23:11 +03:00

README.md

🔄 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

📋 Основные функции меню

  1. 📋 Список сервисов: Визуальный мониторинг статуса (Online/Offline), доменов и портов.
  2. Добавить сервис: Интерактивный мастер, который поможет привязать локальный IP:порт к домену или порту на VPS.
  3. 📝 Редактировать сервис: Быстрая смена адресов или настроек без удаления туннеля. Теперь с автоматическим обновлением конфигурации на VPS.
  4. Удалить сервис: Полная очистка — удаление туннеля локально и соответствующих конфигов Nginx на сервере.
  5. ▶️/⏹️ Управление: Ручной запуск, остановка и перезапуск отдельных туннелей или всех сразу.
  6. 🔒 SSL/Certbot: Выпуск сертификатов для доменных имен в один клик.
  7. ⚙️ Настройки VPS: Управление профилями серверов, настройка SSH-ключей и очистка серверов от "фантомных" конфигураций.
  8. 🏥 Проверка (Health): Диагностика состояния Nginx и сроков действия SSL-сертификатов на удаленных серверах.

🏗 Архитектура каталогов

  • /opt/bin/rproxy — основной исполняемый файл.
  • /opt/etc/init.d/S98rproxy — системный скрипт автозапуска.
  • /opt/etc/rproxy/ — директория со всеми конфигурациями.
    • services/ — файлы настроек конкретных туннелей.
    • vps/ — профили удаленных серверов.
    • id_ed25519 — приватный ключ для связи с серверами.

🔒 Безопасность и хранение данных

  • Ключи вместо паролей: Пароль от VPS запрашивается только один раз при установке ключа. В системе он не хранится.
  • Автономность: rProxy не требует внешних облачных сервисов и работает напрямую между вашим роутером и вашим VPS.

📦 Требования и подготовка

  1. Роутер: Keenetic / Netcraze (прошивка 3.x и выше) с установленным Entware.
  2. VPS/VDS: Для работы необходим виртуальный сервер с публичным IP (рекомендуется чистая Ubuntu 22.04+ или Debian 11+). В текущих реалиях такой сервер уже есть у многих, и именно на нем rProxy настроит Nginx для приема трафика.
  3. Доменное имя:
    • Для "красивых" адресов и автоматического получения SSL-сертификатов (HTTPS) рекомендуется приобрести доменное имя и направить его на IP вашего VPS.
    • В качестве альтернативы можно воспользоваться бесплатными DDNS-провайдерами (например, DuckDNS и другие), настроив их на IP-адрес вашего сервера.

📝 Лицензия

Проект распространяется по лицензии MIT.