129 lines
3.1 KiB
Markdown
129 lines
3.1 KiB
Markdown
# 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
|