Files
Go-VPN-Client/Markdown/EXAMPLES.md
arkonsadter e0a5f0f746 feat(gui): add GUI (Test) implementation with documentation and admin support
- Add GUI (Test) module with Fyne-based interface (internal/gui/gui.go, internal/gui/server.go)
- Add CLI monitoring capability (internal/cli/monitor.go)
- Add main_cli.go entry point for CLI-only builds
- Add comprehensive documentation suite covering setup, build, quick start, and changelog
- Add admin manifest (admin.manifest) for Windows UAC elevation support
- Add rsrc.syso.json configuration for resource embedding
- Update .gitignore to exclude build scripts (*.bat, *.sh)
- Update main.go and cli.go to support dual GUI (Test)/CLI modes
- Update README.md with new project information
- Enables users to build and run both GUI (Test)and CLI versions with proper admin privileges on Windows
2026-04-06 18:57:58 +06:00

12 KiB
Raw Permalink Blame History

Примеры использования

Примеры VLESS URL

VLESS с Reality

vless://uuid@server.com:443?security=reality&type=tcp&flow=xtls-rprx-vision&sni=example.com&fp=chrome&pbk=publickey&sid=shortid#ServerName

VLESS с TLS

vless://uuid@server.com:443?security=tls&type=tcp&sni=example.com&fp=chrome#ServerName

VLESS с WebSocket

vless://uuid@server.com:443?security=tls&type=ws&path=/path&host=example.com&sni=example.com#ServerName

VLESS с gRPC

vless://uuid@server.com:443?security=tls&type=grpc&serviceName=ServiceName&mode=multi&sni=example.com#ServerName

VLESS с HTTP/2

vless://uuid@server.com:443?security=tls&type=http&path=/path&host=example.com#ServerName

Примеры подписок

Добавление подписки

Имя подписки: MyVPN
URL подписки: https://example.com/sub/xxxxx

Популярные VPN провайдеры

  • AliusVPN
  • V2rayN
  • Shadowrocket
  • Clash

Примеры конфигурационных файлов

configs.json

{
  "wireguard": [],
  "vless": [
    {
      "name": "My Server",
      "url": "vless://uuid@server.com:443?security=reality&type=tcp&flow=xtls-rprx-vision&sni=example.com&fp=chrome&pbk=publickey&sid=shortid#MyServer",
      "protocol": "VLESS"
    },
    {
      "name": "[MyVPN] Server 1",
      "url": "vless://...",
      "protocol": "VLESS",
      "subscription": "MyVPN"
    }
  ]
}

subscriptions.json

{
  "subscriptions": [
    {
      "name": "MyVPN",
      "url": "https://example.com/sub/xxxxx"
    },
    {
      "name": "AnotherVPN",
      "url": "https://another.com/subscription"
    }
  ]
}

state.json (подключено)

{
  "connected": true,
  "config_name": "My Server",
  "config_type": "vless",
  "start_time": "2024-01-01T12:00:00Z",
  "interface": "xray",
  "process_pid": 12345,
  "log_file": "/path/to/logs/vless_traffic_20240101_120000.log"
}

state.json (отключено)

{
  "connected": false,
  "config_name": "",
  "config_type": "",
  "start_time": "",
  "interface": "",
  "process_pid": 0,
  "log_file": ""
}

Примеры использования CLI

Базовое использование

# Запуск клиента
./vpn-client

# Главное меню
# 1. VLESS
# 2. Управление подписками
# 3. Показать статус подключения
# 4. Отключиться от VPN
# 0. Выход

Работа с VLESS

# В главном меню выберите 1 (VLESS)

# Меню VLESS
# 1. Список конфигураций - показать все конфиги
# 2. Добавить конфиг - добавить новый VLESS конфиг
# 3. Удалить конфиг - удалить существующий конфиг
# 4. Подключиться - подключиться к серверу
# 5. Тестировать конфиг (пинг) - проверить доступность сервера
# 0. Назад

Работа с подписками

# В главном меню выберите 2 (Управление подписками)

# Меню подписок
# 1. Список подписок - показать все подписки
# 2. Добавить подписку - добавить новую подписку
# 3. Удалить подписку - удалить существующую подписку
# 4. Обновить конфиги из подписки - загрузить новые конфиги
# 5. Показать конфиги из подписки - показать конфиги конкретной подписки
# 6. Тестировать конфиги из подписки (пинг) - проверить все серверы
# 0. Назад

Примеры сценариев

Сценарий 1: Первое использование

# 1. Запустите клиент
./vpn-client

# 2. Добавьте подписку
# Выберите: 2 (Управление подписками)
# Выберите: 2 (Добавить подписку)
# Введите имя: MyVPN
# Введите URL: https://example.com/sub/xxxxx

# 3. Обновите конфиги
# Выберите: 4 (Обновить конфиги из подписки)
# Выберите номер подписки: 1

# 4. Протестируйте серверы
# Выберите: 6 (Тестировать конфиги из подписки)
# Выберите номер подписки: 1
# Дождитесь результатов

# 5. Подключитесь к лучшему серверу
# Выберите: 0 (Назад)
# Выберите: 1 (VLESS)
# Выберите: 4 (Подключиться)
# Выберите номер конфига с наименьшим пингом

# 6. Проверьте статус
# Выберите: 0 (Назад)
# Выберите: 3 (Показать статус подключения)

