feat: Добавлен скрипт установки, документация для сервера и Docker, обновлен README.
This commit is contained in:
178
docs/DOCKER.md
Normal file
178
docs/DOCKER.md
Normal file
@@ -0,0 +1,178 @@
|
||||
# 🐳 Docker — Веб-интерфейс для управления VPN
|
||||
|
||||
> **Это продвинутый способ** установки с красивым веб-интерфейсом. Для большинства пользователей рекомендуется использовать [основной способ через PowerShell](../README.md).
|
||||
|
||||
---
|
||||
|
||||
## 📖 Что это даёт?
|
||||
|
||||
- 🌐 **Веб-интерфейс** — управление через браузер на http://localhost:3456
|
||||
- 📡 **Подписки** — автоматическое получение списка серверов
|
||||
- 🔄 **Переключение серверов** — в один клик
|
||||
- 💾 **Сохранение настроек** — URL и выбранный сервер сохраняются
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Требования
|
||||
|
||||
### Docker Desktop
|
||||
|
||||
1. Скачайте: https://www.docker.com/products/docker-desktop/
|
||||
2. Установите и запустите
|
||||
3. Убедитесь, что иконка 🐳 есть в трее (панель задач)
|
||||
|
||||
> 💡 На Windows может потребоваться WSL2. Docker Desktop предложит его установить автоматически.
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Установка
|
||||
|
||||
### Шаг 1: Откройте терминал
|
||||
|
||||
Откройте PowerShell или Командную строку и перейдите в папку проекта:
|
||||
|
||||
```powershell
|
||||
cd путь\к\папке\vpn-proxy
|
||||
```
|
||||
|
||||
### Шаг 2: Соберите контейнер
|
||||
|
||||
```powershell
|
||||
docker compose build
|
||||
```
|
||||
|
||||
Это создаст образ со всеми необходимыми компонентами. Выполняется один раз.
|
||||
|
||||
### Шаг 3: Запустите
|
||||
|
||||
```powershell
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
Флаг `-d` запускает контейнер в фоновом режиме.
|
||||
|
||||
### Шаг 4: Откройте веб-интерфейс
|
||||
|
||||
Перейдите в браузере: **http://localhost:3456**
|
||||
|
||||
---
|
||||
|
||||
## 🌐 Использование веб-интерфейса
|
||||
|
||||
### Режим подписки
|
||||
|
||||
1. Вставьте URL подписки в поле "Подписка"
|
||||
2. Нажмите **"Загрузить серверы"**
|
||||
3. Выберите сервер из списка
|
||||
4. Нажмите **"Применить"**
|
||||
|
||||
### Режим VLESS
|
||||
|
||||
1. Перейдите на вкладку "VLESS Ключ"
|
||||
2. Вставьте VLESS-ссылку (`vless://...`)
|
||||
3. Нажмите **"Применить"**
|
||||
|
||||
> 💡 Настройки сохраняются в папке `data/` и восстанавливаются при перезапуске.
|
||||
|
||||
---
|
||||
|
||||
## 🌐 Порты
|
||||
|
||||
| Порт | Назначение | URL |
|
||||
|------|------------|-----|
|
||||
| `3456` | Веб-интерфейс | http://localhost:3456 |
|
||||
| `8080` | HTTP/SOCKS5 прокси | `127.0.0.1:8080` |
|
||||
| `9090` | API управления (внутренний) | — |
|
||||
|
||||
---
|
||||
|
||||
## 📋 Управление контейнером
|
||||
|
||||
| Действие | Команда |
|
||||
|----------|---------|
|
||||
| Посмотреть статус | `docker ps` |
|
||||
| Посмотреть логи | `docker logs --tail 50 sing-proxy` |
|
||||
| Остановить | `docker compose stop` |
|
||||
| Запустить снова | `docker compose start` |
|
||||
| Перезапустить | `docker compose restart` |
|
||||
| Полностью удалить | `docker compose down` |
|
||||
| Пересобрать | `docker compose up -d --build` |
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Обновление
|
||||
|
||||
Если вы обновили код из репозитория:
|
||||
|
||||
```powershell
|
||||
# Остановить текущий контейнер
|
||||
docker compose down
|
||||
|
||||
# Пересобрать с новыми изменениями
|
||||
docker compose build --no-cache
|
||||
|
||||
# Запустить заново
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
> 💡 Подписка и настройки сохраняются в папке `data/` и не потеряются.
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Настройка приложений
|
||||
|
||||
### Для VS Code
|
||||
|
||||
```json
|
||||
{
|
||||
"http.proxy": "http://127.0.0.1:8080",
|
||||
"http.proxyStrictSSL": true
|
||||
}
|
||||
```
|
||||
|
||||
### Для браузера
|
||||
|
||||
- **Адрес**: `127.0.0.1`
|
||||
- **Порт**: `8080`
|
||||
- **Тип**: HTTP или SOCKS5
|
||||
|
||||
---
|
||||
|
||||
## ❓ Проблемы и решения
|
||||
|
||||
### Страница localhost:3456 не открывается
|
||||
|
||||
**Причина:** Контейнер не запущен.
|
||||
|
||||
```powershell
|
||||
# Проверьте статус
|
||||
docker ps
|
||||
|
||||
# Если контейнера нет — запустите
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### "Connection refused"
|
||||
|
||||
**Причина:** VPN-ссылка не применена.
|
||||
|
||||
1. Откройте http://localhost:3456
|
||||
2. Примените VLESS-ссылку или загрузите подписку
|
||||
|
||||
### Медленное подключение
|
||||
|
||||
Попробуйте другой сервер в веб-интерфейсе — некоторые серверы могут быть перегружены.
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Ограничения Docker на Windows
|
||||
|
||||
- **UDP для Discord:** Docker на Windows/macOS имеет проблемы с UDP ASSOCIATE для SOCKS5. Для Discord рекомендуется использовать [нативную установку](../README.md).
|
||||
|
||||
- **Для полной поддержки UDP** используйте [установку на Linux сервер](SERVER.md) с `network_mode: host`.
|
||||
|
||||
---
|
||||
|
||||
[← Вернуться к основной инструкции](../README.md)
|
||||
278
docs/SERVER.md
Normal file
278
docs/SERVER.md
Normal file
@@ -0,0 +1,278 @@
|
||||
# 🌍 Установка на Сервер (Linux VPS)
|
||||
|
||||
> Эта инструкция для установки прокси на удалённый сервер. После установки вы сможете подключаться к нему с любого устройства.
|
||||
|
||||
---
|
||||
|
||||
## 📖 Зачем это нужно?
|
||||
|
||||
- 🌐 **Один прокси для всех устройств** — компьютер, телефон, планшет
|
||||
- 🔒 **Работает 24/7** — не нужно держать компьютер включённым
|
||||
- 📡 **Полная поддержка UDP** — голосовые звонки и игры работают отлично
|
||||
- 🏠 **Доступ из любого места** — дома, на работе, в поездке
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Требования к серверу
|
||||
|
||||
- **ОС:** Ubuntu 20.04+, Debian 11+, или любой современный Linux
|
||||
- **Ресурсы:** Минимум 512 MB RAM, 1 CPU
|
||||
- **Порты:** 3456 (веб-интерфейс), 8080 (прокси)
|
||||
- **Доступ:** SSH подключение
|
||||
|
||||
> 💡 Подойдёт любой VPS за $3-5/месяц от DigitalOcean, Vultr, Hetzner и др.
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Установка
|
||||
|
||||
### Шаг 1: Подключитесь к серверу
|
||||
|
||||
Откройте терминал (PowerShell на Windows, Terminal на Mac/Linux):
|
||||
|
||||
```bash
|
||||
ssh root@ваш_сервер_ip
|
||||
```
|
||||
|
||||
Введите пароль когда попросят.
|
||||
|
||||
> 💡 **Совет:** Если вы на Windows и нет ssh команды, используйте PuTTY или Windows Terminal.
|
||||
|
||||
---
|
||||
|
||||
### Шаг 2: Установите Docker
|
||||
|
||||
Если Docker ещё не установлен:
|
||||
|
||||
```bash
|
||||
# Автоматическая установка Docker
|
||||
curl -fsSL https://get.docker.com | sh
|
||||
|
||||
# Проверка что Docker работает
|
||||
docker --version
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Шаг 3: Загрузите проект
|
||||
|
||||
**Вариант A: Через Git**
|
||||
|
||||
```bash
|
||||
git clone https://github.com/your-repo/vpn-proxy.git
|
||||
cd vpn-proxy
|
||||
```
|
||||
|
||||
**Вариант B: Загрузка файлов вручную**
|
||||
|
||||
Если git недоступен, скачайте ZIP архив и распакуйте на сервере.
|
||||
|
||||
---
|
||||
|
||||
### Шаг 4: Запустите контейнер
|
||||
|
||||
> ⚠️ **Важно:** Используйте `docker-compose.server.yml` — он настроен для серверов!
|
||||
|
||||
```bash
|
||||
docker compose -f docker-compose.server.yml up -d
|
||||
```
|
||||
|
||||
Это запустит контейнер с `network_mode: host`, что решает проблемы с UDP.
|
||||
|
||||
---
|
||||
|
||||
### Шаг 5: Откройте порты в файрволе
|
||||
|
||||
**Для UFW (Ubuntu/Debian):**
|
||||
|
||||
```bash
|
||||
ufw allow 3456/tcp # Веб-интерфейс
|
||||
ufw allow 8080/tcp # Прокси TCP
|
||||
ufw allow 8080/udp # Прокси UDP (для голоса/игр)
|
||||
ufw reload
|
||||
```
|
||||
|
||||
**Для firewalld (CentOS/RHEL):**
|
||||
|
||||
```bash
|
||||
firewall-cmd --permanent --add-port=3456/tcp
|
||||
firewall-cmd --permanent --add-port=8080/tcp
|
||||
firewall-cmd --permanent --add-port=8080/udp
|
||||
firewall-cmd --reload
|
||||
```
|
||||
|
||||
**Для iptables:**
|
||||
|
||||
```bash
|
||||
iptables -A INPUT -p tcp --dport 3456 -j ACCEPT
|
||||
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
|
||||
iptables -A INPUT -p udp --dport 8080 -j ACCEPT
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Шаг 6: Настройте VPN через веб-интерфейс
|
||||
|
||||
1. Откройте в браузере: `http://ваш_сервер_ip:3456`
|
||||
2. Вставьте VLESS-ссылку или URL подписки
|
||||
3. Нажмите "Применить"
|
||||
|
||||
---
|
||||
|
||||
## ✅ Проверка работы
|
||||
|
||||
На сервере:
|
||||
|
||||
```bash
|
||||
# Проверить что контейнер запущен
|
||||
docker ps
|
||||
|
||||
# Посмотреть логи
|
||||
docker logs --tail 20 sing-proxy
|
||||
```
|
||||
|
||||
С вашего компьютера:
|
||||
|
||||
```bash
|
||||
# Проверить прокси
|
||||
curl -x http://ваш_сервер_ip:8080 https://ipinfo.io/ip
|
||||
```
|
||||
|
||||
Должен показать IP VPN-сервера (не IP вашего VPS).
|
||||
|
||||
---
|
||||
|
||||
## 🖥️ Подключение с Windows
|
||||
|
||||
### Настройка в manage.ps1
|
||||
|
||||
При настройке Discord (пункт [2]) вы можете указать адрес удалённого прокси:
|
||||
|
||||
```
|
||||
Введите адрес прокси (IP:порт): ваш_сервер_ip:8080
|
||||
```
|
||||
|
||||
### Настройка в браузере/приложениях
|
||||
|
||||
- **Адрес:** `ваш_сервер_ip`
|
||||
- **Порт:** `8080`
|
||||
- **Тип:** HTTP или SOCKS5
|
||||
|
||||
---
|
||||
|
||||
## 📋 Управление
|
||||
|
||||
| Действие | Команда |
|
||||
|----------|---------|
|
||||
| Посмотреть статус | `docker ps` |
|
||||
| Логи | `docker logs --tail 50 sing-proxy` |
|
||||
| Остановить | `docker compose -f docker-compose.server.yml stop` |
|
||||
| Запустить | `docker compose -f docker-compose.server.yml start` |
|
||||
| Перезапустить | `docker compose -f docker-compose.server.yml restart` |
|
||||
| Удалить | `docker compose -f docker-compose.server.yml down` |
|
||||
|
||||
---
|
||||
|
||||
## 🔐 Рекомендации по безопасности
|
||||
|
||||
### 1. Смените стандартные порты
|
||||
|
||||
Отредактируйте `docker-compose.server.yml`:
|
||||
|
||||
```yaml
|
||||
environment:
|
||||
- PORT=54321 # Вместо 3456
|
||||
- PROXY_PORT=12345 # Вместо 8080
|
||||
```
|
||||
|
||||
### 2. Ограничьте доступ к веб-интерфейсу
|
||||
|
||||
Если веб-интерфейс нужен только для первоначальной настройки:
|
||||
|
||||
```bash
|
||||
# Закрыть веб-порт после настройки
|
||||
ufw delete allow 3456/tcp
|
||||
```
|
||||
|
||||
### 3. Используйте SSH туннель
|
||||
|
||||
Для безопасного доступа к веб-интерфейсу:
|
||||
|
||||
```bash
|
||||
ssh -L 3456:localhost:3456 root@ваш_сервер_ip
|
||||
```
|
||||
|
||||
Затем откройте http://localhost:3456 в браузере.
|
||||
|
||||
---
|
||||
|
||||
## 🔄 Обновление
|
||||
|
||||
```bash
|
||||
cd vpn-proxy
|
||||
|
||||
# Получить обновления
|
||||
git pull
|
||||
|
||||
# Пересобрать контейнер
|
||||
docker compose -f docker-compose.server.yml down
|
||||
docker compose -f docker-compose.server.yml build --no-cache
|
||||
docker compose -f docker-compose.server.yml up -d
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ❓ Проблемы и решения
|
||||
|
||||
### Порт 3456 не открывается
|
||||
|
||||
**Причина:** Файрвол блокирует подключения.
|
||||
|
||||
**Решение:** Проверьте настройки файрвола, см. Шаг 5.
|
||||
|
||||
### "Permission denied" при запуске Docker
|
||||
|
||||
**Решение:**
|
||||
|
||||
```bash
|
||||
# Добавить пользователя в группу docker
|
||||
sudo usermod -aG docker $USER
|
||||
|
||||
# Перезайти
|
||||
exit
|
||||
ssh root@ваш_сервер_ip
|
||||
```
|
||||
|
||||
### Контейнер постоянно перезапускается
|
||||
|
||||
```bash
|
||||
# Посмотреть логи ошибок
|
||||
docker logs sing-proxy
|
||||
```
|
||||
|
||||
Обычно проблема в неверной VLESS-ссылке.
|
||||
|
||||
---
|
||||
|
||||
## 📐 Изменение портов
|
||||
|
||||
По умолчанию:
|
||||
- **3456** — веб-интерфейс
|
||||
- **8080** — прокси
|
||||
|
||||
Для изменения создайте файл `.env` в папке проекта:
|
||||
|
||||
```env
|
||||
PORT=54321
|
||||
PROXY_PORT=12345
|
||||
```
|
||||
|
||||
И перезапустите:
|
||||
|
||||
```bash
|
||||
docker compose -f docker-compose.server.yml up -d
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
[← Вернуться к основной инструкции](../README.md)
|
||||
Reference in New Issue
Block a user