Updated README.md

This commit is contained in:
2026-04-06 07:49:31 +07:00
parent 2980681525
commit dbc60009c5

140
README.md
View File

@@ -2,21 +2,20 @@
VPN клиент на Golang с поддержкой VLESS протокола и подписок. VPN клиент на Golang с поддержкой VLESS протокола и подписок.
## Возможности ## 🚀 Возможности
- ✅ Поддержка WireGuard * WireGuard (подключение + статистика)
- ✅ Поддержка VLESS протокола через Xray * VLESS через Xray-core
- ✅ Управление подписками * Поддержка подписок (auto-update конфигов)
- ✅ Автоматическое обновление конфигураций из подписок * Тестирование серверов (ping)
- ✅ Тестирование серверов (ping) * Детальное логирование
- ✅ Детальное логирование * Кроссплатформенность: Windows / Linux / macOS
- ✅ Статистика трафика для WireGuard * Один бинарник без внешних зависимостей (кроме WG/Xray)
- ✅ Кроссплатформенность (Windows, Linux, macOS)
## Требования ## Требования
- Go 1.21 или выше - Go 1.21 или выше
- Xray-core (автоматически используется из папки `xray`) - Xray-core (автоматически загружается и используется из папки `xray`)
- WireGuard (для Windows: https://www.wireguard.com/install/, для Linux: `apt install wireguard` или `yum install wireguard-tools`) - WireGuard (для Windows: https://www.wireguard.com/install/, для Linux: `apt install wireguard` или `yum install wireguard-tools`)
## Установка ## Установка
@@ -54,70 +53,48 @@ vpn-client.exe
./vpn-client ./vpn-client
``` ```
### Основные функции ## Основные возможности CLI
1. **WireGuard** ### WireGuard
- Список конфигураций
- Добавить конфиг (вручную)
- Добавить конфиг (из файла)
- Удалить конфиг
- Подключиться
- Статистика трафика
2. **VLESS** * управление конфигами (добавить / удалить / список)
- Список конфигураций * подключение
- Добавить конфиг * статистика трафика
- Удалить конфиг
- Подключиться
- Тестировать конфиг (пинг)
3. **Управление подписками** ### VLESS
- Список подписок
- Добавить подписку
- Удалить подписку
- Обновить конфиги из подписки
- Показать конфиги из подписки
- Тестировать конфиги из подписки
4. **Статус подключения** * управление конфигами
- Показать детальный статус * подключение через Xray
- Время подключения * ping-тест серверов
- Информация о прокси
- Статистика трафика (для WireGuard)
5. **Отключение от VPN** ### Подписки
## Структура проекта * добавление / удаление
* обновление конфигураций
* просмотр и тест конфигов
### Статус
* текущее подключение
* время сессии
* информация о прокси
* трафик (WireGuard)
## 📁 Структура проекта
``` ```
vpn_client_go/ .
├── main.go # Точка входа ├── main.go
├── go.mod # Зависимости
├── internal/ ├── internal/
│ ├── cli/ # CLI интерфейс │ ├── cli/
│ └── cli.go ├── config/
│ ├── config/ # Управление конфигурацией │ ├── wireguard/
│ └── config.go ├── vless/
│ ├── wireguard/ # WireGuard протокол │ ├── subscription/
│ └── wireguard.go ├── vpn/
── vless/ # VLESS протокол ── logger/
│ │ └── vless.go ├── .vpn_client/
│ ├── subscription/ # Управление подписками └── logs/
│ │ └── subscription.go
│ ├── vpn/ # Управление VPN
│ │ └── vpn.go
│ └── logger/ # Логирование
│ └── logger.go
├── .vpn_client/ # Конфигурационные файлы
│ ├── configs.json
│ ├── subscriptions.json
│ └── state.json
└── logs/ # Логи
├── wireguard.log
├── vless.log
├── vless_access.log
├── vless_error.log
└── vless_traffic_*.log
``` ```
## Конфигурация ## Конфигурация
@@ -144,37 +121,8 @@ vpn_client_go/
127.0.0.1:10808 127.0.0.1:10808
``` ```
Настройте браузер или систему на использование этого прокси. Настройте браузер или систему на использование этого прокси, если клиент не настроил этого автоматически.
## Отличия от Python версии
- ✅ Более быстрая работа
- ✅ Один исполняемый файл без зависимостей
- ✅ Меньшее потребление памяти
- ✅ Нативная кроссплатформенность
- ✅ Полная поддержка WireGuard
- ✅ Полная поддержка VLESS
- ⚠️ Нет GUI версии
- ⚠️ Нет автоматической настройки системного прокси (пока)
## Разработка
### Добавление новых функций
1. Создайте новый пакет в `internal/`
2. Реализуйте функциональность
3. Интегрируйте в CLI (`internal/cli/cli.go`)
### Тестирование
```bash
go test ./...
```
## Лицензия ## Лицензия
MIT AGPL 3.0
## Автор
Портировано с Python на Go