VPN Client (Go)

VPN клиент на Golang с поддержкой VLESS протокола и подписок.

🚀 Возможности

  • Поддержка WireGuard
  • Поддержка VLESS протокола через Xray
  • Управление подписками
  • Автоматическое обновление конфигураций из подписок
  • Тестирование серверов (ping)
  • Детальное логирование
  • Статистика трафика для WireGuard
  • Кроссплатформенность (Windows, Linux, macOS)

Требования

  • Go 1.21 или выше
  • Xray-core (автоматически загружается и используется из папки xray)
  • WireGuard (для Windows: https://www.wireguard.com/install/, для Linux: apt install wireguard или yum install wireguard-tools)

Установка

Инициализация зависимостей

# Windows
init_gui.bat

# Linux/macOS
chmod +x init_gui.sh
./init_gui.sh

Сборка GUI версии

# Windows
build_gui.bat

# Linux/macOS
chmod +x build_gui.sh
./build_gui.sh

Сборка CLI версии (опционально)

# Windows
build.bat

# Linux/macOS
chmod +x build.sh
./build.sh

Использование

Запуск GUI (по умолчанию)

# Windows
vpn-client-gui.exe

# Linux/macOS
./vpn-client-gui

Запуск CLI режима

# Windows
vpn-client-gui.exe --cli

# Linux/macOS
./vpn-client-gui --cli

Основные возможности CLI

WireGuard

  • управление конфигами (добавить / удалить / список)
  • подключение
  • статистика трафика

VLESS

  • управление конфигами
  • подключение через Xray
  • ping-тест серверов

Подписки

  • добавление / удаление
  • обновление конфигураций
  • просмотр и тест конфигов

Статус

  • текущее подключение
  • время сессии
  • информация о прокси
  • трафик (WireGuard)

📁 Структура проекта

.
├── main.go
├── internal/
│   ├── cli/
│   ├── config/
│   ├── wireguard/
│   ├── vless/
│   ├── subscription/
│   ├── vpn/
│   └── logger/
├── .vpn_client/
└── logs/

Конфигурация

Все конфигурационные файлы хранятся в папке .vpn_client/:

  • configs.json - конфигурации VLESS
  • subscriptions.json - подписки
  • state.json - текущее состояние подключения

Логи

Логи сохраняются в папке logs/:

  • vless.log - основной лог
  • vless_access.log - лог доступа (IP, подключения)
  • vless_error.log - лог ошибок
  • vless_traffic_*.log - логи трафика для каждого подключения

Прокси

После подключения к VLESS серверу, SOCKS5 прокси доступен по адресу:

127.0.0.1:10808

Настройте браузер или систему на использование этого прокси.

Отличия от Python версии

  • Более быстрая работа
  • Один исполняемый файл без зависимостей
  • Меньшее потребление памяти
  • Нативная кроссплатформенность
  • Полная поддержка WireGuard
  • Полная поддержка VLESS
  • ⚠️ Нет GUI версии
  • ⚠️ Нет автоматической настройки системного прокси (пока)

Разработка

Добавление новых функций

  1. Создайте новый пакет в internal/
  2. Реализуйте функциональность
  3. Интегрируйте в CLI (internal/cli/cli.go)

Тестирование

go test ./...

Лицензия

AGPL 3.0

Description
No description provided
Readme AGPL-3.0 9 MiB
2026-04-12 20:03:11 +07:00
Languages
Go 93.1%
Inno Setup 3.4%
Makefile 2.9%
Shell 0.3%
Batchfile 0.3%