Восстановление подробного 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** **Менеджер обратного прокси для роутеров Keenetic**
Публикация локальных сервисов (NAS, умный дом, камеры) в интернет через VPS с Nginx всего за пару кликов. Публикация локальных сервисов (NAS, умный дом, камеры) в интернет через VPS с Nginx всего за пару кликов.
``` ```text
[LAN сервис] ← [Keenetic] ══SSH туннель══▶ [VPS:nginx] → Интернет [LAN сервис] ← [Keenetic] ══SSH туннель══▶ [VPS:Nginx] → Интернет
``` ```
## ⚡ Особенности ## ⚡ Особенности
@ -14,52 +14,71 @@
- **Умный Basic Auth**: Защита сервисов паролем с сохранением настроек по умолчанию. - **Умный Basic Auth**: Защита сервисов паролем с сохранением настроек по умолчанию.
- **SSL "из коробки"**: Автоматическое получение и продление HTTPS сертификатов (Let's Encrypt). - **SSL "из коробки"**: Автоматическое получение и продление HTTPS сертификатов (Let's Encrypt).
- **Стелс-режим**: Проксирование Cookies и правильных заголовков для работы сложных веб-интерфейсов. - **Стелс-режим**: Проксирование 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 ```bash
curl -sSL http://5.104.75.50:3000/Petro1990/rProxy/raw/branch/main/install.sh | sh curl -sSL http://5.104.75.50:3000/Petro1990/rProxy/raw/branch/main/install.sh | sh
``` ```
### Запуск ### 2. Запуск
```bash ```bash
rproxy rproxy
``` ```
## 📋 Использование ## 📋 Использование
### Настройки авторизации (Пункт 9) ### Основное меню
В настройках VPS можно задать `DEFAULT_AUTH_USER` и `DEFAULT_AUTH_PASS`. 1. **📋 Список сервисов**: Просмотр статуса, ссылок и портов.
Если они заданы, при добавлении нового сервиса с защитой паролем скрипт предложит использовать их одним нажатием Enter. Это удобно для публикации нескольких сервисов под одной учеткой. 2. ** Добавить сервис**: Пошаговый мастер публикации нового ресурса.
3. **📝 Редактировать сервис**: Изменение параметров (SSL, порты, Auth) без удаления.
4. **❌ Удалить сервис**: Полная очистка туннеля и конфигурации на VPS.
9. **⚙️ Настройки VPS**: Управление профилями серверов и дефолтной авторизацией.
10. **🆙 Обновить rProxy**: Загрузка новой версии прямо из меню.
### Добавление сервиса (Пункт 2) ## 🏗 Архитектура
1. Выберите имя и локальный адрес (например, `192.168.1.1:80`).
2. Укажите домен (для HTTPS) или внешний порт.
3. Выберите VPS для размещения.
4. Включите защиту паролем (Basic Auth) при необходимости.
## 🏗 Структура файлов ### На роутере (Keenetic + Entware)
```text - **autossh** — поддерживает устойчивые SSH-туннели.
/opt/etc/rproxy/ - **Иннициализация**: `/opt/etc/init.d/S98rproxy` для автозапуска.
├── rproxy.conf # Глобальные настройки (email, дефолтная авторизация) - **Конфиги**: `/opt/etc/rproxy/`.
├── vps/ # Профили VPS серверов
├── services/ # Конфиги опубликованных сервисов
└── id_ed25519 # SSH ключ для доступа к VPS
```
## ⚠️ Решение проблем ### На 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 MIT

2
rproxy
View File

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