rProxy/README.md

66 lines
3.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.2
**Менеджер обратного прокси для роутеров Keenetic**
Публикация локальных сервисов (NAS, умный дом, камеры) в интернет через VPS с Nginx всего за пару кликов.
```
[LAN сервис] ← [Keenetic] ══SSH туннель══▶ [VPS:nginx] → Интернет
```
## ⚡ Особенности
- **Авто-авиатор**: Скрипт сам настраивает VPS, ставит Nginx и Certbot.
- **Бесшовная авторизация**: Использует `ndmq` для доступа к роутеру (пароль роутера не нужен!).
- **Умный Basic Auth**: Защита сервисов паролем с сохранением настроек по умолчанию.
- **SSL "из коробки"**: Автоматическое получение и продление HTTPS сертификатов (Let's Encrypt).
- **Стелс-режим**: Проксирование Cookies и правильных заголовков для работы сложных веб-интерфейсов.
- **Автозапуск**: Интеграция с системой инициализации роутера.
## 🚀 Установка
> Требуется [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
```
### Запуск
```bash
rproxy
```
## 📋 Использование
### Настройки авторизации (Пункт 9)
В настройках VPS можно задать `DEFAULT_AUTH_USER` и `DEFAULT_AUTH_PASS`.
Если они заданы, при добавлении нового сервиса с защитой паролем скрипт предложит использовать их одним нажатием Enter. Это удобно для публикации нескольких сервисов под одной учеткой.
### Добавление сервиса (Пункт 2)
1. Выберите имя и локальный адрес (например, `192.168.1.1:80`).
2. Укажите домен (для HTTPS) или внешний порт.
3. Выберите VPS для размещения.
4. Включите защиту паролем (Basic Auth) при необходимости.
## 🏗 Структура файлов
```text
/opt/etc/rproxy/
├── rproxy.conf # Глобальные настройки (email, дефолтная авторизация)
├── vps/ # Профили VPS серверов
├── services/ # Конфиги опубликованных сервисов
└── id_ed25519 # SSH ключ для доступа к VPS
```
## ⚠️ Решение проблем
**В: Скрипт постоянно просит установить sshpass?**
О: Это исправлено в версии 1.5.2. Скрипт теперь проверяет пакет через `opkg` и корректно настраивает `PATH`.
**В: Не работает HTTPS?**
О: Убедитесь, что ваш домен уже направлен на IP вашего VPS (A-запись). Для работы Certbot домен должен быть доступен извне.
**В: Как добавить автозапуск?**
О: Инсталлятор автоматически создает `/opt/etc/init.d/S98rproxy`, который поднимает все активные туннели при старте системы.
## 📝 Лицензия
MIT