Updated README.md
This commit is contained in:
140
README.md
140
README.md
@@ -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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user