Об этом проекте

Deskhub — это открытое приложение для удалённого рабочего стола, позволяющее просматривать и управлять компьютером с другого устройства. Оно работает нативно на пяти платформах: Windows, macOS, Linux, Android и iOS. Приложение построено на общем ядре C++20, которое реализует протокол на всех платформах. **Ключевые возможности:** - **Быстрая передача**: поддержка 60 fps на совместимом оборудовании с аппаратным ускорением захвата, кодирования, декодирования и отрисовки, где это доступно. - **Простая установка**: установка через менеджеры пакетов (winget, Homebrew, apt) или загрузка релизов. Не требуются учётная запись или фоновая служба. - **Простой интерфейс**: одни и те же четыре страницы (Host, Client, Devices, Settings) на каждой платформе, что делает управление привычным на разных устройствах. - **Безопасность**: сессии шифруются сквозным образом через QUIC/TLS. Доступ работает как в SSH — у каждой машины есть ключ, и клиенты допускаются только после одобрения владельцем хоста через запрос на подключение, QR-код или вставленный открытый ключ. - **Реальный ввод**: относительное движение мыши и скан-коды для игр с DirectInput; собственная мышь и клавиатура хоста всегда имеют приоритет. - **Звук включён**: собственный аудиомикс машины передаётся через Opus на 64 кбит/с, по одному 20-мс кадру на датаграмму. - **Поддержка нескольких мониторов**: можно делиться одним или несколькими дисплеями, каждый как отдельная сессия. - **Инструменты командной строки**: `deskhub-cli` может делиться экраном, открывать удалённую оболочку и запускаться из скрипта или по SSH. - **Протестированное ядро**: офлайн-модульные тесты, запуски санитайзеров в CI и семь ночных целей libFuzzer покрывают формат передачи, разбор H.264, сборку, байты терминала, текст интерфейса и конечные автоматы сессий. **Платформы:** - **Windows**: эталонная реализация, ежедневное использование в локальной сети и через Tailscale. - **macOS**: работают обе роли (ScreenCaptureKit + VideoToolbox + CGEvent). - **Android**: клиент с видео и вводом; хост — только просмотр экрана (Android 10+). - **iOS**: клиент с видео и вводом; хост — только просмотр экрана через Broadcast Upload Extension. - **Linux**: работают обе роли (PipeWire + VA-API + uinput + GTK3) на Ubuntu, Debian, Mint, Fedora, openSUSE, Arch. **Сценарии использования:** - Запуск тяжёлых задач (Claude Code, VS Code, сборки) со слабого ноутбука или iPad. - Использование приложений только для настольных систем (Chrome, Office) с другого устройства. - Игры на 60 fps с относительным движением мыши и захватом указателя. - Совместное использование нескольких мониторов как отдельных сессий. **Безопасность:** нет пароля, нет обнаружения, нет переключателя, который впускает посторонних. Используйте доверенную сеть или VPN и никогда не пробрасывайте порт UDP 47777. Полная модель угроз описана в SECURITY.md. **Лицензия:** MIT. Сторонние компоненты и уведомления перечислены в THIRD_PARTY_NOTICES.md. **Документация:** доступна на английском, вьетнамском, китайском и японском языках и охватывает установку, сборку из исходников, спецификацию, архитектуру, безопасность, конфиденциальность и уведомления о сторонних компонентах.