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

# Weylus Weylus — это приложение с открытым исходным кодом, которое превращает ваш планшет или смартфон в графический планшет или сенсорный экран для компьютера. Оно работает на всех основных операционных системах (Linux, macOS, Windows) и требует только современный браузер на стороне планшета (Firefox 80+, iOS/iPadOS 13+). ## Ключевые возможности - **Управление мышью**: Используйте планшет для управления курсором мыши компьютера - **Зеркалирование экрана**: Отображайте экран компьютера на планшете в реальном времени - **Ввод с клавиатуры**: Подключите физическую Bluetooth-клавиатуру к планшету и печатайте напрямую - **Аппаратное ускорение**: Использует GPU-ускоренное кодирование видео (VAAPI на Linux, NVENC/MediaFoundation на Windows, VideoToolbox на macOS) - **Поддержка стилуса (Linux)**: Полная чувствительность к нажиму и наклону для ввода стилусом/пером - **Мультитач (Linux)**: Поддерживает жесты мультитач в совместимом ПО, таком как Krita - **Захват окна (Linux)**: Выбирайте конкретные окна для зеркалирования и рисуйте только на них - **Второй экран (Linux)**: Используйте планшет как дополнительный виртуальный монитор ## Установка Загрузите последний релиз со [страницы релизов](https://github.com/H-M-H/Weylus/releases) для вашей ОС. На планшете установка не требуется — просто откройте браузер. Для пользователей Arch Linux доступны пакеты AUR: - Из исходников: `weylus` - Готовый бинарник: `weylus-bin` ## Быстрый старт 1. Запустите Weylus, установите код доступа (рекомендуется) и нажмите Start 2. Откройте отображаемый URL (например, `http://<адрес-компьютера>:1701`) на планшете 3. Разрешите доступ через брандмауэр для TCP-портов 1701 (веб-сервер) и 9001 (вебсокет) ## Примечания по платформам ### Linux - Требуется `uinput` для поддержки стилуса и мультитач. Следуйте инструкциям в README для создания правила udev. - Поддержка Wayland экспериментальная; требует `pipewire`, `xdg-desktop-portal` и бэкенд портала (GTK для GNOME, KDE для KDE). - Аппаратное ускорение через VAAPI; может потребоваться установить `WEYLUS_VAAPI_DEVICE` на узел рендеринга (например, `/dev/dri/renderD129`). - Можно создавать виртуальные дисплеи с помощью драйвера Intel `xf86-video-intel` для функции второго экрана. ### macOS - Использует VideoToolbox для аппаратного ускорения, хотя качество может быть ниже, чем при программном кодировании. ### Windows - Поддерживает NVENC и MediaFoundation для аппаратно-ускоренного кодирования. ## Сборка из исходников Требуются Rust, TypeScript, make, git, C-компилятор, nasm и bash. На Linux нужны дополнительные зависимости (полный список см. в README). Сценарий сборки по умолчанию компилирует ffmpeg и libx264; можно использовать системные библиотеки с `--features ffmpeg-system`. Сборка через Docker также поддерживается с помощью образа `hhmhh/weylus_build`. ## Как это работает Weylus использует браузерные PointerEvents для захвата ввода стилуса, касаний и мыши с планшета. Эти события отправляются через WebSocket на сервер, который обрабатывает их либо через общий бэкенд (только мышь), либо, на Linux, через бэкенд uinput для полной поддержки стилуса/мультитач. Зеркалирование экрана использует ffmpeg для кодирования рабочего стола (или выбранных окон) в видеопоток H.264, который воспроизводится в браузере через Media Source Extensions. ## Основные вопросы из FAQ - **Проблемы с подключением?** Убедитесь, что оба TCP-порта (1701 и 9001) открыты в брандмауэре. - **Нет захвата окна на macOS/Windows?** Эта функция доступна только на Linux из-за интеграции с X11. - **Firefox для Android не работает?** Используйте другой браузер или проверьте сетевую конфигурацию. - **Проблемы с Chrome на iPad?** Chrome не поддерживает некоторые функции потокового видео на iPadOS; используйте Safari или Firefox. - **Нет WiFi?** Используйте USB-модем или создайте точку доступа с планшета. Пользователи Android могут использовать проброс портов ADB для подключения через `http://127.0.0.1:1701`. ## Примечание по безопасности Weylus не имеет встроенного шифрования для минимизации задержки. Запускайте его только в доверенных сетях. Для недоверенных сетей настройте TLS-прокси (например, с помощью hitch), как описано в README. Полные детали, включая устранение неполадок и расширенную настройку, см. в [официальном README](https://github.com/H-M-H/Weylus).