🌐 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 (бесплатно)
    • После установки убедитесь, что Docker запущен (иконка 🐳 в трее)

📥 Первый запуск (установка с нуля)

Откройте терминал (Терминал на Mac, PowerShell на Windows) и выполните:

# 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

🔄 Обновление (если уже была установлена старая версия)

Если вы обновили код из репозитория, нужно пересобрать контейнер:

# 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 — если видите зелёный индикатор "Активен", значит прокси работает.

Через терминал

# Через прокси — должен показать 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:

{
  "http.proxy": "http://127.0.0.1:8082",
  "http.proxyStrictSSL": true
}

Для браузера

В настройках прокси вашего браузера укажите:

  • Тип: HTTP или SOCKS5
  • Адрес: 127.0.0.1
  • Порт: 8082

🔄 Смена сервера

Через веб-интерфейс (рекомендуется)

  1. Откройте http://localhost:3456
  2. Вставьте новую ссылку
  3. Нажмите "Применить"

Через консоль (если нужен выбор из списка)

Если у вас ссылка подписки с несколькими серверами:

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 не открывается

Причина: Контейнер не запущен.

Решение:

# Проверьте статус
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?

# Без прокси — покажет ваш домашний IP
curl https://ipinfo.io/json

# Через прокси — должен показать IP VPN-сервера
curl -x http://127.0.0.1:8082 https://ipinfo.io/json

Если IP-адреса разные — VPN работает! 🎉


🔧 Для продвинутых пользователей

Запуск с VPN-ссылкой при старте

Если хотите сразу применить ссылку при запуске (без веб-интерфейса):

VLESS_URL="vless://..." docker compose up -d

Запуск без Docker

Если вы не хотите использовать Docker:

  1. Установите sing-box
  2. Сгенерируйте конфигурацию:
    ./gen-client-from-url.sh "vless://..." client.json
    
  3. Запустите:
    sing-box run -c client.json
    

Автоматическое обновление конфигурации

Контейнер автоматически обновляет конфигурацию каждые 60 минут. Чтобы изменить интервал, добавьте в docker-compose.yml:

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

Создано для простого и безопасного доступа в интернет 🛡️

Description
No description provided
Readme 1.5 MiB
Server + Mac Latest
2026-05-19 14:48:00 +03:00
Languages
JavaScript 83.7%
CSS 8.5%
Shell 7.1%
Dockerfile 0.6%