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["Безопасное хранение"]
- Все соединения защищены (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)
- Клонируйте репозиторий:
git clone https://github.com/mlanies/2gc-desktop-client.git
cd 2gc-desktop-client- Установите зависимости:
pnpm install
# или npm install- Запустите веб-приложение (Svelte/Vite):
pnpm run dev
# или npm run dev- Для 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/— исходники Rustbinaries/— внешние бинарники (cloudflared, bore)icons/— иконкиtauri.conf.json— конфиг Tauri
docs/— документация
- docs/PROJECT_OVERVIEW_RU.md — подробный технический обзор
- docs/RELAY_PROTOCOL.md — описание протокола 2GC Relay
Q: Как подключиться к серверу? A: Выберите сервер, нажмите "Подключиться", введите учётные данные и следуйте инструкциям.
Q: Безопасно ли сохранять пароли? A: Все учётные данные шифруются и хранятся локально с использованием keyring/config.
Q: Что делать при ошибках запуска туннеля? A: Проверьте наличие бинарников cloudflared/bore, права доступа, обратитесь в поддержку.
Q: Как сменить язык интерфейса? A: В настройках приложения выберите нужный язык (русский/английский).
Будем рады любым улучшениям и pull request!
- Форкните репозиторий
- Создайте ветку (
git checkout -b feature/your-feature) - Внесите изменения
- Оформите pull request
Перед отправкой:
- Проверьте код через
pnpm lint - Оформите коммиты понятно
- Описывайте изменения в PR
2GC Desktop Client распространяется под лицензией MIT.