364 lines
15 KiB
Markdown
364 lines
15 KiB
Markdown
# 🌐 VPN Proxy — Домашний VPN в одной программе
|
||
|
||
> **Простыми словами:** ваш компьютер подключается к удалённому VPN-серверу, и весь интернет-трафик идёт через него. Это нужно для доступа к заблокированным сайтам или для защиты данных в публичных Wi-Fi сетях.
|
||
|
||
---
|
||
|
||
## 📖 Что это такое?
|
||
|
||
Это набор инструментов, который позволяет:
|
||
|
||
1. **Запустить VPN-прокси** на вашем компьютере
|
||
2. **Управлять через удобное меню** — всё настраивается автоматически
|
||
3. **Подключить браузер или приложения** (например, VS Code, Discord) через этот прокси
|
||
4. **Работает с UDP** — голосовые звонки и игры тоже работают!
|
||
|
||
### 🎯 Для кого это?
|
||
|
||
- Пользователи, которым нужен VPN для работы или доступа к заблокированным ресурсам
|
||
- Разработчики, которые хотят направить трафик VS Code или других программ через VPN
|
||
- Геймеры, которым нужно запустить игры или Discord через VPN
|
||
- Люди, которые получили VLESS ссылку от VPN-провайдера
|
||
|
||
---
|
||
|
||
## 🧩 Как это работает?
|
||
|
||
```
|
||
┌─────────────────┐ ┌──────────────────┐ ┌──────────────────┐
|
||
│ Ваш браузер │────▶│ VPN Proxy │────▶│ VPN Сервер │────▶ Интернет
|
||
│ или Discord │ │ (порт 1080) │ │ (в другой стране)│
|
||
└─────────────────┘ └──────────────────┘ └──────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 🔧 Перед началом: Требования
|
||
|
||
### ✅ PowerShell 7 (Обязательно!)
|
||
|
||
> ⚠️ **Важно:** Скрипты требуют PowerShell 7. Стандартный Windows PowerShell 5.1 **не подойдёт!**
|
||
|
||
#### Проверьте вашу версию
|
||
|
||
Откройте любой PowerShell и выполните:
|
||
|
||
```powershell
|
||
$PSVersionTable.PSVersion.Major
|
||
```
|
||
|
||
- Если результат **7 или выше** — всё хорошо, переходите к установке ✅
|
||
- Если **5 или ниже** — нужно установить PowerShell 7 👇
|
||
|
||
#### Установка PowerShell 7
|
||
|
||
**Способ 1: Через winget (самый простой)**
|
||
|
||
Откройте обычный PowerShell или Командную строку и выполните:
|
||
|
||
```powershell
|
||
winget install Microsoft.PowerShell
|
||
```
|
||
|
||
После установки закройте окно и откройте **PowerShell 7** (он появится в меню Пуск).
|
||
|
||
**Способ 2: Скачать вручную**
|
||
|
||
1. Перейдите: https://github.com/PowerShell/PowerShell/releases/latest
|
||
2. Скачайте файл `PowerShell-7.x.x-win-x64.msi` (где x.x.x — версия)
|
||
3. Запустите установщик и следуйте инструкциям
|
||
4. После установки используйте **PowerShell 7** из меню Пуск
|
||
|
||
> 💡 **Как отличить?** PowerShell 7 имеет чёрный фон и надпись "pwsh" или "PowerShell 7". Старый PowerShell — синий фон.
|
||
|
||
---
|
||
|
||
### ✅ URL Подписки или VLESS-ссылка
|
||
|
||
Получите от вашего VPN-провайдера:
|
||
|
||
- **Подписку**: URL, который начинается с `http://` или `https://`
|
||
- **VLESS-ссылку**: начинается с `vless://...`
|
||
|
||
---
|
||
|
||
## 🚀 Установка на Windows
|
||
|
||
### ⚡ Быстрая установка (Одной командой)
|
||
|
||
Самый быстрый способ — использовать наш автоматический установщик. Он сам скачает проект и распакует его в `C:\Tools\vpn-proxy`.
|
||
|
||
1. Откройте **PowerShell 7** от имени **Администратора**
|
||
2. Скопируйте и вставьте команду:
|
||
|
||
```powershell
|
||
Set-ExecutionPolicy RemoteSigned -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iwr https://git.dokops.ru/dokril/vpn-proxy/raw/branch/master/install.ps1 | iex
|
||
```
|
||
|
||
> 💡 Если команда выдаст ошибку 404, попробуйте заменить `master` на `main` в ссылке, или используйте ручную установку ниже.
|
||
|
||
---
|
||
|
||
### 📦 Ручная установка (если авто-установка не работает)
|
||
|
||
Если вы предпочитаете всё делать сами:
|
||
|
||
#### Шаг 1: Скачайте проект
|
||
|
||
Мы рекомендуем использовать папку `C:\Tools`.
|
||
|
||
```powershell
|
||
# 1. Создаем папку и переходим
|
||
New-Item -ItemType Directory -Force -Path "C:\Tools" | Out-Null
|
||
cd C:\Tools
|
||
|
||
# 2. Клонируем или скачиваем архив
|
||
git clone https://git.dokops.ru/dokril/vpn-proxy
|
||
|
||
# (Или скачайте ZIP вручную и распакуйте в C:\Tools\vpn-proxy)
|
||
```
|
||
|
||
#### Шаг 2: Запустите
|
||
|
||
```powershell
|
||
cd C:\Tools\vpn-proxy
|
||
.\manage.ps1
|
||
```
|
||
|
||
### Шаг 3: Выберите пункт [1] — VPN Клиент
|
||
|
||
```
|
||
[1] 📦 VPN Клиент (Sing-box) [НЕ УСТАНОВЛЕН]
|
||
Основной способ. Поддерживает UDP и игры.
|
||
|
||
[2] 🎮 Настройка Discord/Vesktop [НЕ АКТИВЕН]
|
||
Маршрутизация приложений через прокси.
|
||
|
||
---------------------------------------
|
||
[3] 🔄 Обновить статус
|
||
[U] ❌ Удалить всё (Uninstall)
|
||
[q] Выход
|
||
|
||
👉 Ваш выбор: 1
|
||
```
|
||
|
||
### Шаг 4: Введите VLESS-ссылку или URL подписки
|
||
|
||
Скрипт попросит ввести ссылку. Вставьте и нажмите Enter.
|
||
|
||
**Готово!** 🎉 Прокси запущен на `127.0.0.1:1080`
|
||
|
||
### 📂 Где всё хранится?
|
||
|
||
Всё организовано в папке `C:\Tools`:
|
||
|
||
1. **Сам проект:** `C:\Tools\vpn-proxy`
|
||
- `scripts/` — Скрипты управления (PowerShell)
|
||
- `web/` — Веб-интерфейс (для Docker/Python запуска)
|
||
- `docker/` — Конфигурация контейнеров
|
||
2. **Sing-box (VPN клиент):** `C:\Tools\sing-box`
|
||
- Здесь лежит `config.json` с вашими настройками и сам исполняемый файл
|
||
3. **ProxiFyre (для Discord):** `C:\Program Files\ProxiFyre` (системная служба)
|
||
|
||
---
|
||
|
||
## ✅ Проверка работы
|
||
|
||
После установки меню покажет статус и адреса подключения:
|
||
|
||
```
|
||
[1] 📦 VPN Клиент (Sing-box) [РАБОТАЕТ]
|
||
Основной способ. Поддерживает UDP и игры.
|
||
|
||
📡 ПОДКЛЮЧЕНИЕ К ПРОКСИ
|
||
─────────────────────────────
|
||
Локально: 127.0.0.1:1080
|
||
Из сети:
|
||
192.168.1.100:1080
|
||
```
|
||
|
||
### Проверка через терминал
|
||
|
||
```powershell
|
||
# Без прокси — покажет ваш домашний IP
|
||
Invoke-WebRequest -Uri "https://ipinfo.io/ip" | Select-Object -ExpandProperty Content
|
||
|
||
# Через прокси — должен показать IP VPN-сервера
|
||
Invoke-WebRequest -Proxy "http://127.0.0.1:1080" -Uri "https://ipinfo.io/ip" | Select-Object -ExpandProperty Content
|
||
```
|
||
|
||
Если IP-адреса разные — VPN работает! 🎉
|
||
|
||
---
|
||
|
||
## 🎮 Настройка Discord / Vesktop
|
||
|
||
Discord не поддерживает системные настройки прокси, поэтому нужна дополнительная настройка.
|
||
|
||
### Требования
|
||
|
||
- ✅ Установленный VPN клиент (пункт [1] в меню)
|
||
- ✅ VPN клиент должен быть запущен (статус "РАБОТАЕТ")
|
||
|
||
### Установка
|
||
|
||
1. Запустите `.\manage.ps1`
|
||
2. Выберите пункт **[2] — Настройка Discord/Vesktop**
|
||
3. Выберите какое приложение настроить:
|
||
- Discord
|
||
- Vesktop
|
||
- Оба
|
||
|
||
**Что устанавливается:**
|
||
|
||
- Windows Packet Filter — драйвер для перехвата трафика
|
||
- ProxiFyre — служба, которая направляет трафик Discord через прокси
|
||
|
||
После установки Discord/Vesktop будут автоматически работать через VPN!
|
||
|
||
---
|
||
|
||
## ⚙️ Настройка приложений
|
||
|
||
### Для VS Code
|
||
|
||
Откройте настройки (Ctrl + ,), найдите "proxy" и добавьте:
|
||
|
||
```
|
||
http.proxy: http://127.0.0.1:1080
|
||
```
|
||
|
||
Или добавьте в `settings.json`:
|
||
|
||
```json
|
||
{
|
||
"http.proxy": "http://127.0.0.1:1080",
|
||
"http.proxyStrictSSL": true
|
||
}
|
||
```
|
||
|
||
### Для браузера
|
||
|
||
В настройках прокси вашего браузера укажите:
|
||
|
||
- **Тип**: HTTP или SOCKS5
|
||
- **Адрес**: `127.0.0.1`
|
||
- **Порт**: `1080`
|
||
|
||
> 💡 **Совет:** Используйте расширение [Proxy SwitchyOmega](https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif) для удобного переключения прокси в Chrome.
|
||
|
||
### Для других программ
|
||
|
||
Укажите SOCKS5 прокси: `127.0.0.1:1080`
|
||
|
||
---
|
||
|
||
## 📋 Управление
|
||
|
||
При повторном запуске `.\manage.ps1` скрипт покажет меню управления:
|
||
|
||
| Действие | Как сделать |
|
||
| ----------------- | ------------------------------------ |
|
||
| Посмотреть статус | Запустить `.\manage.ps1` |
|
||
| Сменить сервер | Пункт [1] → "Сменить VLESS/Подписку" |
|
||
| Перезапустить | Пункт [1] → "Перезапустить" |
|
||
| Остановить | Пункт [1] → "Остановить" |
|
||
| Полностью удалить | Пункт [U] |
|
||
|
||
---
|
||
|
||
## 🌍 Подключение из локальной сети
|
||
|
||
Если вы хотите использовать прокси с других устройств (телефон, планшет):
|
||
|
||
1. Посмотрите IP-адрес в меню (раздел "Из сети:")
|
||
2. На другом устройстве настройте прокси: `IP_ВАШЕГО_ПК:1080`
|
||
|
||
Например: `192.168.1.100:1080`
|
||
|
||
---
|
||
|
||
## ❓ Часто задаваемые вопросы
|
||
|
||
### Ошибка "Файл не может быть загружен, так как выполнение сценариев отключено"
|
||
|
||
**Решение:** Включите выполнение скриптов:
|
||
|
||
```powershell
|
||
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
|
||
```
|
||
|
||
### Ошибка при запуске — непонятные символы или синтаксис
|
||
|
||
**Причина:** Вы используете старый PowerShell 5.1
|
||
|
||
**Решение:** Установите PowerShell 7 (см. раздел "Перед началом")
|
||
|
||
### Discord не подключается к голосовым каналам
|
||
|
||
**Причина:** ProxiFyre не запущен или VPN клиент остановлен
|
||
|
||
**Решение:**
|
||
|
||
1. Запустите `.\manage.ps1`
|
||
2. Убедитесь что пункт [1] показывает "РАБОТАЕТ"
|
||
3. Убедитесь что пункт [2] показывает "АКТИВЕН"
|
||
|
||
### Как узнать, работает ли VPN?
|
||
|
||
1. Откройте https://ipinfo.io в браузере — это ваш реальный IP
|
||
2. Настройте прокси в браузере
|
||
3. Откройте https://ipinfo.io снова — должен показать другой IP
|
||
|
||
---
|
||
|
||
## 🔧 Продвинутые варианты
|
||
|
||
### Docker с веб-интерфейсом
|
||
|
||
Если вы предпочитаете управлять через браузер с красивым интерфейсом:
|
||
|
||
> 💡 **Порты Docker версии:**
|
||
>
|
||
> - **Веб-интерфейс:** `http://localhost:3456`
|
||
> - **Прокси:** `127.0.0.1:8080` (обратите внимание, отличается от нативной версии!)
|
||
|
||
> ⚠️ **Внимание:** В этом режиме **Discord работать не будет**!
|
||
> Docker на Windows не поддерживает UDP-проксирование, которое необходимо для голосовых чатов. Если вам нужен рабочий Discord — используйте **основной способ** (пункт [1] в меню).
|
||
|
||
📖 **[Инструкция по Docker](docs/DOCKER.md)**
|
||
|
||
### Установка на удалённый сервер (VPS)
|
||
|
||
Если вы хотите развернуть прокси на своём сервере в другой стране:
|
||
|
||
📖 **[Инструкция по установке на сервер](docs/SERVER.md)**
|
||
|
||
---
|
||
|
||
## 📚 Словарь терминов
|
||
|
||
| Термин | Объяснение |
|
||
| ------------ | ----------------------------------------------------------------------------- |
|
||
| **Прокси** | Программа-посредник, которая передаёт ваши запросы в интернет от своего имени |
|
||
| **VPN** | Зашифрованный туннель между вашим компьютером и удалённым сервером |
|
||
| **VLESS** | Современный протокол VPN-соединения |
|
||
| **sing-box** | Программа-клиент для подключения к VPN |
|
||
| **SOCKS5** | Тип прокси, поддерживающий любой трафик (включая UDP для игр) |
|
||
| **Порт** | "Номер двери" для сетевых соединений |
|
||
|
||
---
|
||
|
||
## 🆘 Нужна помощь?
|
||
|
||
Если что-то не работает:
|
||
|
||
1. Убедитесь что используете **PowerShell 7**
|
||
2. Запустите от имени **Администратора**
|
||
3. Проверьте статус в главном меню
|
||
4. Попробуйте переустановить: пункт [U], затем пункт [1]
|
||
|
||
---
|
||
|
||
_Создано для простого и безопасного доступа в интернет_ 🛡️
|