# 🔄 rProxy v1.5.3 **Менеджер обратного прокси для роутеров Keenetic** Публикация локальных сервисов (NAS, умный дом, камеры) в интернет через VPS с Nginx всего за пару кликов. ```text [LAN сервис] ← [Keenetic] ══SSH туннель══▶ [VPS:Nginx] → Интернет ``` ## ⚡ Особенности - **Авто-авиатор**: Скрипт сам настраивает VPS, ставит Nginx и Certbot. - **Бесшовная авторизация**: Использует `ndmq` для доступа к роутеру (пароль роутера не нужен!). - **Умный Basic Auth**: Защита сервисов паролем с сохранением настроек по умолчанию. - **SSL "из коробки"**: Автоматическое получение и продление HTTPS сертификатов (Let's Encrypt). - **Стелс-режим**: Проксирование Cookies и правильных заголовков для работы сложных веб-интерфейсов. - **Автозапуск**: Интеграция с системой инициализации роутера (`S98rproxy`). ## 🚀 Быстрый старт ### 1. Установка (на роутере Keenetic) > Требуется [Entware](https://help.keenetic.com/hc/ru/articles/360021214160). Пакеты `autossh`, `openssl-util` и другие установятся автоматически при первом запуске. ```bash curl -sSL http://5.104.75.50:3000/Petro1990/rProxy/raw/branch/main/install.sh | sh ``` ### 2. Запуск ```bash rproxy ``` ## 📋 Использование ### Основное меню 1. **📋 Список сервисов**: Статус, внешние ссылки и порты всех туннелей. 2. **➕ Добавить сервис**: Пошаговый мастер публикации нового локального ресурса. 3. **📝 Редактировать сервис**: Изменение SSL, портов и Auth без пересоздания. 4. **❌ Удалить сервис**: Удаление туннеля и его конфигурации с VPS. 5. **▶️ Запустить туннель**: Ручной запуск выбранного сервиса. 6. **⏹️ Остановить туннель**: Остановка активного туннеля. 7. **🔄 Перезапустить все**: Массовый рестарт туннелей (полезно при смене IP). 8. **🔒 SSL (Certbot)**: Получение или обновление HTTPS сертификатов. 9. **⚙️ Настройки VPS**: Управление серверами и данными авторизации. 10. **🚀 Обновить rProxy**: Загрузка последней версии скрипта. 11. **🏥 Проверка VPS**: Диагностика состояния Nginx и SSH на сервере. 0. **🚪 Выход**: Завершение работы. ## 🏗 Архитектура ### На роутере (Keenetic + Entware) - **autossh** — поддерживает устойчивые SSH-туннели. - **Иннициализация**: `/opt/etc/init.d/S98rproxy` для автозапуска. - **Конфиги**: `/opt/etc/rproxy/`. ### На VPS (Debian/Ubuntu/CentOS) - **Nginx** — принимает запросы и прокидывает их в туннель. - **Certbot** — управляет SSL-сертификатами. ## 🔒 Безопасность - SSH-ключи (Ed25519) — рекомендуемый способ входа на VPS. - Конфиденциальность: Права 600 на ключи и файлы настроек. - Защита хешей: Пароли в `.htpasswd` защищены от раскрытия переменных оболочкой. ## 🔧 Решение проблем ### Туннель не подключается - Проверьте статус в пункте **1**. - Попробуйте **Перезапустить (пункт 7)**. - Проверьте доступность VPS: `ping `. ### Не работает HTTPS - Убедитесь, что домен направлен на IP VPS (A-запись). - Проверьте лог Nginx на VPS: `tail -f /var/log/nginx/error.log`. ## 📦 Требования - **Keenetic** с прошивкой 3.x+ и Entware. - **VPS** с публичным IP (рекомендуется чистая Ubuntu/Debian). - **sshpass** (ставится автоматически, если нужен вход по паролю). ## ❓ FAQ **В: Как работает "авто-установка" зависимостей?** О: В v1.5.2+ скрипт при старте проверяет наличие `openssl-util`, `curl` и `sshpass`. Если их нет, он сам делает `opkg update` и устанавливает их. **В: Что такое "Стелс-режим"?** О: Это набор настроек Nginx, которые передают заголовок `Host` и `Upgrade`, позволяя работать WebSockets и сложным админкам. ## 📝 Лицензия MIT