Открытый клиент удалённого рабочего стола с тачпадом чехла, общим диском, микрофоном и агентом для Windows — бесплатно, без рекламы и монетизации.
Я веб-разработчик, и моя работа устроена так, что «на связи» нужно быть в самый неожиданный момент: то прод упал в субботу вечером, то заказчик просит срочно поправить одну строчку, то нужно просто посмотреть, как ведёт себя вёрстка на боевом окружении. Всё это — на моём ПК: там настроенные программы, базы, локальный сервер для тестов и все проекты, которые я веду. ПК стоит дома, и уезжать от него далеко не хочется.
Какое-то время я честно пытался решить это ноутбуками. И каждый раз упирался в одно и то же.
Почему ноутбук не подошёл
Ноутбук, который тянет мои задачи, — это тяжёлая машина с шумными вентиляторами и двумя килограммами в рюкзаке. Лёгкий и тонкий — не тянет: ни сборку, ни несколько запущенных сервисов, ни монтаж видео, который мне время от времени тоже нужен.
Вторая проблема оказалась даже неприятнее первой. Ноутбук — это отдельная система, которую надо поддерживать: обновления, настройки, версии SDK, лицензии. И главное — проекты. Всё уже развёрнуто на ПК. Чтобы работать с ноутбука, нужно либо дублировать каждый проект и периодически синхронизировать их, либо каждый раз что-то переносить руками.
Планшет, который лежал без дела

