feat: Добавлен скрипт установки, документация для сервера и Docker, обновлен README.
This commit is contained in:
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