279 lines
7.2 KiB
Markdown
279 lines
7.2 KiB
Markdown
# 🌍 Установка на Сервер (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)
|