Упрощение интерфейса (удалены рамки) и актуализация README, версия 1.5.1
This commit is contained in:
parent
e35bcc0aed
commit
7b09d55814
49
README.md
49
README.md
|
|
@ -27,22 +27,22 @@ rproxy
|
||||||
Откроется интерактивное меню:
|
Откроется интерактивное меню:
|
||||||
|
|
||||||
```
|
```
|
||||||
╔══════════════════════════════════════════════╗
|
rProxy v1.5.1
|
||||||
║ rProxy v1.0.0 ║
|
|
||||||
╚══════════════════════════════════════════════╝
|
|
||||||
|
|
||||||
VPS: 5.104.75.50 Сервисов: 2 Онлайн: 1
|
Серверов VPS: 1 Сервисов: 2 Онлайн: 1
|
||||||
──────────────────────────────────────────────────
|
──────────────────────────────────────────────────
|
||||||
|
|
||||||
1) 📋 Список сервисов и статус
|
1) 📋 Список сервисов и статус
|
||||||
2) ➕ Добавить сервис
|
2) ➕ Добавить сервис
|
||||||
3) ❌ Удалить сервис
|
3) 📝 Редактировать сервис
|
||||||
|
4) ❌ Удалить сервис
|
||||||
──────────────────────────────────────────────────
|
──────────────────────────────────────────────────
|
||||||
4) ▶️ Запустить туннель
|
5) ▶️ Запустить туннель
|
||||||
5) ⏹️ Остановить туннель
|
6) ⏹️ Остановить туннель
|
||||||
6) 🔄 Перезапустить туннель
|
7) 🔄 Перезапустить туннель
|
||||||
──────────────────────────────────────────────────
|
──────────────────────────────────────────────────
|
||||||
7) ⚙️ Настройки VPS
|
9) ⚙️ Настройки VPS
|
||||||
|
10) 🆙 Обновить rProxy
|
||||||
0) 🚪 Выход
|
0) 🚪 Выход
|
||||||
|
|
||||||
▸ Выберите действие:
|
▸ Выберите действие:
|
||||||
|
|
@ -51,7 +51,7 @@ rproxy
|
||||||
### 3. Первый запуск
|
### 3. Первый запуск
|
||||||
|
|
||||||
При первом запуске скрипт предложит настроить подключение к VPS:
|
При первом запуске скрипт предложит настроить подключение к VPS:
|
||||||
- **IP-адрес VPS**
|
- **IP-адрес VPS** (или домен)
|
||||||
- **SSH порт** (по умолчанию 22)
|
- **SSH порт** (по умолчанию 22)
|
||||||
- **Пользователь** (по умолчанию root)
|
- **Пользователь** (по умолчанию root)
|
||||||
- **Авторизация** — SSH-ключ или пароль
|
- **Авторизация** — SSH-ключ или пароль
|
||||||
|
|
@ -69,14 +69,13 @@ rproxy
|
||||||
## 🏗 Архитектура
|
## 🏗 Архитектура
|
||||||
|
|
||||||
### На роутере (Keenetic + Entware)
|
### На роутере (Keenetic + Entware)
|
||||||
- **autossh** — устанавливает устойчивые обратные SSH-туннели до VPS
|
- **autossh** — устанавливает устойчивые обратные SSH-туннели до VPS.
|
||||||
- Каждый сервис = отдельный туннель
|
- Конфигурация: `/opt/etc/rproxy/`.
|
||||||
- Конфигурация: `/opt/etc/rproxy/`
|
- **Автозависимости**: Скрипт сам ставит `openssl-util`, `sshpass` и `curl` при первом запуске.
|
||||||
- PID-файлы: `/opt/var/run/rproxy/`
|
|
||||||
|
|
||||||
### На VPS
|
### На VPS
|
||||||
- **nginx** — принимает входящие запросы и проксирует в SSH-туннели
|
- **nginx** — принимает входящие запросы и проксирует в SSH-туннели.
|
||||||
- Конфиги сервисов: `/etc/nginx/sites-enabled/rproxy_*.conf`
|
- Автоматическая настройка окружения (установка nginx, certbot, оптимизация SSH).
|
||||||
|
|
||||||
### Файлы
|
### Файлы
|
||||||
|
|
||||||
|
|
@ -92,10 +91,22 @@ rproxy
|
||||||
|
|
||||||
## 🔒 Безопасность
|
## 🔒 Безопасность
|
||||||
|
|
||||||
- SSH-ключ и конфиг хранятся с правами 600
|
- SSH-ключ и конфиг хранятся с правами 600.
|
||||||
- Все соединения зашифрованы через SSH
|
- **Basic Auth**: Возможность защитить любой сервис паролем. Хеши паролей защищены от повреждения оболочкой.
|
||||||
|
- **SSH-ключи**: Рекомендуемый способ авторизации.
|
||||||
|
|
||||||
> **Рекомендация:** используйте авторизацию по SSH-ключу.
|
## 🔧 Возможности (v1.5.1)
|
||||||
|
|
||||||
|
- **Авто-авиатор**: Автоматическая установка всех необходимых пакетов Entware.
|
||||||
|
- **Умная авторизация**: Хранение «пароля по умолчанию» для быстрой публикации защищенных сервисов.
|
||||||
|
- **RCI/ndmq**: Локальное управление Keenetic без ввода пароля роутера.
|
||||||
|
- **SSL (HTTPS)**: Автоматическое получение сертификатов через Certbot.
|
||||||
|
- **Поддержка доменов**: Полная поддержка буквенных адресов VPS.
|
||||||
|
- **Стелс-режим**: Правильная трансляция Host-заголовков и Cookies для корректной работы веб-интерфейсов.
|
||||||
|
|
||||||
|
## 📝 Лицензия
|
||||||
|
|
||||||
|
MIT
|
||||||
|
|
||||||
## 🔧 Решение проблем
|
## 🔧 Решение проблем
|
||||||
|
|
||||||
|
|
|
||||||
6
rproxy
6
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.0"
|
VERSION="1.5.1"
|
||||||
CONF_DIR="/opt/etc/rproxy"
|
CONF_DIR="/opt/etc/rproxy"
|
||||||
CONF_FILE="$CONF_DIR/rproxy.conf"
|
CONF_FILE="$CONF_DIR/rproxy.conf"
|
||||||
SERVICES_DIR="$CONF_DIR/services"
|
SERVICES_DIR="$CONF_DIR/services"
|
||||||
|
|
@ -34,9 +34,7 @@ clear_screen() { printf "\033[2J\033[H"; }
|
||||||
|
|
||||||
draw_box() {
|
draw_box() {
|
||||||
local title="$1"
|
local title="$1"
|
||||||
printf "${CYAN}╔══════════════════════════════════════════════╗${NC}\n"
|
header "$title"
|
||||||
printf "${CYAN}║${NC} ${BOLD}%-44s${NC}${CYAN}║${NC}\n" "$title"
|
|
||||||
printf "${CYAN}╚══════════════════════════════════════════════╝${NC}\n"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
draw_separator() {
|
draw_separator() {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue