rProxy/README.md

75 lines
4.4 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.6.0
**Менеджер обратного прокси для роутеров Keenetic**
Публикация локальных сервисов (NAS, умный дом, камеры) в интернет через VPS с Nginx всего за пару кликов.
```text
[LAN сервис] ← [Keenetic] ══SSH туннель══▶ [VPS:Nginx] → Интернет
```
## ⚡ Особенности
- **Авто-авиатор**: Скрипт сам настраивает VPS, ставит Nginx и Certbot.
- **Безопасность**: Используется только авторизация по SSH-ключам (Ed25519).
- **Бесшовная авторизация**: Использует `ndmq` для доступа к роутеру (пароль роутера не нужен!).
- **Умный Basic Auth**: Защита сервисов паролем с сохранением настроек по умолчанию.
- **SSL "из коробки"**: Автоматическое получение и продление HTTPS сертификатов (Let's Encrypt).
- **Стелс-режим**: Проксирование Cookies и правильных заголовков для работы сложных веб-интерфейсов.
- **Автозапуск**: Интеграция с системой инициализации роутера (`S98rproxy`).
## 🚀 Быстрый старт
### 1. Установка (на роутере Keenetic)
> Требуется [Entware](https://help.keenetic.com/hc/ru/articles/360021214160). Пакеты `autossh`, `openssl-util` и `curl` установятся автоматически при первом запуске.
```bash
curl -sSL http://5.104.75.50:3000/Petro1990/rProxy/raw/branch/main/install.sh | sh
```
### 2. Запуск
```bash
rproxy
```
## 📋 Использование
### Настройка VPS (Пункт 9)
Для работы rProxy обязателен доступ к VPS по SSH-ключу.
При добавлении сервера скрипт:
1. Попросит IP, порт и пользователя.
2. Создаст пару ключей Ed25519 (если они еще не созданы).
3. **Один раз** попросит пароль VPS для копирования публичного ключа на сервер.
После этого пароль больше никогда не потребуется и не будет храниться в системе.
### Основное меню
1. **📋 Список сервисов**: Статус, внешние ссылки и порты всех туннелей.
2. ** Добавить сервис**: Пошаговый мастер публикации нового локального ресурса.
3. **📝 Редактировать сервис**: Изменение SSL, портов и Auth без пересоздания.
4. **❌ Удалить сервис**: Удаление туннеля и его конфигурации с VPS.
...
10. **🚀 Обновить rProxy**: Загрузка последней версии скрипта.
11. **🏥 Проверка 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.
- **Защита хешей**: Пароли Basic Auth в `.htpasswd` защищены от раскрытия переменных оболочкой.
## 📦 Требования
- **Keenetic** с прошивкой 3.x+ и Entware.
- **VPS** с публичным IP (рекомендуется чистая Ubuntu/Debian).
## 📝 Лицензия
MIT