Skip to content

Repository files navigation

2GC Desktop Client

2GC Logo

О проекте

2GC Desktop Client — кроссплатформенное десктопное приложение для безопасного управления туннелями (Cloudflare Tunnel, 2GC Relay, Bore Tunnel) и удалёнными сервисами (RDP, SSH) с современным интерфейсом на Svelte и нативным бэкендом на Rust (Tauri).

  • Многоязычный интерфейс (русский/английский)
  • Безопасная аутентификация (JWT)
  • Управление списком компаний и серверов
  • Запуск/остановка туннелей (Cloudflare, Bore, Relay)
  • Подключение к RDP и SSH через защищённые туннели
  • Гибкая настройка параметров RDP
  • Система уведомлений и статусов
  • Интеграция с внешними сервисами поддержки
  • Кроссплатформенность: Windows, macOS

Подробнее: см. docs/PROJECT_OVERVIEW_RU.md


🏗️ Архитектура

flowchart TD
    UI["Svelte UI"] -->|Tauri API| Backend["Rust/Tauri Backend"]
    Backend -->|Управление туннелями| Tunnel["Cloudflare/Bore/Relay"]
    Backend -->|RDP/SSH| Remote["Удалённые сервисы"]
    UI -->|Локализация| Locale["en/ru.json"]
    Backend -->|Keyring| Storage["Безопасное хранение"]
Loading

🛡️ Протоколы и безопасность

  • Все соединения защищены (TLS 1.3)
  • Аутентификация через JWT
  • Безопасное хранение токенов и паролей
  • Мониторинг состояния туннелей, автоматическое восстановление
  • Подробнее о протоколе: docs/RELAY_PROTOCOL.md

🚀 Быстрый старт

Системные требования

  • Node.js >= 18
  • pnpm (или npm/yarn)
  • Rust (для desktop/Tauri)
  • Windows 10/11 или macOS (WebView2 для Windows)
  • Для туннелей: бинарники cloudflared, bore (см. docs/PROJECT_OVERVIEW_RU.md)

Установка и запуск

  1. Клонируйте репозиторий:
git clone https://github.com/mlanies/2gc-desktop-client.git
cd 2gc-desktop-client
  1. Установите зависимости:
pnpm install
# или npm install
  1. Запустите веб-приложение (Svelte/Vite):
pnpm run dev
# или npm run dev
  1. Для desktop-версии (Tauri):
cargo install tauri-cli
  • Запустите desktop-версию:
pnpm tauri dev
# или npm run tauri dev

🏗️ Сборка и деплой

  • Сборка веб-приложения:
pnpm run build
  • Сборка desktop-приложения (Tauri):
pnpm tauri build
  • Бинарные файлы появятся в src-tauri/target/release/

📁 Структура проекта

  • src/ — фронтенд (Svelte, SvelteKit)
    • lib/ — компоненты интерфейса
    • pages/ — страницы и вкладки
    • routes/ — маршрутизация
    • store/ — глобальное состояние
    • locales/ — локализация
    • types.ts — типы данных
  • src-tauri/ — бэкенд (Rust/Tauri)
    • src/ — исходники Rust
    • binaries/ — внешние бинарники (cloudflared, bore)
    • icons/ — иконки
    • tauri.conf.json — конфиг Tauri
  • docs/ — документация

📖 Документация


❓ FAQ

Q: Как подключиться к серверу? A: Выберите сервер, нажмите "Подключиться", введите учётные данные и следуйте инструкциям.

Q: Безопасно ли сохранять пароли? A: Все учётные данные шифруются и хранятся локально с использованием keyring/config.

Q: Что делать при ошибках запуска туннеля? A: Проверьте наличие бинарников cloudflared/bore, права доступа, обратитесь в поддержку.

Q: Как сменить язык интерфейса? A: В настройках приложения выберите нужный язык (русский/английский).


🤝 Contributing

Будем рады любым улучшениям и pull request!

  1. Форкните репозиторий
  2. Создайте ветку (git checkout -b feature/your-feature)
  3. Внесите изменения
  4. Оформите pull request

Перед отправкой:

  • Проверьте код через pnpm lint
  • Оформите коммиты понятно
  • Описывайте изменения в PR

🆘 Контакты и поддержка


📝 Лицензия

2GC Desktop Client распространяется под лицензией MIT.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages