Восстановление подробного README и обновление версии до 1.5.3

This commit is contained in:
Petro1990 2026-03-13 22:29:08 +03:00
parent 17a0dc33b2
commit baf5dc1ed7
2 changed files with 50 additions and 31 deletions

View File

@ -1,11 +1,11 @@
# 🔄 rProxy v1.5.2
# 🔄 rProxy v1.5.3
**Менеджер обратного прокси для роутеров Keenetic**
Публикация локальных сервисов (NAS, умный дом, камеры) в интернет через VPS с Nginx всего за пару кликов.
```
[LAN сервис] ← [Keenetic] ══SSH туннель══▶ [VPS:nginx] → Интернет
```text
[LAN сервис] ← [Keenetic] ══SSH туннель══▶ [VPS:Nginx] → Интернет
```
## ⚡ Особенности
@ -14,52 +14,71 @@
- **Умный Basic Auth**: Защита сервисов паролем с сохранением настроек по умолчанию.
- **SSL "из коробки"**: Автоматическое получение и продление HTTPS сертификатов (Let's Encrypt).
- **Стелс-режим**: Проксирование Cookies и правильных заголовков для работы сложных веб-интерфейсов.
- **Автозапуск**: Интеграция с системой инициализации роутера.
- **Автозапуск**: Интеграция с системой инициализации роутера (`S98rproxy`).
## 🚀 Установка
## 🚀 Быстрый старт
> Требуется [Entware](https://help.keenetic.com/hc/ru/articles/360021214160). Пакеты `autossh`, `openssl-util` и другие установятся автоматически.
### 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
```
## 📋 Использование
### Настройки авторизации (Пункт 9)
В настройках VPS можно задать `DEFAULT_AUTH_USER` и `DEFAULT_AUTH_PASS`.
Если они заданы, при добавлении нового сервиса с защитой паролем скрипт предложит использовать их одним нажатием Enter. Это удобно для публикации нескольких сервисов под одной учеткой.
### Основное меню
1. **📋 Список сервисов**: Просмотр статуса, ссылок и портов.
2. ** Добавить сервис**: Пошаговый мастер публикации нового ресурса.
3. **📝 Редактировать сервис**: Изменение параметров (SSL, порты, Auth) без удаления.
4. **❌ Удалить сервис**: Полная очистка туннеля и конфигурации на VPS.
9. **⚙️ Настройки VPS**: Управление профилями серверов и дефолтной авторизацией.
10. **🆙 Обновить rProxy**: Загрузка новой версии прямо из меню.
### Добавление сервиса (Пункт 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
```
### На роутере (Keenetic + Entware)
- **autossh** — поддерживает устойчивые SSH-туннели.
- **Иннициализация**: `/opt/etc/init.d/S98rproxy` для автозапуска.
- **Конфиги**: `/opt/etc/rproxy/`.
## ⚠️ Решение проблем
### На VPS (Debian/Ubuntu/CentOS)
- **Nginx** — принимает запросы и прокидывает их в туннель.
- **Certbot** — управляет SSL-сертификатами.
**В: Скрипт постоянно просит установить sshpass?**
О: Это исправлено в версии 1.5.2. Скрипт теперь проверяет пакет через `opkg` и корректно настраивает `PATH`.
## 🔒 Безопасность
- SSH-ключи (Ed25519) — рекомендуемый способ входа на VPS.
- Конфиденциальность: Права 600 на ключи и файлы настроек.
- Защита хешей: Пароли в `.htpasswd` защищены от раскрытия переменных оболочкой.
**В: Не работает HTTPS?**
О: Убедитесь, что ваш домен уже направлен на IP вашего VPS (A-запись). Для работы Certbot домен должен быть доступен извне.
## 🔧 Решение проблем
**В: Как добавить автозапуск?**
О: Инсталлятор автоматически создает `/opt/etc/init.d/S98rproxy`, который поднимает все активные туннели при старте системы.
### Туннель не подключается
- Проверьте статус в пункте **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

2
rproxy
View File

@ -3,7 +3,7 @@
# Публикация локальных сервисов через SSH-туннели + nginx на VPS
# http://5.104.75.50:3000/Petro1990/rProxy
VERSION="1.5.2"
VERSION="1.5.3"
export PATH="/opt/bin:/opt/sbin:$PATH"
CONF_DIR="/opt/etc/rproxy"
CONF_FILE="$CONF_DIR/rproxy.conf"