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