# VPN Client (Go) VPN клиент на Golang с поддержкой VLESS протокола и подписок. ## 🚀 Возможности * WireGuard (подключение + статистика) * VLESS через Xray-core * Поддержка подписок (auto-update конфигов) * Тестирование серверов (ping) * Детальное логирование * Кроссплатформенность: Windows / Linux / macOS * Один бинарник без внешних зависимостей (кроме WG/Xray) ## Требования - Go 1.21 или выше - Xray-core (автоматически загружается и используется из папки `xray`) - WireGuard (для Windows: https://www.wireguard.com/install/, для Linux: `apt install wireguard` или `yum install wireguard-tools`) ## Установка ### Сборка из исходников ```bash cd vpn_client_go go mod download go build -o vpn-client main.go ``` ### Windows ```bash build.bat ``` ### Linux/macOS ```bash chmod +x build.sh ./build.sh ``` ## Использование ### Запуск ```bash # Windows vpn-client.exe # Linux/macOS ./vpn-client ``` ## Основные возможности 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 ``` Настройте браузер или систему на использование этого прокси, если клиент не настроил этого автоматически. ## Лицензия AGPL 3.0