- System-wide proxy: automatic Windows proxy configuration for all apps - DNS leak protection: force all DNS queries through VPN - Config encryption: AES-256-GCM encryption for all config files - File protection: strict access permissions for config directory - Leak detection: built-in security check system - Kill Switch: temporarily disabled (will be improved in next version) Security features: ✓ Automatic system proxy setup ✓ DNS leak protection (optional) ✓ AES-256-GCM config encryption ✓ File and directory protection ✓ Security leak checker ⚠ Kill Switch disabled (caused internet blocking issues) Emergency recovery scripts included: - ОТКЛЮЧИТЬ_KILLSWITCH.bat - EMERGENCY_FIX_INTERNET.bat - ЕСЛИ_СЛОМАЛСЯ_ИНТЕРНЕТ.txt Documentation: - Markdown/SECURITY_GUIDE.md - full security guide - БЕЗОПАСНОСТЬ_БЫСТРЫЙ_СТАРТ.md - quick start guide - CHANGELOG_SECURITY.md - detailed changelog
209 lines
6.2 KiB
Markdown
209 lines
6.2 KiB
Markdown
# VPN Client (Go)
|
||
|
||
VPN клиент на Golang с поддержкой VLESS протокола и подписок.
|
||
|
||
## 🚀 Возможности
|
||
|
||
- ✅ Поддержка WireGuard
|
||
- ✅ Поддержка VLESS протокола через Xray
|
||
- ✅ Управление подписками
|
||
- ✅ Автоматическое обновление конфигураций из подписок
|
||
- ✅ Тестирование серверов (ping)
|
||
- ✅ Детальное логирование
|
||
- ✅ Статистика трафика для WireGuard
|
||
- ✅ Кроссплатформенность (Windows, Linux, macOS)
|
||
- ✅ **Системный прокси для всего ПК**
|
||
- ⚠️ **Kill Switch (временно отключен)**
|
||
- ✅ **Защита от DNS утечек**
|
||
- ✅ **Шифрование конфигураций (AES-256-GCM)**
|
||
- ✅ **Защита файлов и директорий**
|
||
- ✅ **Проверка утечек безопасности**
|
||
|
||
## Требования
|
||
|
||
- Go 1.21 или выше
|
||
- Xray-core (автоматически загружается и используется из папки `xray`)
|
||
- WireGuard (для Windows: https://www.wireguard.com/install/, для Linux: `apt install wireguard` или `yum install wireguard-tools`)
|
||
|
||
## Установка
|
||
|
||
### Инициализация зависимостей
|
||
|
||
```bash
|
||
# Windows
|
||
init_gui.bat
|
||
|
||
# Linux/macOS
|
||
chmod +x init_gui.sh
|
||
./init_gui.sh
|
||
```
|
||
|
||
### Сборка GUI версии
|
||
|
||
```bash
|
||
# Windows
|
||
build_gui.bat
|
||
|
||
# Linux/macOS
|
||
chmod +x build_gui.sh
|
||
./build_gui.sh
|
||
```
|
||
|
||
### Сборка CLI версии (опционально)
|
||
|
||
```bash
|
||
# Windows
|
||
build.bat
|
||
|
||
# Linux/macOS
|
||
chmod +x build.sh
|
||
./build.sh
|
||
```
|
||
|
||
## Использование
|
||
|
||
### Запуск GUI (по умолчанию)
|
||
|
||
```bash
|
||
# Windows
|
||
vpn-client-gui.exe
|
||
|
||
# Linux/macOS
|
||
./vpn-client-gui
|
||
```
|
||
|
||
### Запуск CLI режима
|
||
|
||
```bash
|
||
# 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
|
||
```
|
||
|
||
**Системный прокси настраивается автоматически!** VPN будет работать для всех приложений Windows.
|
||
|
||
Для ручной настройки в браузере или других приложениях используйте указанный выше адрес.
|
||
|
||
## 🔒 Безопасность
|
||
|
||
Клиент включает комплексную систему безопасности:
|
||
|
||
### Системный прокси
|
||
Автоматически настраивается при подключении - VPN работает для всех приложений Windows.
|
||
|
||
### Kill Switch
|
||
⚠️ Временно отключен в этой версии из-за проблем с блокировкой интернета.
|
||
Будет доработан и добавлен в следующей версии.
|
||
|
||
### Защита DNS
|
||
Принудительно направляет все DNS запросы через VPN, предотвращая DNS утечки.
|
||
|
||
### Шифрование конфигураций
|
||
Все конфигурационные файлы шифруются с использованием AES-256-GCM и привязываются к вашему компьютеру.
|
||
|
||
### Проверка утечек
|
||
Встроенная система проверки DNS утечек и статуса защитных механизмов.
|
||
|
||
**Подробнее:** См. [Руководство по безопасности](Markdown/SECURITY_GUIDE.md)
|
||
|
||
## Отличия от Python версии
|
||
|
||
- ✅ Более быстрая работа
|
||
- ✅ Один исполняемый файл без зависимостей
|
||
- ✅ Меньшее потребление памяти
|
||
- ✅ Нативная кроссплатформенность
|
||
- ✅ Полная поддержка WireGuard
|
||
- ✅ Полная поддержка VLESS
|
||
- ✅ **Автоматическая настройка системного прокси**
|
||
- ✅ **Kill Switch и защита от утечек**
|
||
- ✅ **Шифрование конфигураций**
|
||
- ✅ **Комплексная система безопасности**
|
||
|
||
## Разработка
|
||
|
||
### Добавление новых функций
|
||
|
||
1. Создайте новый пакет в `internal/`
|
||
2. Реализуйте функциональность
|
||
3. Интегрируйте в CLI (`internal/cli/cli.go`)
|
||
|
||
### Тестирование
|
||
|
||
```bash
|
||
go test ./...
|
||
```
|
||
|
||
## Лицензия
|
||
|
||
AGPL 3.0
|