У меня давно есть Android-планшет, и пользуюсь я им часто — но в основном для чтения и видео. Как рабочую машину я его не воспринимал, потому что софта, который решал бы мою задачу, найти не удалось.
Я перепробовал довольно много всего. Приложения для удалённого доступа к ПК в основном работали на «троечку»: картинка есть, но тачпад корректно не поддерживается, клавиатура чехла в полной мере так же не работает, например сочетания клавиш вроде Win или Alt+Tab забирает себе Android, а не Windows. Приложения «для программирования» на планшете — это вообще отдельный жанр: редактор без нормальной сборки, без терминала, без возможности запустить то, что реально крутится у меня на ПК. Для простейшего редактирования — годится. Для работы — нет.
Так что планшет лежал и выполнял роль читалки, а мысль «а неплохо бы работать за ним» оставалась мыслью.
Первый промт и час “плясок” до первого коннекта к ПК
Дальше случилось то, что случилось со всеми нами за последние пару лет: появились инструменты, с которыми можно писать код, не умея писать код для этой платформы. Я не разрабатываю мобильные приложения. Никогда не писал на Kotlin, не открывал Android Studio, не разбирался в жизненном цикле Activity. Но в какой-то момент я понял, что это больше не блокер.
Я поставил Android Studio, набросал макет — как примерно должно выглядеть приложение — и попросил ИИ: «сделай приложение для подключения к моему ПК по стандартному протоколу RDP». Первый результат, разумеется, не заработал. Дальше был час проб и ошибок: дебаг подключения, настройки, TLS, аутентификации, того, что сервер присылает и в каком порядке ожидает ответа.
И вот в какой-то момент на экране планшета — у меня это Samsung Tab S9 Ultra — появился экран моего рабочего ПК, живой рабочий стол Windows, на котором можно уже что-то делать.
Это ощущение сложно описать. Час назад у меня не было приложения, а сейчас у меня на кухонном столе рабочий стол компьютера, который стоит в другой комнате. Первый “отрыв” от рабочего ПК есть. На данный момент, используя NPV (“все имена изменены”:) или внешний IP адрес от провайдера, можно выйти из помещения на свежий воздух и что-то делать вне “4х-стенной тюрьмы”.
Клавиатура, тачпад и прочая «мелочь»
Первое подключение — это процентов десять работы. Остальные девяносто — это довести ощущение до уровня «ноутбук».
Чехол с магнитной клавиатурой и тачпадом у планшета был, но приложение про него ничего не знало: тачпад не работал как тачпад, жесты прокрутки отсутствовали, курсор двигался, но всё это не соответствовало ожиданиям и не давало комфортного ощущения. Пришлось разбираться, как Android отдаёт события от тачпада чехла, как они соотносятся с осями экрана (тачпад в чехле установлен боком — отдельная калибровка), как сделать ускорение курсора, инерцию прокрутки, двупальцевую прокрутку в стиле macOS, щипок как Ctrl + колесо и свайпы назад-вперёд в браузере.
Отдельная песня — сочетания клавиш. Android забирает себе Win, Alt+Tab и много чего ещё, поэтому в приложении появилась служба специальных возможностей, которая перехватывает их и отправляет на ПК. Без неё работать за планшетом с Windows-привычками невозможно.
Потом оказалось, что планшетом хочется пользоваться и без чехла — просто с экрана. Так появились настройки для чисто сенсорного управления, а для смартфона — отдельная раскладка: панель сеанса внизу двумя строками, кнопка «Клавиатура», экранная клавиатура Android, которая работает как ввод на ПК.
Что получилось в итоге
За последние недели приложение обросло функциями, которые я добавлял ровно в тот момент, когда они мне становились нужны.
Рабочий стол. RDP с TLS и NLA, закрепление сертификата ПК по SHA-256. Графика двумя путями: обычные битмап-обновления для Windows и конвейер RDPEGFX для Ubuntu с GNOME Remote Desktop. Сеанс продолжается, даже если свернуть приложение, — служба переднего плана не даёт Android заморозить соединение. При повороте планшета меняется размер рабочего стола, без выхода из сеанса. Масштаб интерфейса Windows и глубина цвета настраиваются на каждый ПК отдельно.
Тачпад чехла как в ноутбуке. Курсор с ускорением, левая-правая-средняя кнопка, физический щелчок, прокрутка двумя пальцами с настраиваемой силой и инерцией, щипок — масштаб, быстрый свайп — назад и вперёд, свайпы тремя-четырьмя пальцами — обзор окон и виртуальные рабочие столы, перетаскивание «лежащий палец + второй палец», как на трекпаде Mac.
Жесты на самом экране. Три-пять пальцев превращаются в сочетания клавиш Windows и GNOME: копировать, вставить, вырезать, отмена, повтор, Alt+Tab, рабочий стол.
Файлы, буфер и звук. Текст через буфер обмена в обе стороны. Файлы тоже: скопировали файл на планшете — вставили на ПК по Ctrl+V, и наоборот. Общий диск — папка планшета видна в Проводнике Windows как сетевой диск, в том числе только для чтения. Звук ПК идёт на планшет. Микрофон планшета виден в Windows как устройство записи, камеры планшета — как обычные веб-камеры 720p в Zoom, Teams и «Камере».
Список компьютеров. Не просто список IP: карточки с живым превью экрана, поиском по сети одной кнопкой, фильтрами по доступности и ОС, человеческими статусами («онлайн», «за ПК работают», «экран заблокирован», «сон», «гибернация», «выключен»). Питание ПК — выключить, перезагрузить, сон, гибернация — тремя путями: через агент, через SSH для Ubuntu или через сеанс RDP, если ничего другого нет. Спящий ПК приложение будит по Wake-on-LAN и ждёт, пока поднимется порт RDP.
HiWeb Agent для Windows. Это необязательная, но очень приятная часть. Агент устанавливается прямо из приложения: exe доставляется на ПК как временный диск через уже открытый сеанс и запускается в окне «Выполнить» — без скачивания, флешек и почты. С ним появляется команда «Переключиться на Планшет» в меню в трее: ПК сам зовёт планшет, сеанс открывается, мониторы гаснут. Уведомления Windows приходят на планшет, пока приложение свёрнуто. Сенсорная клавиатура Windows показывается сама, когда планшет без клавиатуры. А ещё агент следит за журналами RDP: замечает подбор пароля и вход с незнакомого адреса и предлагает заблокировать подсеть в брандмауэре одним нажатием.
Как это устроено под капотом
Самое интересное в проекте — то, что RDP-клиент написан с нуля на Kotlin, без FreeRDP и без NDK. Готовой сборки FreeRDP для Android нет, а тащить в проект чужой протокольный слой мне не хотелось. Получилась цепочка X.224 → TLS → CredSSP/NTLM → MCS → согласование возможностей → графика, плюс статические и динамические каналы: буфер обмена (cliprdr), диск (rdpdr), звук (rdpsnd), микрофон (AUDIO_INPUT), камеры (RDCamera), смена размера стола (RDPEDISP) и агент (HiWeb::Agent). Раскладки PDU я сверял по исходникам FreeRDP — документации по протоколу в открытом доступе много, но местами она расходится с тем, что реально присылает Windows.
Агент для Windows — это C# 5 на .NET Framework 4.8: так его можно собрать компилятором, который уже есть в системе, без установки чего-либо. Связь агент ↔ планшет — по локальной сети по TCP 47853 с подписью HMAC, плюс UDP-канал для команды «переключиться».
Логика, которую можно проверить без устройства, покрыта JVM-тестами: разбор PDU, жесты тачпада и тачскрина, инерция прокрутки, определение ОС по сети, криптография, статусы ПК.
Честные ограничения
Чтобы не создавать ложных ожиданий, сразу скажу, где приложение не всесильно.
Клиент рассчитан на Windows и Ubuntu с GNOME Remote Desktop. Другие RDP-серверы не гарантируются.
Микрофон и камера планшета перенаправляются только в Windows: GNOME Remote Desktop не отдаёт эти
устройства в сеанс.
Камера передаёт несжатый кадр, поэтому ограничена 720p — компромисс ради отсутствия стороннего кодека.
Сенсорная клавиатура Windows и уведомления требуют агента. Без него сеанс полностью работоспособен, просто чуть менее удобен.
Защита RDP работает только на Windows и только с агентом.
На планшете с физической клавиатурой системная клавиатура Android в сеансе не показывается — ввод идёт с клавиатуры и тачпада. Это сделано намеренно.
Как начать
Установить APK на планшет или смартфон (Android 13 и новее).
На ПК включить «Удалённый рабочий стол» в параметрах системы или скриптом из репозитория.
В приложении нажать «Поиск» и добавить найденный ПК — или ввести адрес вручную.
Для Win и Alt+Tab включить службу «RemoteDesk: передача клавиш» в специальных возможностях.
По желанию установить агент кнопкой «Установить агент» в меню сеанса.
При первом запуске тачпад попросит один раз провести пальцем по осям — так приложение узнаёт, как повёрнут тачпад в чехле.






