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
This commit is contained in:
2026-04-12 19:01:24 +06:00
parent 20d24a3639
commit b809e84220
18 changed files with 2063 additions and 31 deletions

136
INSTALL_GUIDE.md Normal file
View File

@@ -0,0 +1,136 @@
# Руководство по созданию установщика VPN Client Go
## Требования
1. **Inno Setup 7** - скачайте с официального сайта: https://jrsoftware.org/isdl.php
2. Собранный файл `vpn-client-cli.exe`
## Шаги для создания установщика
### 1. Установите Inno Setup 7
Скачайте и установите Inno Setup 7 с официального сайта.
### 2. Подготовьте файлы
Убедитесь, что в папке `vpn_client_go` есть:
- `vpn-client-cli.exe` (собранный исполняемый файл)
- `installer.iss` (скрипт установщика)
- `LICENSE.txt` (лицензия)
- `.vpn_client/` (папка конфигурации - создастся автоматически)
Опционально (будут включены, если существуют):
- `xray/` (папка с Xray - можно не включать, загрузится автоматически)
- `v2ray/` (папка с V2Ray - можно не включать, загрузится автоматически)
- `README.md` (документация)
- `CHANGELOG.md` (список изменений)
### 3. Настройте installer.iss
Откройте `installer.iss` и измените:
```pascal
#define MyAppName "VPN Client Go"
#define MyAppVersion "1.0.0" ; Ваша версия
#define MyAppPublisher "Your Name" ; Ваше имя
#define MyAppURL "https://github.com/yourusername/vpn-client-go" ; Ваш URL
```
Опционально добавьте иконку:
```pascal
SetupIconFile=icon.ico ; Раскомментируйте и укажите путь к .ico файлу
```
### 4. Создайте установщик
#### Способ 1: Через GUI
1. Запустите Inno Setup Compiler
2. Откройте файл `installer.iss`
3. Нажмите `Build``Compile` (или F9)
4. Установщик будет создан в папке `installer_output/`
#### Способ 2: Через командную строку
```cmd
"C:\Program Files (x86)\Inno Setup 7\ISCC.exe" installer.iss
```
### 5. Результат
После компиляции в папке `installer_output/` появится файл:
```
VPNClientGo-Setup-1.0.0.exe
```
## Особенности установщика
**Автоматические права администратора** - установщик запрашивает права админа
**Поддержка русского и английского языков**
**Создание ярлыков** на рабочем столе и в меню Пуск
**Автоматическая загрузка Xray/V2Ray** при первом запуске
**Чистая деинсталляция** - удаляет все файлы и папки
## Что делает установщик
1. Устанавливает `vpn-client-cli.exe` в `C:\Program Files\VPN Client Go\`
2. Создает папки для конфигурации и логов
3. Копирует Xray и V2Ray (если они есть в исходниках)
4. Создает ярлыки с правами администратора
5. Регистрирует программу в списке установленных приложений
## Запуск после установки
Программа автоматически запускается с правами администратора через ярлыки.
## Деинсталляция
Используйте стандартную деинсталляцию Windows:
- Панель управления → Программы и компоненты
- Или через ярлык "Удалить VPN Client Go" в меню Пуск
## Дополнительные настройки
### Добавить иконку приложения
1. Создайте файл `icon.ico` (256x256 или 128x128)
2. Поместите его в папку `vpn_client_go/`
3. Раскомментируйте строку в `installer.iss`:
```pascal
SetupIconFile=icon.ico
```
### Изменить папку установки по умолчанию
В `installer.iss` измените:
```pascal
DefaultDirName={autopf}\{#MyAppName}
```
На например:
```pascal
DefaultDirName=C:\VPNClient
```
### Добавить дополнительные файлы
В секцию `[Files]` добавьте:
```pascal
Source: "your_file.txt"; DestDir: "{app}"; Flags: ignoreversion
```
## Автоматизация сборки
Создайте bat-файл `build_installer.bat`:
```batch
@echo off
echo Building VPN Client...
call build_cli_only.bat
echo Creating installer...
"C:\Program Files (x86)\Inno Setup 7\ISCC.exe" installer.iss
echo Done!
pause
```
Теперь можно собрать всё одной командой!