Files
Go-VPN-Client/README.md
arkonsadter b809e84220 feat: add security system with system-wide proxy, DNS protection and encryption
- 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
2026-04-12 19:01:24 +06:00

209 lines
6.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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