Сценарий 2: Быстрое подключение

# Если у вас уже есть VLESS URL

# 1. Запустите клиент
./vpn-client

# 2. Добавьте конфиг
# Выберите: 1 (VLESS)
# Выберите: 2 (Добавить конфиг)
# Введите имя: Quick Server
# Вставьте VLESS URL

# 3. Подключитесь
# Выберите: 4 (Подключиться)
# Выберите: 1 (только что добавленный конфиг)

# 4. Готово!

Сценарий 3: Поиск лучшего сервера

# 1. Запустите клиент
./vpn-client

# 2. Обновите подписку
# Выберите: 2 (Управление подписками)
# Выберите: 4 (Обновить конфиги из подписки)
# Выберите номер подписки

# 3. Протестируйте все серверы
# Выберите: 6 (Тестировать конфиги из подписки)
# Выберите номер подписки
# Дождитесь завершения (может занять несколько минут)

# 4. Посмотрите результаты
# Программа покажет топ-5 серверов с наименьшим пингом

# 5. Подключитесь к лучшему
# Выберите: 0 (Назад)
# Выберите: 1 (VLESS)
# Выберите: 4 (Подключиться)
# Найдите сервер из топ-5 и подключитесь

Сценарий 4: Переключение между серверами

# 1. Отключитесь от текущего сервера
# В главном меню выберите: 4 (Отключиться от VPN)

# 2. Подключитесь к другому серверу
# Выберите: 1 (VLESS)
# Выберите: 4 (Подключиться)
# Выберите другой конфиг

# Или используйте быстрый способ:
# Просто подключитесь к новому серверу
# Клиент автоматически отключит предыдущее соединение

Примеры настройки браузера

Firefox

1. Откройте: about:preferences#general
2. Прокрутите до "Параметры сети"
3. Нажмите "Настроить..."
4. Выберите "Ручная настройка прокси"
5. SOCKS Host: 127.0.0.1
6. Port: 10808
7. Выберите "SOCKS v5"
8. Отметьте "Использовать прокси DNS при использовании SOCKS v5"
9. Нажмите "OK"

Chrome (с расширением)

1. Установите расширение "Proxy SwitchyOmega"
2. Создайте новый профиль
3. Protocol: SOCKS5
4. Server: 127.0.0.1
5. Port: 10808
6. Сохраните и активируйте профиль

Системный прокси (Windows)

1. Настройки → Сеть и Интернет → Прокси
2. Ручная настройка прокси
3. Использовать прокси-сервер: Вкл
4. Адрес: 127.0.0.1
5. Порт: 10808
6. Сохранить

Системный прокси (macOS)

1. Системные настройки → Сеть
2. Выберите активное подключение
3. Дополнительно → Прокси
4. Отметьте "SOCKS прокси"
5. Сервер: 127.0.0.1
6. Порт: 10808
7. OK → Применить

Системный прокси (Linux)

# Временно (для текущей сессии)
export ALL_PROXY=socks5://127.0.0.1:10808

# Постоянно (добавьте в ~/.bashrc или ~/.zshrc)
echo 'export ALL_PROXY=socks5://127.0.0.1:10808' >> ~/.bashrc
source ~/.bashrc

Примеры проверки подключения

Проверка IP адреса

# Через curl
curl -x socks5://127.0.0.1:10808 https://api.ipify.org

# Через браузер
# Откройте: https://whatismyipaddress.com/

Проверка работы прокси

# Проверка доступности прокси
curl -x socks5://127.0.0.1:10808 https://www.google.com

# Если работает, вы увидите HTML код страницы

Примеры логов

Успешное подключение

[2024-01-01 12:00:00] Создание конфига для сервера: server.com:443
[2024-01-01 12:00:00] UUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
[2024-01-01 12:00:00] Транспорт: tcp
[2024-01-01 12:00:00] Безопасность: reality
[2024-01-01 12:00:00] Успешно подключено к 'My Server' (PID: 12345, Лог: /path/to/log)

Ошибка подключения

[2024-01-01 12:00:00] Начало подключения к 'My Server' через Xray
[2024-01-01 12:00:01] Ошибка подключения: процесс xray завершился с ошибкой
[2024-01-01 12:00:01] Проверьте конфигурацию и доступность сервера

Тестирование сервера

Тестирование 'My Server'...
Проверка доступности сервера...
✓ Сервер доступен
  Адрес: server.com:443
  Пинг: 45.23 мс
  Качество: Отлично

Полезные команды

Проверка процесса Xray

# Linux/macOS
ps aux | grep xray

# Windows
tasklist | findstr xray

Просмотр логов в реальном времени

# Linux/macOS
tail -f logs/vless_traffic_*.log

# Windows (PowerShell)
Get-Content logs\vless_traffic_*.log -Wait -Tail 50

Остановка зависшего процесса

# Linux/macOS
killall xray

# Windows
taskkill /F /IM xray.exe

Советы и трюки

  1. Используйте тестирование перед подключением - это сэкономит время
  2. Регулярно обновляйте подписки - серверы могут меняться
  3. Сохраняйте лучшие серверы - добавьте их как отдельные конфиги
  4. Проверяйте логи при проблемах - там обычно есть ответы
  5. Используйте серверы с пингом < 100ms - для комфортной работы
  6. Не забывайте отключаться - освобождайте ресурсы