Управление удаленным рабочим столом - сделай сам!

🖥 А что, если сделать свою прогу для управления удалённым рабочим столом?

Примерно неделю назад начал новый проект - RemoteVision, собственное приложение для удалённого управления компьютером.

Почему вообще полез это делать? Всё довольно банально. AnyDesk у меня нормально не работает, а RuDesktop в бесплатной версии ограничивает работу двумя часами в день.

Посмотрел на всё это и подумал: а почему бы не попробовать сделать своё?

Нормальное. Удобное. Без искусственных ограничений. А в перспективе — кроссплатформенное, чтобы можно было работать между Windows, macOS и Linux.

Заодно решил поставить себе дополнительное условие: весь проект разрабатываю вместе с Qwen3.8, причём модель работает локально на моём компьютере, без использования облачных ИИ.

За неделю проект уже довольно сильно вырос.

Сейчас в нём есть: — P2P-соединение — компьютеры пытаются связаться напрямую друг с другом, без передачи всего трафика через промежуточный сервер; — WebRTC — технология, через которую организуется такое соединение и передаётся изображение; — собственный STUN-сервер — он помогает двум компьютерам, находящимся в разных сетях, «найти» друг друга в интернете; — захват рабочего стола через DXGI — технологию Windows, позволяющую достаточно быстро получать изображение экрана; — передача изображения; — удалённое управление клавиатурой и мышью; — шифрование и ещё довольно много вещей, которые обычно просто не замечаешь, когда пользуешься готовой программой.

И всё даже заработало. 😎

А потом я решил добавить ещё одну совершенно логичную вещь — чтобы курсор на удалённом компьютере двигался вслед за курсором на основном.

Добавили. Курсор заработал. Картинка пропала. 😂

И вот уже вместо новой функциональности мы с Qwen изучаем логи, разбираемся с ICE, STUN, TURN, WebRTC и пытаемся понять, почему два компьютера, которые вчера прекрасно общались, сегодня решили этого не делать.

Кстати, TURN - это уже запасной вариант: если компьютеры из-за особенностей сетей не могут установить прямое соединение, нужен посредник, который поможет передавать данные между ними.

Именно на таких моментах особенно хорошо понимаешь разницу между: «ИИ написал мне приложение» и «мы разрабатываем с ИИ настоящий работающий продукт».

Код написать относительно легко. А дальше начинаются архитектура, безопасность, сети, тестирование на реальном железе, диагностика и прекрасное:

«Странно. Вчера же работало». 😁

Буду периодически показывать, как развивается RemoteVision, рассказывать про используемые технологии простым языком и, конечно, про грабли, на которые мы с Qwen наступаем.

Потому что их уже накопилось достаточно для отдельной рубрики. 😂

#БородатыеБудни #ВайбКодинг #ИИ #AIEngineering #ЛокальныеМодели #Qwen #Разработка #МоиПроекты #RemoteVision

p.s. Решил и сайт сделать про свой опыт, навыки, бэкграунд и что сейчас интересно. Конечно с использованием ИИ (кодить сам я перестал лет 10 назад), но сложным путем с оглядкой на безопасность, структуру, сопровождаемость. Задался вопросом, почему раньше не запустил такую историю…

Управление удаленным рабочим столом - сделай сам! | Сетка — социальная сеть от hh.ru