Восстановление подробного README и обновление версии до 1.5.3
This commit is contained in:
parent
17a0dc33b2
commit
baf5dc1ed7
79
README.md
79
README.md
|
|
@ -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
2
rproxy
|
|
@ -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"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue