# 🌐 VPN Proxy — Домашний VPN в одной программе > **Простыми словами:** ваш компьютер подключается к удалённому VPN-серверу, и весь интернет-трафик идёт через него. Это нужно для доступа к заблокированным сайтам или для защиты данных в публичных Wi-Fi сетях. --- ## 📖 Что это такое? Это набор инструментов, который позволяет: 1. **Запустить VPN-прокси** на вашем компьютере 2. **Управлять через веб-интерфейс** — открываете в браузере, вставляете ссылку, готово! 3. **Подключить браузер или приложения** (например, VS Code) через этот прокси 4. **Автоматически обновлять конфигурацию** с вашего VPN-провайдера ### 🎯 Для кого это? - Пользователи, которым нужен VPN для работы или доступа к заблокированным ресурсам - Разработчики, которые хотят направить трафик VS Code или других программ через VPN - Люди, которые получили "ссылку подписки" от VPN-провайдера --- ## 🧩 Как это работает? ``` ┌─────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │ Ваш браузер │────▶│ VPN Proxy │────▶│ VPN Сервер │────▶ Интернет │ или VS Code │ │ (порт 8082) │ │ (в другой стране)│ └─────────────────┘ └──────────────────┘ └──────────────────┘ ▲ │ ┌──────────────┐ │ Веб-интерфейс│ │ (порт 3456) │ └──────────────┘ ``` --- ## 📦 Что внутри? | Файл | Описание простыми словами | | ------------------------ | ------------------------------------------------------------------------ | | `web_server.py` | Веб-интерфейс для управления через браузер | | `web/index.html` | Страница с красивым интерфейсом | | `client.template.json` | Шаблон настроек — как "бланк анкеты", который заполняется вашими данными | | `gen-client-from-url.sh` | Скрипт, который берёт вашу VPN-ссылку и заполняет "анкету" | | `menu.sh` | Интерактивное меню для выбора сервера из списка (консольная версия) | | `entrypoint.sh` | Главный скрипт запуска с функцией авто-обновления | | `Dockerfile.singbox` | Инструкция для создания изолированного VPN-приложения (контейнера) | | `docker-compose.yml` | Файл для удобного запуска одной командой | --- ## 🚀 Быстрый старт ### Что вам понадобится 1. **VPN-ссылка** — получите её от вашего VPN-провайдера. Бывает двух видов: - **Прямая ссылка**: начинается с `vless://...` - **Ссылка подписки**: обычный URL (начинается с `https://...`), который содержит список серверов 2. **Docker** — программа для запуска изолированных приложений - [Скачать Docker Desktop](https://www.docker.com/products/docker-desktop/) (бесплатно) - После установки убедитесь, что Docker запущен (иконка 🐳 в трее) --- ## 📥 Первый запуск (установка с нуля) Откройте терминал (Терминал на Mac, PowerShell на Windows) и выполните: ```bash # 1. Перейдите в папку с проектом cd путь/к/папке/vpn-proxy # 2. Соберите контейнер (это нужно сделать только один раз) docker compose build # 3. Запустите контейнер docker compose up -d ``` > 💡 **Что происходит:** > > - `docker compose build` — создаёт образ контейнера со всеми необходимыми программами > - `docker compose up -d` — запускает контейнер в фоновом режиме ### После запуска 1. **Откройте веб-интерфейс**: http://localhost:3456 2. **Вставьте вашу VPN-ссылку** (vless:// или https://) 3. **Нажмите "Применить"** 4. Готово! Прокси работает на порту **8082** --- ## 🔄 Обновление (если уже была установлена старая версия) Если вы обновили код из репозитория, нужно пересобрать контейнер: ```bash # 1. Перейдите в папку с проектом cd путь/к/папке/vpn-proxy # 2. Остановите текущий контейнер docker compose down # 3. Пересоберите контейнер с новыми изменениями docker compose build --no-cache # 4. Запустите заново docker compose up -d ``` > 💡 **Примечание:** после пересборки нужно снова применить VPN-ссылку через веб-интерфейс http://localhost:3456 --- ## 🌐 Порты | Порт | Для чего | URL | | ------ | ------------------------------------------------- | ----------------------- | | `3456` | **Веб-интерфейс** — управление через браузер | http://localhost:3456 | | `8082` | **Прокси** — сюда подключаются браузер/приложения | `http://127.0.0.1:8082` | | `9090` | Внутренний порт управления (обычно не нужен) | — | --- ## ✅ Проверка работы ### Через веб-интерфейс Откройте http://localhost:3456 — если видите зелёный индикатор "Активен", значит прокси работает. ### Через терминал ```bash # Через прокси — должен показать IP VPN-сервера curl -x http://127.0.0.1:8082 https://ipinfo.io/json ``` Если показывает IP другой страны — VPN работает! 🎉 --- ## ⚙️ Настройка приложений ### Для VS Code Откройте настройки (Cmd+, на Mac или Ctrl+, на Windows), найдите "proxy" и добавьте: ``` http.proxy: http://127.0.0.1:8082 ``` Или добавьте в `settings.json`: ```json { "http.proxy": "http://127.0.0.1:8082", "http.proxyStrictSSL": true } ``` ### Для браузера В настройках прокси вашего браузера укажите: - **Тип**: HTTP или SOCKS5 - **Адрес**: `127.0.0.1` - **Порт**: `8082` --- ## 🔄 Смена сервера ### Через веб-интерфейс (рекомендуется) 1. Откройте http://localhost:3456 2. Вставьте новую ссылку 3. Нажмите "Применить" ### Через консоль (если нужен выбор из списка) Если у вас ссылка подписки с несколькими серверами: ```bash docker exec -it sing-proxy ./menu.sh "https://ваша-ссылка-подписки..." ``` Появится список серверов для выбора. --- ## 📋 Управление контейнером | Действие | Команда | | ----------------------- | ---------------------------------- | | Посмотреть статус | `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` | --- ## ❓ Часто задаваемые вопросы ### Страница localhost:3456 не открывается **Причина**: Контейнер не запущен. **Решение**: ```bash # Проверьте статус docker ps # Если контейнера нет в списке — запустите docker compose up -d ``` ### "Connection refused" — соединение отклонено **Причина**: Контейнер не запущен или VPN-ссылка не применена. **Решение**: 1. Проверьте, запущен ли контейнер: `docker ps` 2. Откройте http://localhost:3456 и примените VPN-ссылку ### VS Code не подключается / очень медленно **Причина**: Системный VPN или прокси мешает. **Решение**: 1. Выключите системный VPN 2. Удалите переменные окружения `HTTP_PROXY` и `HTTPS_PROXY` (если есть) 3. Перезапустите VS Code ### Не открываются сайты / SSL ошибки **Причина**: Проблемы с настройками VPN-сервера. **Решение**: - Попробуйте другой сервер — вставьте другую ссылку в веб-интерфейсе - Проверьте, что ссылка подписки актуальна ### Как узнать, работает ли VPN? ```bash # Без прокси — покажет ваш домашний IP curl https://ipinfo.io/json # Через прокси — должен показать IP VPN-сервера curl -x http://127.0.0.1:8082 https://ipinfo.io/json ``` Если IP-адреса разные — VPN работает! 🎉 --- ## 🔧 Для продвинутых пользователей ### Запуск с VPN-ссылкой при старте Если хотите сразу применить ссылку при запуске (без веб-интерфейса): ```bash VLESS_URL="vless://..." docker compose up -d ``` ### Запуск без Docker Если вы не хотите использовать Docker: 1. Установите [sing-box](https://sing-box.sagernet.org/) 2. Сгенерируйте конфигурацию: ```bash ./gen-client-from-url.sh "vless://..." client.json ``` 3. Запустите: ```bash sing-box run -c client.json ``` ### Автоматическое обновление конфигурации Контейнер автоматически обновляет конфигурацию каждые 60 минут. Чтобы изменить интервал, добавьте в `docker-compose.yml`: ```yaml environment: UPDATE_INTERVAL: 120 # обновлять каждые 120 минут ``` --- ## 📚 Словарь терминов | Термин | Объяснение | | ------------------- | ----------------------------------------------------------------------------- | | **Прокси** | Программа-посредник, которая передаёт ваши запросы в интернет от своего имени | | **VPN** | Зашифрованный туннель между вашим компьютером и удалённым сервером | | **Docker** | Программа для запуска приложений в изолированных "контейнерах" | | **Контейнер** | Изолированное приложение со всеми необходимыми компонентами | | **VLESS** | Современный протокол VPN-соединения | | **Reality** | Технология маскировки VPN-трафика под обычный интернет-трафик | | **Ссылка подписки** | URL, который содержит список VPN-серверов и их настройки | | **Порт** | "Номер двери" для сетевых соединений. Прокси: 8082, Веб-интерфейс: 3456 | --- ## 🆘 Нужна помощь? Если что-то не работает: 1. Проверьте статус: `docker ps` 2. Проверьте логи: `docker logs --tail 100 sing-proxy` 3. Убедитесь, что VPN-ссылка актуальна 4. Попробуйте пересобрать: `docker compose down && docker compose build --no-cache && docker compose up -d` --- _Создано для простого и безопасного доступа в интернет_ 🛡️