|
|
||
|---|---|---|
| .gitignore | ||
| README.md | ||
| S98rproxy | ||
| install.sh | ||
| rproxy | ||
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
📋 Использование
Основное меню
- 📋 Список сервисов: Статус, внешние ссылки и порты всех туннелей.
- ➕ Добавить сервис: Пошаговый мастер публикации нового локального ресурса.
- 📝 Редактировать сервис: Изменение SSL, портов и Auth без пересоздания.
- ❌ Удалить сервис: Удаление туннеля и его конфигурации с VPS.
- ▶️ Запустить туннель: Ручной запуск выбранного сервиса.
- ⏹️ Остановить туннель: Остановка активного туннеля.
- 🔄 Перезапустить все: Массовый рестарт туннелей (полезно при смене IP).
- 🔒 SSL (Certbot): Получение или обновление HTTPS сертификатов.
- ⚙️ Настройки VPS: Управление серверами и данными авторизации.
- 🚀 Обновить rProxy: Загрузка последней версии скрипта.
- 🏥 Проверка VPS: Диагностика состояния Nginx и SSH на сервере.
- 🚪 Выход: Завершение работы.
🏗 Архитектура
На роутере (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