Заходить на рабочий стол ПК со смартфона - так себе идея, но это тоже работает. В конце концов, кейс с подключением смартфона к дисплею и клавиатуре с мышкой - тоже может оказаться нужным. Поэтому само приложение адаптировано под мобилку.


Вместо заключения
Я делал это приложение для себя — чтобы не носить ноутбук и не дублировать проекты. Оно лежит в открытом доступе, без рекламы, без монетизации, без «премиум-версии». Если кому-то окажется полезным, я буду только рад.
Репозиторий: https://github.com/denmedia/hiweb-remotedesk
Там README с описанием возможностей и сборкой, исходники клиента, исходники агента и протокол агента. Issues и пул-реквесты открыты.
Комментарии (5)

p7000
28.10.2026 12:07А Windows App от Microsoft из Google Play не подошел?

DenMedia Автор
28.10.2026 12:07Нет, не видел ещё. В моём случае, я в одном приложении реализовал подключение ещё и к Ubuntu, но его я не прорабатывал, как Windows подключение.
В целом, мне нужно было сделать удобное приложение с теми "фичами", которые меня устраивают и удобны. Проблема в готовых приложениях - в них всегда чего-то не хватает.

AndreyAf
28.10.2026 12:07Микрофон и камера планшета перенаправляются только в Windows: GNOME Remote Desktop не отдаёт эти...
Помню для одной конторки года три/четыре назад делал проект на FreeRDP именно серверную часть под Linux допиливал (там еще версия была 3.0 начало), работало все, редирект дисков/папок, буфер обмена в обе стороны с картинками, динамическое разрешение экрана, принтеры, звук/микрофоны/видео через pipewire,. можно было добавлять свои каналы типа для редиректа сканера но клиент нужно тоже допиливать.
InsiderCrush
То есть Вы предлагаете нам поставить что Вы там себе навайбкодили? Потом другой умелец с ИИ найдет в Вашем репо в коде кучу уязвимостей и дыр, тем самым скомпрометирует и код этот и репозитарий и Ваш планшет и все установленные на нем проекты, а до кучи еще и наши планшеты с нашими проектам? Хм... надо подумать.
DenMedia Автор
Да, звучит сомнительно, согласен. Над уязвимостями поработаю.