Go to file
Petro1990 23df39d38d Исправлена циклическая установка зависимостей (v1.5.5) 2026-03-13 22:32:46 +03:00
.gitignore Исключение GEMINI.md из отслеживания и обновление .gitignore 2026-03-13 22:18:50 +03:00
README.md Актуализация пунктов меню в README и обновление до 1.5.4 2026-03-13 22:30:29 +03:00
S98rproxy исправление: задержка и повторы при старте + правильный Host для nginx прокси (v1.1.5) 2026-03-13 18:05:50 +03:00
install.sh исправление: переход на ключи ed25519 и добавление openssh-keygen в зависимости для обхода ошибки libcrypto 2026-03-13 14:50:09 +03:00
rproxy Исправлена циклическая установка зависимостей (v1.5.5) 2026-03-13 22:32:46 +03:00

README.md

🔄 rProxy v1.5.3

Менеджер обратного прокси для роутеров Keenetic

Публикация локальных сервисов (NAS, умный дом, камеры) в интернет через VPS с Nginx всего за пару кликов.

[LAN сервис] ← [Keenetic] ══SSH туннель══▶ [VPS:Nginx] → Интернет

Особенности

  • Авто-авиатор: Скрипт сам настраивает VPS, ставит Nginx и Certbot.
  • Бесшовная авторизация: Использует ndmq для доступа к роутеру (пароль роутера не нужен!).
  • Умный Basic Auth: Защита сервисов паролем с сохранением настроек по умолчанию.
  • SSL "из коробки": Автоматическое получение и продление HTTPS сертификатов (Let's Encrypt).
  • Стелс-режим: Проксирование Cookies и правильных заголовков для работы сложных веб-интерфейсов.
  • Автозапуск: Интеграция с системой инициализации роутера (S98rproxy).

🚀 Быстрый старт

1. Установка (на роутере Keenetic)

Требуется Entware. Пакеты autossh, openssl-util и другие установятся автоматически при первом запуске.

curl -sSL http://5.104.75.50:3000/Petro1990/rProxy/raw/branch/main/install.sh | sh

2. Запуск

rproxy

📋 Использование

Основное меню

  1. 📋 Список сервисов: Статус, внешние ссылки и порты всех туннелей.
  2. Добавить сервис: Пошаговый мастер публикации нового локального ресурса.
  3. 📝 Редактировать сервис: Изменение SSL, портов и Auth без пересоздания.
  4. Удалить сервис: Удаление туннеля и его конфигурации с VPS.
  5. ▶️ Запустить туннель: Ручной запуск выбранного сервиса.
  6. ⏹️ Остановить туннель: Остановка активного туннеля.
  7. 🔄 Перезапустить все: Массовый рестарт туннелей (полезно при смене IP).
  8. 🔒 SSL (Certbot): Получение или обновление HTTPS сертификатов.
  9. ⚙️ Настройки VPS: Управление серверами и данными авторизации.
  10. 🚀 Обновить rProxy: Загрузка последней версии скрипта.
  11. 🏥 Проверка VPS: Диагностика состояния Nginx и SSH на сервере.
  12. 🚪 Выход: Завершение работы.

🏗 Архитектура

На роутере (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 <IP_VPS>.

Не работает 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