rProxy/README.md

85 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🔄 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.
9. **⚙️ Настройки VPS**: Управление профилями серверов и дефолтной авторизацией.
10. **🆙 Обновить rProxy**: Загрузка новой версии прямо из меню.
## 🏗 Архитектура
### На роутере (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