73 lines
6.3 KiB
Markdown
73 lines
6.3 KiB
Markdown
# 🔄 rProxy
|
||
|
||
**Менеджер обратного прокси для роутеров Keenetic / Netcraze**
|
||
|
||
Профессиональный инструмент для публикации локальных сервисов (NAS, умный дом, камеры, веб-панели) в интернет через VPS с использованием Nginx и SSH-туннелей. Управление происходит прямо из консоли роутера.
|
||
|
||
```text
|
||
[LAN сервис] ← [Keenetic] ══SSH туннель (autossh)══▶ [VPS:Nginx] → Интернет (HTTPS)
|
||
```
|
||
|
||
## ⚡ Ключевые возможности
|
||
|
||
- **Автоматизация "под ключ"**: Скрипт самостоятельно настраивает окружение на VPS, устанавливает Nginx, Certbot и необходимые системные утилиты.
|
||
- **Высокая отказоустойчивость**: Использование `autossh` гарантирует переподключение туннелей при обрывах связи или перезагрузке серверов.
|
||
- **Поддержка нескольких серверов (Multi-VPS)**: Вы можете распределять свои сервисы между разными VPS (например, Netherlands, Germany, Russia) и управлять ими из одного интерфейса.
|
||
- **SSL "из коробки"**: Автоматическое получение и продление HTTPS сертификатов (Let's Encrypt) через Certbot.
|
||
- **Безопасность**:
|
||
- Авторизация на VPS только по современным SSH-ключам (Ed25519).
|
||
- Встроенная поддержка Basic Auth для защиты ваших сервисов дополнительным паролем на стороне Nginx.
|
||
- Использование RCI (`ndmq`) для получения локального IP роутера без хранения пароля администратора.
|
||
- **Продвинутое проксирование**: Правильная передача заголовков (`X-Real-IP`, `X-Forwarded-For`), поддержка WebSocket (Upgrade) и корректная обработка Cookies.
|
||
- **Автозапуск (Init Script)**: Интеграция с системой `S98rproxy` для автоматического поднятия туннелей при включении роутера с интеллектуальными повторами при сбоях.
|
||
|
||
## 🚀 Установка и запуск
|
||
|
||
### 1. Подготовка роутера
|
||
Убедитесь, что на вашем роутере установлен [Entware](https://help.keenetic.com/hc/ru/articles/360021214160). Основные зависимости (`autossh`, `openssl-util`) будут проверены и установлены автоматически при первом запуске. Утилита `curl` обычно уже присутствует в системе или в составе Entware.
|
||
|
||
### 2. Установка системы
|
||
Выполните команду в консоли роутера:
|
||
```bash
|
||
curl -sSL https://raw.githubusercontent.com/l-ptrol/rProxy/main/install.sh | sh
|
||
```
|
||
|
||
### 3. Запуск интерфейса
|
||
```bash
|
||
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.
|
||
|
||
## 📦 Требования
|
||
|
||
- **Роутер**: Keenetic / Netcraze (прошивка 3.x и выше) с установленным Entware.
|
||
- **Сервер**: VPS/VDS с публичным IP (рекомендуется чистая Ubuntu 22.04+ или Debian 11+).
|
||
|
||
## 📝 Лицензия
|
||
|
||
Проект распространяется по лицензии MIT.
|