91 lines
5.3 KiB
Markdown
91 lines
5.3 KiB
Markdown
# 🔄 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 <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
|