Как стать автором
Обновить

Комментарии 296

НЛО прилетело и опубликовало эту надпись здесь
Да, изображение рабочего стола передается для всех мониторов, которые к этому рабочему столу подключены.
НЛО прилетело и опубликовало эту надпись здесь
Отключение автопрокрутки сделать возможно, сделаю.
На данный момент — да. Но поддержку других платформ сделать возможно (почти весь код написан с использованием Qt, есть лишь отдельные компоненты, которые реализуют поддержку Windows).
В общем задумка, ИМХО, интересная, но лично мне не хватает прокси (желательно self-linux-hosted) и поддержки чего-то кроме win для обеих сторон коннекта.
Подскажите пожалуйста, каким образом можно будет узнать о появлении linux версии?
Можем ждать от вас статью когда это произойдет?
Если такое произойдет, то статья однозначно будет :) Я планирую рассказывать о каждой новой версии. Где, как не на хабре, можно собрать сколько отзывов и пожеланий?
Хочу добавить по поводу мультиплатформенности.
1. В проекте из сторонних компонентов используются: Qt, libsodium, protobuf, libyuv, libvpx, zlib-ng. Все эти компоненты собираются для Linux/MacOS (с использованием соответствующих инструкций по сборке этих библиотек или собранных вариантов из вашего дистрибутива).
2. Весь UI и почти весь код написан с использованием стандартного Qt и stl и с учетом дальнейшей кросплатформенности.
3. Для реализации версий для Linux/MacOS необходимо: реализовать захват видео, пользовательский ввод-вывод (клавиатура-мышь), демон (аналог виндовой службы), а так же взаимодействие с сеансами пользователей (вход пользователей, выход пользователей из системы; не уверен, как правильно это называется в *nix).
4. Реализовать различные мелкие платформозависимые вещи (которые на первое время могут быть заменены заглушками, например, получение ассоциированных с типом файла иконок).
5. Добавить поддержку платформы в cmake-файлы.
6. Сделать установочные пакеты для распространенных систем.
В основном, это все что требуется.
Если кто-то готов помочь с реализаций, то всеми возможными способами окажу содействие.
При этом стоит учитывать, что очень многое из этого можно подсмотреть или заимствовать из WebRTC/Chromium.
Вы предпочли использовать VP8, а не более распространенный, оптимизированный H.264, по какой-то особой причине? Практически у всех современных компьютеров есть аппаратный энкодер H.264 либо в GPU на процессоре, либо в дискретном GPU.
Захват экрана для Linux/macOS можно взять из ffmpeg.
Если вы встроите библиотеку ffmpeg в программу, то сможете использовать уже готовые алгоритмы захвата видео и аудио, любые кодеки и аппаратные кодировщики.
Поддерживаю риторический вопрос!

Посмотрел код, хорошо всё написано.
Но действительно не хватает поддержки других платформ.
Я бы начал ей пользоваться, но у меня macOS.
Требуется подключаться к windows и macOS.

А пока вынужден пользоваться teamviewer, но он всё больше и больше расстраивает.
Если вырастите проект до поддержки хотя бы двух OS (windows, macOS) будет просто великолепно!
Поменяйте название пока не поздно. Уже есть другая программа с таким названием. aspia.ru/aspia
Все нормально. Это тоже моя разработка. В начале статьи я написал, что данное приложение является продолжением развития предыдущего (сетевая версия).
Немножко сбивает все равно с толку, все таки это совершенно разные программы, возможно стоило назвать Aspia Remote или Aspia++. Хотя Вам как автору программ виднее конечно) Еще хотелось бы уточнить, можно ли использовать mRemoteNG с вашей программой?
Можно считать, что старой программы уже нет. Она очень давно не разрабатывается и не поддерживается.
mRemoteNG использовать нельзя. Нет возможности подключаться используя командную строку. Только из адресной книги или через быстрое подключение в консоли. Возможно, позже сделаю такую возможность.

Как я понимаю, ip должен быть фикс и порт проброшен. Нет идеи добавить небольшой прокси сервис, которые ставится на внешний VPS?
Будет сам себе такой teamviewer с усами.

Да, на данный момент это скорее аналог Radmin, а не TeamViewer, т.е. подключение возможно только на конкретный адрес и порт. Идеи сделать подобный сервис, безусловно есть. Всему свое время, дойдет и до этого.
Так достаточно туда прикрутить openssh-client (под винду консольный тоже есть с теми же ключами) и пробрасывать локальный порт на удалённую VPS-ку.
Для «selfhosted-teamviewer» подобного для начала будет достаточно.

Понятно, что руками можно, но пользователю подобное фиг объяснишь =)
ЗЫ — киллерфичей можно сделать скачивание пабключа по урлу (помимо параметров подключения к ssh) из настроек и/или параметров запуска, чтобы можно было шарить готовый ini-ник для подключения или готовый ярлык.
НЛО прилетело и опубликовало эту надпись здесь
Я тоже очень нуждаюсь в аналоге TeamViewer. Сложность только в количестве часов в сутках. Сделать это в любом случае я планирую.
Антивирусы, по всей видимости, еще про программу не знают. Вся сложность в том, что на некоторые приложения для удаленного доступа они никак не реагируют.
У Касперского есть программа Whitelist. Мое приложение отвечает всем требованиям этой программы, я написал им, пообщался с менеджером. Отправили мой запрос разработчикам, сказали, что в течение 3 недель ответят.
С DrWeb ничего не понятно. Я им писал, сказали, что поведение их антивируса — это внутренняя информация. Никаких аналогов Whitelist у них нет.
Другими антивирусами пока не занимался.
Насколько я понимаю у Вас есть Юр лицо, сделайте сертификат для подписи приложения, конечно сертификат платный, но снимет много вопросов.
У меня есть ИП, но это никак не связано с данной программой. Сертификат для подписи приложений у меня есть, для подписи драйверов — нет. Стоит дорого, по крайней мере для меня.
Опенсорсные драйвера бесплатно может подписать фонд ReactOS. habr.com/post/111351
Упс, уже не может. Лавочку закрыли.
Проблема мне тут видится именно в ресурсах. Всё конечно хорошо, но чтобы преодолеть проблему NAT нужен внешний сервер который пропустит через себя весь трафик пользователей. Отчасти, именно поэтому ТимВьювер с ограничениями на бесплатное использование и в целом платный. А бесплатного хостинга, способного удовлетворить желающих(сотни мегабайт трафика в сутки на пользователя, по скромным прикидкам), как-то даже не предвидится.
Проблема сама собой отпадёт когда окончательно похоронят IPv4 и все перейдут на IPv6.
А если например редирект? Радмин умеет подключаться через промежуточный радмин-сервер. Проброс за NAT в этом случает нужен только один, а через него по локалке всё видится. Реализовать такой прокси, как мне кажется, немного проще чем отдельный сервер как у тимвивера. Да и нагрузка у каждого будет своя.
И кто этот сервер настраивать будет, оплачивать? Что делать тем кто не может, не умеет? Так-то можно VPN организовать и работать любой программой, но… не вижу очереди желающих предоставить бесплатный безлимитный VPN. Для браузеров есть половинчатые решения, зарабатывают на предоставлении широких каналов а бесплатные пользователи сталкиваются с низкой скоростью, иногда с РЕКЛАМОЙ внедрённой сервисом. Ибо любой внешний сервис-посредник это не бесплатно. А если и так и так платить, то чем тимвьювер хуже? Даже мороки с поддержкой зоопарка меньше. Весь вопрос в стоимости — платишь условные 99$ в год и получаешь готовый продукт с поддержкой, или делаешь всё сам берёшь проблемы на свои плечи и платишь 50$ за хостинг внешнего посредника, а то и больше. Стоят ли усилия разницы? Ну ладно, тратишь ещё недели две на поиск более выгодного предложения хостинга и экономишь от силы 10$ с существенным повышением рисков… стоит ли оно того?
Что-то типа pwnat помогло бы, но он мало где работает. Вот бы рабочий аналог изобрести.

Уже изобретено, написал ниже.

ip должен быть фикс и порт проброшен

ZeroTier (open source виртуальная LAN, типа Hamachi) легко решает эту проблему. Вот простое краткое описание и опыт использования (англ.).

Нечто подобное делал для себя на базе старой версии Aspia и SSH-сервера.
zerolab.net/?p=2248
Не увидел, в чем плюсы и минусы в отличие от аналогов, какова цель разработки, чем не устроили те же Radmin, TeamViewer и др… В общем, никакой мотивации, если только это не pet-project и повышение своего опыта разработки
1. Radmin и TeamViewer платные приложения с закрытым исходным кодом. Из бесплатных ничего вменяемого не найти.
2. Так же во всех известных мне приложениях очень скудная адресная книга. Например, нет поддержки зашифрованных адресных книг с мастер-паролем. Каждый раз заходить в менеджер паролей, чтобы подключиться к компьютеру — то еще удовольствие (исключение: если у вас везде простые и одинаковые пароли).
3. Aspia — это не только удаленное управление рабочим столом. Сейчас я пишу поддержку сессии «Информация о системе». Станет возможно очень быстро собрать отчеты по всей адресной книге или ее части (оборудование, приложения, ОС, сеть; для лучшего представления о возможностях). В дальнейшем планируется пойти еще дальше: сделать возможность автоматического выявления проблем на компьютерах (перегрев, заканчивающееся место на жестком диске и т.д.). Так же, информация о системе позволит помочь с инвентаризацией оборудования.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Про VNC уже отвечал. Про RDP аналогично. Почитайте ниже.
Плюсом к этому протокол VNC даже не поддерживает шифрование (всякие надстройки не в счет). Древний протокол, который ничего толком не умеет и не может.
RDP так не не является аналогом. Абсолютное отсутствие каких-либо удобств для пользователя. Привязка к авторизации средствами Windows вообще ставит крест на многих случаях использования (когда пароли у пользователей отсутствуют или имеют вид «123»). Только если еще и VPN поверх всего этого городить.
Что остается в итоге? Ничего.
Посмотрите проекты XRDP и FreeRDP, они не привязаны к win. У них работает RemoteFX кодек на основе jpeg2000, позволяющий хорошо передавать десктоп без размытия + каналы h264 для видео. У вас как я понимаю или лослесс или vpx. Адресная книга есть в Remmina, правда без папок и шифрования.
Над кодеками я еще планирую поработать в дальнейшем.
Я никогда не видел полноценной адресной книги нигде. В основном, все ограничивается тем, что туда можно добавить компьютеры и группы компьютеров. На этом весь функционал заканчивается.
И опять же напоминаю, что Aspia — это не только удаленный рабочий стол. Я не зря назвал приложение для открытия адресных книг и подключения к компьютерам «Aspia Console», а не «Aspia Viewer».
Немного ошибся, последняя Remmina умеет папки, надо просто в Tree View переключиться, шифрование вроде тоже есть — надо пароль от кейчейна вводить, все сохраняется в 1м файлике .remmina.
Быстрое подключение тоже присутствует, из статьи не очень понятно какие еще плюшки нужны от адресной книги.
Remmina, кстати, коннектится не сама, она внешние тулзы вызывает, по идее Aspia к ней довольно просто будет прикрутить.
Про VNC уже отвечал.

Простите, но там нет ответа.
Там «Недостаточно функций и старье».
Хотелось бы более развернутый ответ получить.
1. Отсутствие шифрования.
2. Для авторизации на уровне протокола используются алгоритмы, которые уже просто нельзя использовать ввиду их небезопасности (алгоритм 1977 года, возможен полный перебор за разумное время).
3. Ограничение длинны пароля в 8 символов.
4. Нет разграничения прав доступа.
5. Нет поддержки многопользовательских конфигураций.
6. Реальные реализации для Windows крайне медленные, если не использовать mirror-драйвер (используют хуки для определения измененных областей экрана).
Часть из проблем решается надстройками, но в целом протокол уже морально устарел.
Спасибо.
1. Есть плагины для шифрования и даже готовые программы, со встроенным шифрованием. Общей же идеей, как и во всем unix-way является разделение функций — шифрование можно отдать на откуп IPsec или SSL.
2. Если вся сессия зашифрована, то какой смысл отдельно требовать надежного шифрования от авторизации? Ну и если говорить про windows, то возможно даже прозрачную авторизацию настроить, без паролей.
3. Зависит от реализации. Авторизация с помощью доменных учёток решает проблему.
4. «Врете вы вси» ©. В UltraVNC точно есть, но сильно ограничено по функционалу — просмотр или интерактив. А какие еще варианты могут быть? Или Вы имели ввиду многопользовательскую авторизацию? Она есть в том же UltraVNC.
5. См. п.4.
6. Ну вот очень сильно от прямоты рук и нормальности железа зависит. На парке 100+ lenovo-моноблоков вполне успешно эксплуатировал в 2017-м. На всяких atom-ах с PowerVR, вместо нормальной встроенной видеокарты будет тормозить, это да. Хотя кино конечно не посмотришь вообще ни как.
7. Да, протокол уже устарел. Но и сама концепция настройки ПК через удаленный просмотр устарела (сейчас в моде тонкие решения). А коли у Вас пользователи до сих пор хранят и обрабатывают файлы не в облаке, то почему бы и поддержку не организовать устаревшими на 20 лет средствами?

Только не поймите меня не правильно — Ваша работа безусловно полезна и интересна, но не думайте что Вы занимаете абсолютно пустую нишу — здесь уже занято и за место нужно побороться.
2. Нормальная авторизация должна быть всегда взаимной. Нельзя так просто взять и отправить свой пароль неизвестно кому, пусть и по шифрованному каналу.

Разве что можно повесить задачу авторизации на ту же самую утилиту что занимается шифрованием, а VNC настроить вообще без авторизации…
UltraVNC может повесить авторизацию на AD. Чем не решение? И да, аутентификацию можно перенести на IPsec/VPN/etc, а авторизацию собственно уже по паролю.
AD-авторизация в UltraVNC — это с точки зрения безопасности еще хуже чем обычная. Потому что раскрывает логин и пароль серверу который никак не доказал что он тот за кого себя выдает.
Вы бы посмотрели реализации всех этих шифрований в UltraVNC и прочих подобных. У них нет поддержки шифрования на уровне протокола. Нет стадии обмена ключами. Все шифрование реализовано в виде костылей, обмен ключами происходит вместе с пересылкой первых сообщений при подключении (и эти первые сообщения передаются в открытом виде).
НЛО прилетело и опубликовало эту надпись здесь
Чем не вариант litemanager.ru
Этот весь набор софта уже научился обходить провайдерский NAT?
еще есть www.ammyy.com/ru
Платная. Бесплатные ограничения не лучше чем у тимвьювера. 15 часов в месяц, реклама в бесплатной версии. Причем интересно, ограничение в 15 часов на месяц может так же касаться Starter лицензии.
да, рекомендацию отзываю, он еще и троянов раздает — habr.com/company/eset/blog/416847
RDP-сервер в современных Windows есть только в профессиональных редакциях десктопов и на серверах.

По поводу удаленного сбора информации о компьютере — старая версия не работает ?

Работает, но в том виде развивать ее уже нет смысла. К тому же, она не умеет делать это по сети.
Конкуренция — двигатель прогресса. Тем более, что фриварная версия TeamViewer рвет соединение каждые полчаса.
Ладно бы пол часа. Стоит несколько раз подключиться к разным компьютерам и ограничение становится 5 минут.
А потом — минута. И запрет на повторное в 15 минут.
1 — сменить мас адреса, удалив все предыдущие настройки и файлы
2 — скачать образ для вм и и запускать TeamViewer в ней. Когда дадут 5 минут соединения, вм удалить и новую поставить. Тут скачал и уже 2 года спокойно использую
Мне такой садомазохизм не очень по душе, если честно. Для этого бесплатную альтернативу (да, ввиду отсутствия обхода NAT, еще не полноценную альтернативу) я и пишу.
При этом я полностью уверен, что мое решение не перестанет работать в произвольный момент, а функционал будет тот, который нужен мне, а не производителю коммерческого продукта.
почему бы вместо написания стоочередного велосипеда не взять все готовое и соединить по вкусу
vnc для управления удаленным рабочим столом
jabber для передачи сообщений о желании соединится через ретранслятор (то что есть у тимвьювера — идентификатор пользователя и возможность подключаться через внешний сервер)
ssh для безопасного соединения и передачи файлов
И получится кучка костыликов. VNC весьма скуден и ограничен. Его я за альтернативу не считаю (не говоря уже о его существующих реализациях, которые застряли в начале 2000-х).
Не костыль, а инструмент, заточенный для конкретной задачи.
Пояснение: есть ssh, заточенный для прогона траффика. И через него обычно работает git, rsync и тот же vnc, авторам которых не надо париться о шифрованиях, аутентификациях и т.п.
В ручном режиме работать с каждым инструментом муторно, хочется полноценного готового решения, но желательно на известных и проверенных технологиях.
Ну я тоже извращался. Потом погуглил, нашел альтернативу.
Можете рассказать о ней?
да пока тестирую. anydesk называется. Вот обнаружил проблему с повышением привилегий — не возможно с такими окнами работать, надо тогда программу от имени администратора запускать.
Тоже использую. Из минусов только периодически (часто) отваливающийся буфер обмена, и это порою изрядно бесит. Ещё из редких глюков: залипание Ctrl — вместо скролла могу получить масштабирование страницы (лечится нажатием двух Ctrl сразу) или несрабатывание Win+Pause чтобы посмотреть свойства системы. Зато денег не просит.
Хм… Знакомые глюки, вспомнился UltraVNC восьмилетней давности.
В Польше AnyDesk популярен.
Нет бесплатной версии. Только демо. Минимальная лицензия Lite стоит 99$ в год. А это одно рабочее место, и как я понял, для полноценного коннекта как минимум два рабочих места нужно.
Как раз у AnyDesk есть бесплатная версия для не-коммерческого использования. И для коннекта 2 бесплатные версии прекрасно работают.
Из плюсов: обходит NAT и работает на мобилках замечательно.
aeroadmin бесплатен для коммерции, ограничения по времени тоже вроде есть, но в моём сценарии использования пока не достиг
3- по истечении минуты работы 15 минут покамлать с бубном.
Существуют же бесплатные сервисы для проброса порта из-за NAT, тот же NGROK например. Гипотетически, можно подключится к клиенту TeamViewer, установить Aspia и опубликовать порт с помощью NGROK, и далее работать уже через Aspia
И к тому моменту уже забудешь зачем подключался…
Полагаю, там бесплатность тоже обусловлена какими-то ограничениями. По трафику, времени и прочему.
Сколько лет пользуюсь, ни разу с таким не сталкивался.
Или это при нестандартно использовании?
Несколько лет пользовался TeamViewer, настроил удалённый доступ на компьютерах родственников, пользовался и нарадоваться не мог. И вот недавно подключился к компьютеру где видимо был установлен TeamViewer с бизнес лицензией.
И все, теперь ограничение сессии 30 секунд, с таймаутом 10 минут.

Разве? Недавно пользовался там ограничение было не больше 1 часа в сутки суммарного времени подключения.
Удивительно, из этого треда узнал, что есть вообще какой-то лимит по времени.
Просто почти ежедневное соединение между домом/офисом часов по 5 без перерывов. Часто висит просто фоном. Никогда не прерывало (за 5 лет уже к ряду).
Бывает работаю с дальним востоком или Евросоюзом.
Теперь возникают мысли — чего это я так выбиваюсь из статистики?
Если у вас одни и те же точки включения то да, часами и никаких проблем.
Но после примерно 5 клиента эта зараза начинает вопить о коммерческом использование со всеми вытекающими.
Отказался бы от тимки в пользу АммиАдмин. Но… не все хотят менять тимку на что то другое.
Хм, вон оно как, стало понятней. Спасибо.
А ammy уже перестал определяться как вирус всем чем не попадя?

ps: проверил, сам сайт отказывается давать ссылку, т.к. сижу из chomium. Вот и ответ, почему ни кто не хочет переходить на ammy.
Это судьба всех бесплатных (или платных но без технических ограничений) программ для удаленного управления. Стоит программе автора набрать какую-то минимальную популярность — и ее тоже начнут втихую устанавливать вирусы, а там и до включения в антивирусные базы недалеко.
Это судьба конкретно ammy admin.
Крайний раз их взломали месяц назад. Опять. И т.д.
А еще у них сайт без https.
Просто складывается ощущение, что эти ребята целенаправленно забили на безопасность своего продукта и своих клиентов.
Почему-то тот же TW в этом не замечен (не сочтите за рекламу). И уж если сравнивать AA3 и TW, то TW на порядок популярнее. Возможности, по сути, одинаковые. Они вообще отличаются только безопасностью и коммерческой моделью (лицензия vs подписка).
Так у бесплатного TW ограничений куча, вон рядом жалуются что только 5 минут дает работать и отключает. А платить нельзя — по платежам отследить могут…
только 5 минут дает

Программа как бы коммерческая. Как и ammyy. Хотите бесплатно, безопасно и без ограничений — юзайте opensource. Например софт топикстартера или vnc+vpn.
по платежам отследить могут…

Т.е. Вас не смущает, что в фоне висит программа, инсталятор которой периодически дополняется всякой живностью, может делать что угодно на свое усмотрение с Вашими файлами (исходник то закрыт) и постоянно посылает данные о своем местоположении (как минимум alive-пакеты). Что еще может узнать автор программы о Вас, чего он не может узнать самостоятельно? Да и завести карту на Джамшута ни что не мешает.

Или Вы скрываетесь не от автора программы, а от органов и/или владельцев серверов, к которым подключаетесь? Ну тогда и ammyy я бы Вам пользоваться не советовал — спалитесь.
Кажется, вы потеряли нить обсуждения. Я говорил об использовании программы злоумышленниками.

Действительно.
Но в таком сценарий tw и aa3 неудачный софт, т.к. пользователь может увидеть Вашу активность. Обычный telnet удобнее, я уже молчу о специальных программах.
Да и ограничение tw перестает играть — новая жертва — новая виртуалка для грязных дел. А на новой виртуалке tw почти без ограничений.

Я предполагаю, это зависит от обоих сторон, если хотябы одна сторона платная то никаких ограничений, ну или ограничения по максимальной из лицензий. И ещё судя по всему они отслеживают с кем коннектишься, собирают статистику в поисках признаков коммерческого использования — долго сидишь, много клиентов, большой трафик… вляпаешься и всё.
Много лет использую официальную portable версию у себя, подключаюсь и к portable, и к установленным и ни разу не было разрывов соединения из-за фриварности, только при проблемах со связью. Работал и по несколько часов без проблем, последний раз вчера больше часа без разрывов.
Может оно рвет только при длительном бездействии?
Нет, оно рвет по истечении времени. Потом меняется пароль на подключение и с 12 часов ночи можно продолжать использовать ещё час. Или два. Не помню точно, 3 месяца назад было дело.
А, да… может это важно — с моей стороны был «сервер», портабельный вариант. Надо было человеку предоставить доступ к внешнему винчестеру. Вероятно, когда хотябы один вариант либо сервер либо клиент с оплаченной услугой, то сиди сколько хочешь.

И если подключиться к Win Server, то автоматом считается корпоративным использованием.

TeamViewer не просто платный, а шибко дорогой.

VP8 это хорошо, но без H.264 не круто — он, в отличие от VP8, аппаратно реализован в любой кофеварке

Подозреваю, H.264 требует много ресурсов на сжатии, что будет совсем плохо для удалённой стороны.
Гораздо меньше, чем VP8.
Добавить H.264 вполне возможно. Однако и VP8 вполне хорошо работает даже на компьютерах 10 летней давности.
На декодирование — возможно, однако мой не самый плохой ноут 2014 года выпуска кодирует VP8 еле-еле на 10 кадров в секунду со стопроцентной нагрузкой на проц, в то время как H.264 легко кодирует 60 кадров, нагружая меньше половины процессора (даже без аппаратного ускорения).

Как Aspia себя ведёт — не знаю: винды нет, в вайне не установилось, пробовать не на чем)
При перекодировании видео кодируется весь кадр (по ширине и высоте). Aspia кодирует только измененные области. Это существенно снижает нагрузку.
Хммм, последняя версия SimpleScreenRecorder стала выдавать на VP8 60 кадров в секунду даже с чуть меньше чем стопроцентной нагрузкой на проц, правда, каким чудом — не понял: повторить это на ffmpeg с -cpu-used 5 и -deadline realtime не удалось, максимум 20 кадров.

Впрочем, это оффтопик; если VP8 и правда не такой уж тормозной и кодируются только изменённые области, то, наверно, хорошо
Есть ещё не плохой аналог — Lite Manager. Поглядите какие у него возможности, может себе что позаимствуете.
Знаком с ним. Немного глючная вещь, если честно. Функционал в целом, конечно, интересный.
У меня есть идея сделать подобное, но несколько иначе. Сейчас я пишу «Информацию о системе», а дальше планируется написать тип сессии «Управление системой» (по аналогии «Просмотр рабочего стола» — «Управление рабочим столом»). В этом «управлении системой» возможно сделать и диспетчер задач, и управление службами и т.д.
Киллер-фичи LiteManager (в сравнении с Aspia):

1) Мухи отдельно от котлет — консоль отдельно, агент отдельно. У вас агента не установить без консоли (можно, но для этого надо самому собрать установочник). На клиентских компах консоль не нужна, от слова совсем. Даже про агента им знать не обязательно.

2) Удалённая установка/обновление/удаление агента прямо из консоли, надо лишь указать админскую учётку. При этом агента можно предварительно настроить — задать пароль, белый список адресов для подключения и т.д. Можно конечно устанавливать через GPO, через WSUS, есть утилиты для удалённой установки msi пакетов, бывало даже через Kaspersky Security Center устанавливать приходилось. Но удобнее и быстрее, когда такой инструмент есть в самой консоли, особенно когда подключиться надо срочно, а комп не в домене.

3) Терминал. Да, он в LiteManager кривой, но хоть такой — уже облегчает работу. Можно выполнять команды и от имени пользователя и от имени системы. Можно использовать psexec, но, смотрим пункт 2.

4) Остальные функции объединим в один пункт: файловый менеджер, диспетчер задач, удалённый реестр, чат, перезагрузка и т.д… Можно подключаться к C$ (если вы его не отключили через GPO), можно использовать pstools, regedit, notepad, shutdown /r /m. Смотрим пункт 2 — удобней иметь все инструменты в одной консоли, даже если эти инструменты хуже аналогов.

5) NoIP. Лично мне он не нужен, так как все клиенты в одной сети, но не всем так везёт.

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

VNC не умеет видео-кодеки;
chrome remote desktop сильно повязан на хроме и инфраструктуре гугла;

Хотя если не ошибаюсь, многие вещи как раз взяты из хрома (и это прекрасно!)

Пара комментариев, если позволите:
1) Не стоит делать свое шифрование (The #1 rule of cryptography is «Don't invent your own.» );
2) Стоит больше внимания уделить работы через Интернет (Stun/Turn);
Да, часть кода я беру из Chromium. Если есть возможность использовать готовый код, который отвечает потребностям и целям проекта, то грех не воспользоваться.
1. Шифрование я не придумывал, используются стандартные алгоритмы, которые предоставляет библиотека libsodium (обмен публичными ключами, nonce, HMAC).
2. Это бесспорно. Проблема только в том, что руки у меня 2, а в сутках 24 часа :) Дойду и до этого. У меня есть определенный план развития проекта, которому я следую.
Здравствуйте! Когда-нибудь программа может стать платной?
Нет. Это принципиальная позиция.

Вот за это хочется заплатить

Наверное, стоит тогда добавить возможность пожертвований.
Так она уже есть…
НЛО прилетело и опубликовало эту надпись здесь
RDP работает не так, он не позволяет просто подключиться к локально залогиненной сесии. Он требует наличие пароля у виндового пользователя + при использовании вылогинивает его локально. На работе это нормально, но дома мне такое не нужно. Да и к тому же у меня дома 4 монитора, а на работе 2. Когда я подключаюсь по RDP — он переключает сессию делает 2 монитора и у меня все съезжает.
Наличие пароля не обязательно если отключить политику «ограничить использование пустых паролей консольной сессией».
Два главных минуса RDP — серверная часть отсутствует на домашних версиях, и не возможно зайти в сессию пользователя так чтобы у него не появился экран блокировки(хотя ниже предлагают ключи /shadow /control — но вероятно это появилось в десятке, и на старых ОС не поможет, по крайней мере на XP не смог подключиться, надо будет ещё потестировать).
Подключение с разным кол-вом мониторов на двух ПК тоже конечно проблема, но достаточно специфичная.
Да, я знаю о таком хинте. Но такие манипуляции противоречат лиц. соглашению Windows, соответственно для использования в организации можно считать что RDP «сервера» в хоуме нет.
1. По RDP вы не сможете быть подключены к компьютеру одновременно с пользователем, который находится перед ним. Сессия либо доступна в RDP-сеансе, либо на экране пользователя.
2. По той же причине RDP сеанс недоступен для двух или более удаленных пользователей.
3. Возможность авторизации только средствами Windows
4. Отсутствие адресной книги
5. Привязка к Windows
По RDP вы не сможете быть подключены к компьютеру одновременно с пользователем, который находится перед ним. Сессия либо доступна в RDP-сеансе, либо на экране пользователя.

mstsc /shadow /control?
Да, вы правы. Однако RDP все же не совсем средство для удаленной поддержки. И в плане удобств в нем нет почти ничего. Я оставляю включенный RDP внутри локальной сети, как резервный способ подключения, но использовать его как основной неудобно.
А можно поподробнее, что значит «нет почти ничего». Уже пару лет работаю исключительно по RDP на удаленной машине (win->win или mac->win, от настроения) и никаких проблем, кроме неработающих шоткатов из 4х+ клавиш не замечаю…
Попробуйте работать не с 1-2 машинами, а с 200-300.
200-300 я не пробовал, но четыре десятка у меня активно используются. Очень удобно, только использовать надо не mstsc, а rdcman (тоже бесплатная утилитка, но надо отдельно скачивать с сайта Microsoft), там есть средства для организации колхоза из множества машин с группами настроек.
А мы просто батнички пишем для подключения…
в таких условиях гораздо удобнее подключаться к соответствующим службам Windows (Hyper-v Manager, System center VMM, Active Directory, Server Manager) через соответствующую консоль удалённого управления.

Это, конечно, в случае, если используются сервисы самого Microsoft.
RDP уже встроен в систему

А в Windows home edition тоже встроен? Я имею в виду служба удалённых рабочих столов.
Да, я знаю про https://github.com/stascorp/rdpwrap, но всё же.

Поставил программу потестить и сразу же наткнулся на баг при использовании нескольких мониторов. Всего 4 монитора, рабочий стол сделан так:
________МОНИТОР
МОНИТОР МОНИТОР МОНИТОР

В результате кликает не по тем координатам, по которым кликаю я. И очень не хватает выбора монитора в свойствах подключения. Чтобы можно было выбрать: показывать все или какой-то конкретно. И еще бы это сохранить. А так очень рад появлению бесплатного Радмина. Сам в свое время пытался сделать, что-то подобное (и даже сделал и пользуюсь иногда), но завяз с тем, что взаимодействие с рабочем столом пользователя сложно было сделать из под службы, а пользовательским приложением нельзя залогинится. Для скорости, кстати, использовал LZO сжатие и 4/8 бит GrayScale. 16 цветов — все выглядит ужасно, но 16 оттенков серого :) — выглядит вполне прилично и сносно работает на медленных соединениях.
Я тестировал только с двумя мониторами (больше не позволяет подключить моя видео-карта). Буду пробовать исправлять, свяжусь с вами к личных сообщениях после появления первых результатов.
Можно также использовать VirtualBox для отладки, он позволяет подключить к виртуальной машине сколько угодно мониторов (если видеопамяти достаточно)
Спасибо за совет, попробую.
Удаленный диспетчер задач? Удаленное управление реестром? Удаленная консоль? Удаленный запуск программ? Все это в планах есть?
А нет ли случайно планов сделать RemoteApp? Т.е. управление отдельным приложением или хотя бы виртуальным десктопом.
Если честно, то до этого мысли еще не дошли. Теоретически, возможно, конечно.
Один маленький вопрос с заковыркой… программа позволяет видеть окна с полупрозрачностью? Сколько я знаю таких программ вроде «просмотра удалённого рабочего стола» они в упор не видят полупрозрачных окон поскольку они отрисовываются совсем другим способом и где-то в видеокарте. Программы для скриншота рабочего стола для этих целей на мгновение переводят рабочий стол в упрощенный стиль где окна становятся непрозрачными. И ладно если это окна зависящие от системного стиля оформления, а если это программа принудительно выставила прозрачность? и тогда окно становится невидимым для многих грабберов даже если стоит уровень непрозрачности 99%.
Да, отображает нормально.
Доброго времени суток! Подскажите, я не совсем понял — через какой сетевой протокол происходит передача файлов/удаленное управление Aspia?
Через TCP. Выше него собственный протокол обмена данными (сериализованные protobuf-сообщения).
А удаётся нормально грабить с экрана окна DirectX? Конечно, не для того эта прога…
Вроде работает. Если включить VP8, то еще и относительно плавно.
Ай, какая красота!
Когда-то сам пытался сделать что-то подобное, но не хватило на это сил, а позже мотивации. Хотя продвинулся очень хорошо.
Так же как и вы столкнулся с тем, что хорошие решения стоят денег, а бесплатные имеют кучу недочетов.
Самое главное, на мой взгляд, это работа через промежуточный сервер по аналогии Team Viewer.
Если будет хорошее бесплатное решение даже просто по удаленному управлению — вам скажут спасибо тысячи людей.
А если еще и воплотите все то, о чем задумали и написали выше, то вообще не будет вам цены.
Удачи Вам в этом не легком деле!
Спасибо за отзыв! У меня работа над текущей версией заняла 2 года, но только за последние пол года прогресс пошел быстрее. До этого я писал все на WTL/STL/WinAPI, это отнимало огромное количество времени. Постепенно я понял, что это тупик. И… перешел на Qt. Весь старый код все еще доступен в бранче. Там уже даже была реализована «Информация о системе». Проект полностью собираемый, все зависимости внутри проекта. Для сборки нужны только Visual Studio 2017 и YASM.
Я подхожу к разработке не только как разработчик, но и как пользователь. Надеюсь, что мой проект поможет кому-нибудь.
А может быть кто-нибудь поможет Вам? Предложу промежуточный сервер, с удовольствием! На несколько годиков — могу тащить его на себе, за свой счет, по сути могу кодить, поднять вебсервисы, админить и тестировать. Если интересно — напишите info(овчарка)svo(четка)kz, буду рад помочь
Было бы очень неплохо, если бы кто-нибудь согласился помочь кодом. В первую очередь нужен код, сервер дело хорошее, но наживное. Для добровольцев могу выделить отдельный бранч на гитхабе и помочь разобраться с внутренним устройством проекта.
В идеале, для обхода NAT по максимуму использовать готовые решения для сервера-посредника.

Готов приступить. И команда есть.

Отписался в личных сообщениях. Буду рад сотрудничеству :)

Самое главное забыл написать. С NATом есть огромный опыт, и сервер посредник можем бабахнуть. Буквально 2 месяца назад пилили сервак для webRTC, но сейчас он перерос в комбайн для проксирования трафика всех клиентских АТСок.

Зачем делать прокси, если NAT можно пробить в примерно 85% случаев? Все необходимое описано в стандарте ICE
en.wikipedia.org/wiki/Interactive_Connectivity_Establishment
Однако, придется отказаться от TCP, и реализовывать собственный протокол (или один из готовых) поверх UDP.
за сервер — хорошее предложение, поддержал бы финансирование(или его часть) если потребуется.
Оффтоп по предыдущей разработке.
Вывод строк в окнах сделан циклом, по строке за раз.
Кажется, лучше сначала формировать список полностью и показывать его за один приём.
У меня на двухъядерном проце список DLL подгружался с минуту.

Ещё есть пожелание всплывающих подсказок на не полностью открытых элементах таблиц и хотя бы некоторых иконках.
Архитектура будет очень существенно отличаться от предыдущей разработки. Оглядываться на нее не стоит. Думаю, что в ближайший месяц уже будут результаты, которые можно «потрогать».
Нет ли в планах включения p2p протоколов типа tox. И проксирование?
Пока таких планов нет. В будущем — обсуждаемо.
Использование сторонней инфраструктуры для нахождения пиров или обхода NAT проще и удобней, чем может показаться на первый взгляд.
Вы можете использовать Tor в качестве транспорта, в режиме 1-hop, чисто для обхода NAT. От вас, как от разработчика, практически ничего кроме настройки Hidden Service на программном уровне не требуется. Tor, вопреки распространенному мнению, достаточно быстрый, и его должно хватать даже для realtime-задач (в режиме 1-hop).

У Tox есть реализация прокси, очень удобная и быстрая, устанавливает соединение без посредников, если это возможно.
Было бы круто добавить ещё в план деплоить клиента по сети, когда у тебя есть права доменного админа и затем подключаться к удаленной сессии и при отключении, удалять сервис (как тут сделано github.com/klsecservices/Invoke-Vnc).

И ещё бы web версию админской консоли, чтобы из браузера можно было бы подключаться к удаленным машинам.
Спасибо за идеи, когда-нибудь дойду и до них :)
Добрый день, я совсем зеленый, хотелось попробовать эту программу но не получается скачать. Сайт aspia.org не работает, по второй ссылке github.com/dchapyshev/aspia там вроде программа еще не скомпилирована. Как можно ее скомпилировать?
Сайт работает, загрузка программы возможна на странице релизов.
Интересный проект. Постараюсь в ближайшее время перевести на немецкий язык.
Спасибо, было бы очень хорошо. Чем больше переводов, тем больше людей сможет использовать программу. Не забудьте, что нужно переводить не только ts-файлы, но и переводы установщика.
А отчего не qmake?
qmake и cmake не являются аналогами друг друга.
Но в Qt все же как-то приятнее qmake, нет?
Даже сам Qt уже планирует отказываться от qmake в пользу qbs.
Не говоря уже о таком проекте, как KDE (одном из крупнейших, которые используют Qt). Как вы думаете, что использует KDE? Правильно, cmake.
В Qt очень хорошая интеграция с cmake, а cmake позволяет генерировать проекты для многих IDE, например, для Visual Studio.
Видать, давно я не пользовался Qt :(
Если нужно средство для админа внутри сети, то неплохо подходит dameware

Есть ещё AnyDesk. Для частного пользователя бесплатно. В платной версии есть и адресная книги и все остальное.

НЛО прилетело и опубликовало эту надпись здесь
Интересные эфекты. Я использую в основном для связки Android->Linux и за WindowsXP ничего сказать не могу. Вам видел интересные эфекты только при очень плохом соединении.

Подскажите, кто нибудь уже опробовал запуск на win10? В vnc насколько помню были жуткие тормоза с отображением статичной видео картинки.

Отлично. Выйду с отпуска, потестю. Кроме палки вариантов доната нет?

В русскоязычной версии сайта выше кнопки paypal имеется кнопка яндекс-деньги. На всякий случай написал номер кошелька в личных сообщениях.
НЛО прилетело и опубликовало эту надпись здесь
Я считаю, что смысл есть.
1. Aspia так же возможно развертывать в AD, внутри установочного exe файла находится msi, который можно распаковать.
2. Инвентаризация — это побочный бонус от информации о системе. Это что-то вроде сетевой версии AIDA. К тому же, я планирую сделать не только информацию о системе, но и управление этой системой.
3. Баг с мультимониторными системами уже известен, буду исправлять.
Планируется ли реализовать поддержку групповых политик безопасности? Помимо доменной авторизации, что бы можно было через группу безопасности установить права, чего можно или нельзя?
Это запланировано на следующую версию.
Без коммерческого заказа, без команды — не взлетит. Приобретёте только кой-какой опыт на кой-какое время, а потом забросите. Одному не охватить даже 50% хотелок пользователей. Лично я пользуюсь Lite Manager работает на ура на куче компов от офисного старья до игровых. Лицензия стоит толи 300, толи 500 рублей — не помню. Давно это было…
Ну-ну, пилите Шура пилите… Сколько антивирусных комплекса про Вас знают? 2? В России…
Не забудь про Роскомнадзор и другие органы… Один, говоришь, в поле воин. Ну-ну. Удачи
Специально прочитал все комментарии, но в очередной раз не нашел упоминания об использовании www.dwservice.net — вроде и исходники доступны и много чего ещё.
Никто не пользуется или там есть проблемы которые не позволяют пользоваться?
Я не имею никакого отношения к указанному продукту.
Подобных сервисов (www.dwservice.net) сотни.
Меня лично, как параноика, интересует приватный сервис без использования сторонних серверов, именно этим и интересен данный проект!
Приведите пожалуйста ссылки хотя бы на десяток таких сервисов (с прохождением ната, файлами, работой просмотрщика через браузер адресной книгой и т.п., и бесплатно) — поверю и в сотни.

Я прицельно искал, то что можно было использовать в продакшен (продакшен большой на большом количестве площадок) — очень мало альтернатив TV, точно не сотни, и даже не десятки.
Без серверной части которая ставится на свой выделенный сервер и к которой подключаются все хосты не вижу смысла. Это ключевая фишка. Там же можно хранить общую адресную книгу. Пользуемся RMS, посмотрите как у них сделано.
Что такое RMS? линк плз.
НЛО прилетело и опубликовало эту надпись здесь
Как по мне, для того, чтобы программа «взлетела» и ей начало пользоваться большое количество пользователей, в первую очередь необходимо сделать 2 вещи:
1. Поддержку подключений из-за нат, как это реализовано, к примеру, в TeamViewer. Т.е. через внешний сервер.
2. Второе и самое главное — серверный модуль для использования именно своего сервера, без внешнего. Для меня, например, это будет очень удобная «киллерфича».
Выше я писал, что это планируется. Если найдутся желающие помочь, то это случится быстрее.
Хотел бы сразу напомнить про грабли, на которые уже наступал лайт менеджер — исключить возможность mitm при подключении через сторонний сервер. Если сервер может притвориться клиентом к которому я подключаюсь и получить необходимые для аутентификации данные — такое страшно использовать за пределами изолированных сетей.
Lite Manager — есть и свой сервер и свой Noip. Любая машина может быть и клиентом и сервером и Noip — одновременно
Есть возможность сделать приложение для смартфона, т.е. управление ПК с телефона?
Теоретически возможно. Сторонние библиотеки должны собираться и для Android/iOS. Если делать только клиент, то все еще значительно упрощается. Клиентская часть почти на 100% кросплатформенная.
Можете вкратце рассказать как пишутся такие программы. Используются специфичные ОS функции для чтения содержимого экрана или читается видео память или еще что-то. На выходе наверное получается картинка. Далее, врятли всякий раз передается картинка целиком. Наверное делается какой-то дифф с предыдущей картинкой итд. Спасибо.
В Windows есть 2 способа получить изображение экрана:
1. Ставить свой видео-драйвер (Быстрый, но замороченный). Вроде как начиная с Vista и старше появился специальный API позволяющий также быстро получать изображения экрана, минуя установку видео-драйвера и все бы хорошо, но XP еще жива.
2. Через GDI экран копируется в память. Это медленней и грузит процессор, но на современном железе приемлемо и работает на любой версии Windows.

Дальше полученное изображение разбивается на блоки (например 32*32) и все блоки прошлого кадра сравниваются с блоками нового кадра, и те, что отличаются, сжимаются и отправляются клиенту. При медленном соединении можно еще добавить небольшой трюк: если блок был поставлен в очередь на отправку, но еще не успел улететь из-за тонкого канала, а уже еще раз поменялся, то можно не накапливать очередь, а просто обновить блок в очереди на более новый. В результате пользователь может увидеть неравномерное обновление блоками, зато какая-нибудь анимация не забъет весь канал своими бесконечными обновляемыми участками.
Спасибо. Мельком глянул код, если не ошибаюсь там используется подход с GDI + разбиение на блоки.
У меня сделано несколько иначе: новый захват экрана делается только после отправки результатов предыдущего.
А если одновременно несколько соединений? Для каждого свой захват экрана? Или все будут работать со скоростью самого медленного?
Захват экрана для каждого соединения индивидуальный. Сессии находятся в изолированных процессах, со службой взаимодействуют через IPC.

А какой тип IPC используете? (Ну там pipe или что?)

Используется QLocalSocket. В Windows он реализован через именованные каналы (pipe).
Сделайте возможность запуска приложения с командной строки. Пример:
aspia.exe /remoteip 192.168.1.10 /remoteport 1234 /remoteuser admin1 /remotepass 123456

Если компьютер доменный и у меня имеются права админа на всех компьютерах пользователей, то:
aspia.exe /remoteip 192.168.1.10 /remoteport 1234 /usecurrentcredentials


После вызова данного параметра пусть приложение запустится и само выполнит подключение к компьютеру. Со моей стороны пусть остается только ждать. Очень удобно когда на доменном компьютере, можно написать свою прогу которая после ввода туда имени компьютера и нажатию кнопки ОК запускала aspia с аргументами. Тоесть мне тупо нужно подключиться побыстрому к пользователю не морочась ни с чем. К примеру DameWare это поддерживает.

Было бы хоршо прикрутить возможность вызова других каких либо функций через командную строку с разными аргументами на все случаи жизни.
В следующей версии сделаю. Возможность полезная. Единственное, что меня смущает — передача пароля через командную строку. Этот пароль могут увидеть другие приложения.
Ну радмин такого не позволяет, не так и страшно если конкретно этого ключа не будет — пароль всегда можно ввести руками. Остальное очень даже нужно.
Как бы не привело это к упрощению паролей… Я бы охотнее рисковал передать пароль через командную строку, чем рисковать установкой простенького пароля, который не сложно набрать и 100 раз за день.
Можно без передачи пароля: если последнюю неделю пароль уже был введен то он не требуется.
Рецепт:
1) Как только тимвьювер начинает шалить с 5 минутами, их хватает на
2) запуск и скачку aeroadmin и переподключения на него.

aeroadmin тормознее тима, дает 17 часов в месяц. Но это не каждый день, поэтому до сего времени обходился так.
Зашёл с работы на домашний компьютер — всё работает, всё хорошо, но есть одно «но»: разное разрешение мониторов. На рабочем меньше и получается, что окно не маштабируется, а скролится. Кнопка «Автоматический размер окна» ситуацию не меняет.

Это в самой программе дело или что-то у меня не правильно? :)

PS: а программа понравилась. Работает всё хорошо. :)
Планирую реализовать масштабирование экрана в следующей версии. «Автоматический размер окна» просто выставляет оптимальный размер окна исходя из размеров удаленного экрана. Если удаленный экран меньше локального, то окно изменяет размер до размеров экрана, если больше, то разворачивает на весь экран.

Автору огромное спасибо за разработку. Мы работаем с удаленными пользователями и регулярно используем TeamViewer/AmyAdmin. Скажите, как у вас позиция с коммерческим использованием? Готов помочь материально, если получится использовать проект для поддержки пользователей. Программист я так себе, поэтому с кодом помочь не в состоянии, к сожалению.

Коммерческое использование не запрещено GPL 3, используйте. Единственное чего сейчас не хватает для замены TV/Ammyy — это обход NAT. Надеюсь, что он вскоре будет реализован.
А что со звуком? Есть возможность передавать его с удаленной системы и замьютить на удаленном компе?
Реализовать возможно. Отвечал на этот вопрос на GitHub.
НЛО прилетело и опубликовало эту надпись здесь
1. Кодируются только измененные блоки, для сравнения блоков используется вычисление SAD через SSE2/SSE3/AVX2.
2. Посмотрю.
3. У меня есть реализация mirror-драйвера, но использовать его проблемно, нужна электронная подпись для драйверов. Стоит дорого. Использовать стороннюю подпись нельзя, это противоречит условиям Whitelist. Реализация захвата с использованием DXGI API запланирована.
4. MSI инсталлятор уже имеется. NTLM авторизация запланирована на следующую версию. Программа бесплатная, для коммерческого использования в том числе.
5. Реализуемо. Для взаимодействия со службой просто используется IPC. Сейчас так же работают процесс сессии и уведомитель о подключенных сессиях (запускаются в сеансе пользователя).
По 2. — гляньте на zstd (https://facebook.github.io/zstd/)
Вот не надо NTLM! Это же устаревшая дырявая хрень!

Для работы в корпоративных сетях надо использовать сразу Kerberos.
5) Добавить еще одну супер востребованную фичу для корпоративного сегмента — win suid run — т.е. дать обычному пользователю поддержку запуска программ от имени администратора, без раскрытия пароля. В настоящий момент это либо костыли, либо очень неудачная реализация. Уже часто слышал про подобные неудобства среди людей, когда рабочая программа требует админских прав, но юзеру их давать опасно. Тут тоже не слишком сложно всё и легко реализуется если есть свой сервис с правами системы. Главное хорошо продумать о безопасности.
Очень сложно реализовать. В современных версиях Windows сделано все, чтобы из сервиса нельзя было запустить интерактивную программу в текущей сессии и десктопе, от имени не-текущего пользователя. Я не видел ни одной программы, которая бы умела это делать (psexec и аналоги не умеют, могут только интерактивно запустить программу от SYSTEM, но не от другого пользователя, т.к. у SYSTEM нет LOGON-токена, даже у winlogon.exe нет LOGON-токена).
Поставил, потестил. Очень даже не плохо!
Но нашел сразу, чего не хватает.
1. Адресную книгу приходится каждый раз открывать вручную после каждого запуска приложения. Нигде в настройках не нашел возможности при запуске приложения автоматической подгрузки последней адресной книги.
2. Если на удаленном хосте разрешение экрана больше, чем на хосте с консолью, то для того, чтобы охватить весь экран приложение скроллит изображение. Было бы не плохо, если была бы возможность масштабирования изображения, чтобы экран удаленного хоста полностью «вписался» в экран хоста с консолью.
1. Адресная книга — это документ. Такой же как файл Word, например. Не открывайте приложение, чтобы открыть адресную книгу. Файл адресной книги ассоциирован с программой, просто открывайте сразу его.
2. Масштабирование будет в следующей версии.
Если в ярлыке программы добавить в качестве параметра полный адрес книги, то прога будет открываться с этой книгой.

На сколько я понимаю все программы удаленного управления рабочим столом строятся на каких-то в среднем общих протоколах/библиотеках/etc. Подскажите что загуглить, чтобы вникнуть в матчасть? Спасибо.

Нет никаких руководств и универсальных библиотек. Общие принципы работы — есть. Чтобы разобраться в работе подобных программ — только изучать код открытых реализаций.
Добрый день!
А тихая установка с подготовленным конфигом планируется?
И возможна ли установка только сервера?
Ещё бы в разрешениях для пользователя на сервере возможность скрытого просмотра, без информационного окошка на рабочем столе.
ИМХО, нужна серверная часть, чтобы я мог на белый IP поставить сервер и юзать свой, а не какой-то от TeamViewer.
Ну и еще иногда очень хочется, чтобы была возможность передачи картинки в градациях серого, что значительно упростит работу при медленном соединении.
НЛО прилетело и опубликовало эту надпись здесь
Почему ни кто не упомянул про Supremo Remote Desktop?
Аналог TeamViewer, только без поддержки *nix.
Автору спасибо!
Очень интересный ход.
А если вашу разработку захочет купить скажем RAdmin, что делать будете?
На мой взгляд, в программе не хватает привязки к домену по LDAP, иначе поменять пароли доступа к удалёнке на 100+ машинах превратится в кошмар.
Авторизация средствами Windows планируется в следующей версии.
Добавьте возможность донатить криптовалютами
Выше автор пишет, что использует код из chromium.
Из него же можно взять webrtc-транспорт, который может устанавливать P2P-соединения с обходом NAT (естественно, нужен внешний сервер, который обеспечит сигнализацию и проксирование в случае, если прямое соединение установить не удалось), что позволит создать возможно даже более совершенный аналог TeamViewer.
Также есть и реализации, не использующие код chromium/firefox, например
github.com/chadnickbok/librtcdcpp
Вся проблема именно в проксировании, трафик и хостинг кто оплачивать будет? Сотни мегабайт трафика на пользователя в день, и это при скромных подсчетах. Достать где-то бесплатный прокси для пользователя, и такой чтобы не урезал скорость до 10к/сек когда на него сядут все пользователи мира и конечно это будет идеальной программой удалённого управления.

Трафик и хостинг должен оплачивать тот, кому это нужно.
Сервер должен быть с открытыми исходники и легко ставиться на vps.
Я бы с удовольствием поднял свой сервер, настроил установщик для клиентов уже с указанием своего сервера.

Вопрос автору немного не в тему. Вы не разбирались почему Win 10 (все настройки по умолчанию) блокирует запуск вашего инсталлера, отображая такое окошко:

Don't run
Don't run


ЭЦП у вас есть, но это не помогло. Немного углубился в тему, нужен EV Code Signing-сертификат, тогда, вроде, это мерзкое окошко убирается сразу (стоит почти в 5 раз дороже, минимум нашел $349 ksoftware.net).

Не углублялись в этот вопрос? Нужно ли набрать определенное количество установок (какое?) или же можно просто отправить файл MS, чтобы они добавили в исключения? Кстати, рейтинг ведется для каждого отдельного инсталлера, т.е. при выпуске новой версии опять появится окошко?
Оно так реагирует на файл скачанный из сети (он помечается браузером). Если файл был получен другим способом, то этого окна нет.
Как вы и написали, все упирается в дорогие сертификаты.
Я очень долго читал, пока не понял, что речь про Windows. Уточняйте, пожалуйста, с самого начала.
Автор молодец! Отличный софт, то что нужно. Большущее спасибо!
Было бы не плохо, чтобы в верхней панели был значек минимизации окна текущего подклюения, а так же возможность подгонки размера удаленного рабочего стола под размер окна.
Какой предусмотрен механизм обновления агента? Когда выйдет новая версия — руками переустанавливать по всем удаленным компам?
Пока никакого. Либо ручное обновление, либо развертывание msi в домене.
В планах возможность удаленного обновления есть.
Хочется пожелать удачи автору.

Для меня до сих пор не перебитым идеалом остался Remote Anything от TWD Industries. И да — он мертв. Но малый размер, например клиентская часть менее 100 Кб, двух или трехзвенная архитектура на выбор, встроенная возможность самозаполнения «адресной книги», путем отдачи разным клиентам заранее для них подготовленных и преднастроенных (адрес сервера, порт, название отдела для адрески) Slave.exe (причем настройка прямо из Slave.exe и делалась!). В общем архитектурно — почти идеал. Но даже тогда это было сильно небесплатно.
К сожалению умерло все с концом WinXP, если не ошибаюсь, там были большие терки и юридическое давление на них.

С нетерпением жду выпуска серверной части.
lentin может вам запилить еще что-то типа сбора требований на странице с софтом?
чтобы понимать какие еще фичи народ жаждет увидеть, возможно, это поможет с вектором развития данного ПО
Предлагаю просто создавать соответствующие Issue на GitHub. Так они не потеряются и могут быть закрыты, когда возможность реализована.
Кстати, а почему именно на C++? Это потому, что вы хорошо знаете только его или есть более конкретные и весомые причины? Почему не Java? (может это кому-то покажется крамольной мыслью, но сильно минусовать не надо)
1. Потому что это во многих случаях очень низкоуровневая работа с операционной системой
2. Все сторонние библиотеки написаны на C/C++
3. Оптимальная производительность C++ кода
Сторонние либы уже на C/C++, используются куски из webrtc, при кодировании используются SSE оптимизации. Так зачем еще один язык и мучаться с JNI и подобным? Как-то так наверно.
Спасибо за интересную программу!
Обратите внимание на библиотеку zstd (https://github.com/facebook/zstd).
И, пожалуйста, добавьте в информацию по донатам на сайте программы рублёвый Paypal, Яндекс-Деньги, итп.
Спасибо за отзыв!
Это все есть (рублевый PayPal, Яндекс.Деньги). Нужно просто переключиться на русскую версию сайта (значки справа вверху).
Уважаемый автор!
Не буду дублировать то что уже написано много раз.
Мы компания занимающаяся аутсорсингом по направлениям обслуживание IT-инфраструктуры и информационная безопасность. Чтобы избежать возможных рисков у нас есть TeamViewer, в котором ведется видеозапись всех удаленных подключений. Планируется ли у вас такая функция?
Когда будет возможность удаленного подключения к компьютерам за NATом и функция видеозаписи, готовы попробовать внедрить вашу разработку (естественно не бесплатно).
Реализовать запись сессий возможно и относительно не сложно. В самых ближайших планах такой возможности нет, но постараюсь реализовать позже.
Для пары серверов недавно потребовалось некое подобие PAM системы (в том числе с записью сессий), развернули у себя Apache Guacamole.
Достаточно удобная штука. Пользователю ничего кроме браузера не нужно (работа напоминает CyberArk).
Каждый раз в таких темах ищу в комментариях Remote Utilities и каждый раз не нахожу. Он настолько малоизвестен или с ним что-то не так (кроме того, что он Win-only, это да, неприятно)?
До 10 компьютеров бесплатная лицензия (для коммерческого использования тоже), свыше — несколько разных тиров с одноразовой покупкой (100-500 долларов). Есть и сбор информации о системе, и файловый менеджер отдельно, и диспетчер задач, и доступ из-за NAT, и self-hosted сервер можно поднять.
Безусловно, бесплатное open-source решение будет приятнее, но это вам как минимум для ориентира в плане фич (и остальным в качестве альтернативы).
(С компанией никак не связан, если что, не подумайте, просто использую уже третий год)
Тут упоминали RMS, по внешнему виду это RU версия Remote Utilities.
А и правда, прямо он и есть. Переключатель Eng на сайте RMS ведет на сайт Remote Utilities. Интересно, не знал.
Пока пользуюсь TightVNC для управления 30 удалёнными на большие расстояния компьютерами.
Возможно попробую вашу программу, так как для VNC не хватает двух вещей — более сложный пароль авторизации, и уменьшить количество запрашиваемых и/или отправляемых кадров в СЕКУНДУ. Самый щадящий способ — это когда на сервере задано отправлять только 1 кадр экрана каждые 0.5 секунд, одним пакетом.
Даже если часть этого кадра потеряется по дороге, хер лысый бы с ним, на следующий кадр придут данные.
Например для комфортного удаленного управления достаточно чтобы сервер отдавал 1-2 кадра в секунду, и больше не нагружал сеть отправкой лишних данных.
Это будет идеально для компьютеров которые находятся за 3G модемами с ужасно низкой скоростью.
Не знаю насчет TightVNC, но я через TigerVNC относительно сносно управлял компьютером через EDGE, с алгоритмом Tight и низким качеством картинки.
Прошу прощения за вопрос, но как подключиться с одного компьютера на другой?

Установил на оба ноутбука программу, как теперь соединить их? Какой адрес сервера нужно вводить?

Спасибо
Имя второго компьютера или его IP адрес.
С именем довольно удобно, спасибо.

А как с этой ошибкой бороться?
Сетевая ошибка: Удалённый узел закрыл соединение.

Думаю, было бы здорово добавить в программу мини гайд как раз для пользователей вроде меня, которые привыкли работать с тв.
Это собственно не имеет отношения к программе — это уже организация сети в операционке, там никаких «мини гайдов» быть не может. Конкретно в вашем случае, вероятно, виноват фаервол на стороне сервера — по умолчанию все входящие соединения запрещены и активно отвергаются, поведение фаервола так же зависит от настройки типа сетевого подключения на ноутбуке: общественная, домашняя, предприятие… там много ньюансов которые нельзя перечислить в мини-гайде. И всё направлено на то что для домашних пользователей «из коробки» была максимальная защита от таких программ которую вы пытаетесь использовать. А на предприятии есть свой админ который знает что где включить и как настроить чтобы работало.
Это напрямую имеет отношение к тому, на сколько программа будет популярна среди пользователей.

Конкретно в моем случаи — это отсутствие каких-либо дополнительных антивирусов либо фаерволов, только родные решения от 10 винды настроенные по дефолту.

С этой проблемой будут сталкиваться сотни пользователей, и решение этой проблемы для всех будет по одному мануалу. В чем проблема кинуть на него ссылку в маленьком FAQ — непонятно.

Отдельное спасибо, конечно, людям минусующим комментарий с просьбой помочь решить проблему.
Проблема в том что маленьким такой FAQ не будет. Внешних проявлений проблем мало, и собственно частых вопросов тоже будет мало но способов решения проблем — миллионы и все они зависят от особенностей окружения в конкретном случае т.е. будут в высокой степени уникальны. Одного конкретного решения вопроса «у меня ничего не работает» попросту не существует.
А конкретно проблемы с доступом по сети к системе надо смотреть в FAQ именно к вашей версии виндовс.
Сервер Aspia добавляет правило для разрешения входящих подключений к себе во встроенный фаервол Windows при запуске. При остановке сервера правило удаляется.
Если используются сторонние фаерволы, то тут я бессилен.
НЛО прилетело и опубликовало эту надпись здесь
Кроме коментов здесь, некоторые уже предложили свои хотелки в разделе Issues на Github. В телеграме уже создан канал (@aspia_ru). «Список TODO», насколько я понимаю, сейчас на стадии сбора фичреквестов.

Ты можешь сделать приложение-сервер, для выдачи идентификаторов. В таком случае, необходим будет лишь один комп с белым статическим ip-адресом.
Клиентские программы при включении будут подключаться к приложению-серверу, получать номер-идентификатор, открывать порт и ждать. В свою очередь, сервер регистрирует все идентификаторы и порты. Скорее всего так ТВ и работает.

Люто плюсую! Ждем функционал с id а-ля ТимВьювер. Т.к. капец не хватает быстрого подключения.
Со своей стороны готов поддержать VPS-кой для такого функционала!
Я не особо силён в лицензиях, по этому спрошу сразу у вас, lentin. Ваша лицензия (GPL 3) позволяет встраивать вашу программу в свои проекты для internal-использования?
GPL 3 не позволяет включать программу в коммерческое ПО, но думаю внутри организации (без распространения во вне) использовать можно. Подробнее можете почитать на Wiki.
Насчет обхода NAT…

1. Можно сделать слушающий Viewer, наподобие VNC Listening Viewer. Т.е. когда клиент и сервер меняются ролями, и комп-сервер обращается к клиенту. А клиент как правило админ, может иметь белый IP и в состоянии прокинуть к себе порт извне.

2. Также готов помочь в создании proxy и directory сервера. Могу написать на Qt, чтобы можно было ставить на приватные машины под Linux/Win. Больших нагрузок, как уже выше писалось, не выдержит, но как минимум несколько десятков, а то и сотню сессий потянет думаю.
Идея такова:
2.1 каждому инстансу (клиенту или серверу) прописывается учетка на proxy-сервере вида username@domain.com (или username@1.2.3.4, или username@1.2.3.4:tcp-port).
2.2. каждый инстанс держит простое контрольное соединение с proxy-сервером под своей учеткой.
2.3. proxy-сервера можно связывать между собой отдельными учетками (т.е. proxy-сервер foo может быть связан с proxy-сервером bar и знать как прокидывать к нему соединения). Таким образом можно административно делить пользователей и нагрузку на proxy-сервера одной организации/сети.
2.4. при попытке обращения одного инстанса к другому (по адресу вида username@domain.com) proxy-сервер определяет состояние username (даже если он в другом, связанном домене) и его возможности (версию ПО, наличие и тип NAT, и т.д.).
2.5. соответственно, если либо вызывающий, либо вызываемый инстанс не за NAT, значит им сообщаются данные для соединения и они устанавливают прямую связь. Таким образом даже динамические IP-адреса инстансов перестают быть проблемой.
2.6. если оба инстанса за NAT — тогда соединение прокидывается через proxy (здесь он выступает тупо как socks-прокси, т.е. внутри между инстансами должно быть сквозное шифрование). Также можно сделать возможность выполнять в этом случае различные скрипты (например, для динамического конфигурирования firewall и открытия портов).

Какие-то такие мысли пока…
Публичные серверы тоже можно сделать, правда для этого действительно Qt не особо подойдет. И load balancer-ы все равно нужно будет покупать.
Не могу понять как подключаться в текущую сессию пользователя. Предлагает только залогиниться как при RDP подключении
А чем она отличается от free-версии MobaXterm?
Не взлетит, даже под одну ОС (Windows). Без заказа, без коммерции, без многоплатформености… и самое главное — без команды, не взлетит. Разработчик отнимает сам у себя туеву хучу времени на проектик ДЛЯ СЕБЯ. Что-то будет работать, как-то что-то будет управляться. Удачи

Помнится, Linux тоже изначально делался без заказа, без коммерции, под единственную платформу i386 и «для себя»...


Но зачем вы подняли этот топик спустя полгода? Такое чувство, будто до сих пор пригорает от существования конкурента)

всё прозаичней. все мои коменты с «минусом» перечитываю через какое-то время. проверяю себя и других. может я не прав — может другие. Конкурент? Нет, я не кодер. И подобное сделать не смогу, даже в простейшем исполнении. Я про другое — время этого разработчика. Хобби?, ну ладно, круто?, ну допустим. А массово взлетит или нет? Я как пользователь, говорю нет. Linux? времена наколенных/гаражных ОС прошли… Жалко время разраба
А чего не взлетит-то? Она вполне себе конкурентоспособная, много ли вы знаете аналогичных бесплатных инструментов под Windows? Плюс положительно воспринята Хабром, где есть огромная аудитория непосредственных потребителей этой программы.
времена наколенных/гаражных ОС прошли…

А чем наколенные программы, написанные профессиональными разработчиками в качестве хобби, отличаются от написанных ими же на работе? Ну кроме того, что в наколенных откровенной лажи обычно меньше, т.к. в хобби-проектах над душой не стоит менеджер с горящими планами релизов и с кривым ТЗ.
фраза — «огромная аудитория непосредственных потребителей этой программы» вызывает сомнение. Потому что это — проект вечной незавершенки, так как одному человеку, с моей точки зрения, всех основных направлений «удалённый доступ» и тем более нюансов не охватить. Чисто физически, по времени. Ставить себе дома и на работу, суммарно 12-15 компов, не буду. Пользуюсь много лет тем, о чём писал в коментах к первой статье автора ещё пол года назад.
Насчёт «хобби на коленке», тут согласен полностью про «меньше лажи». Но хобби оно и есть хобби индивидуума. Рано или поздно другие индивидуумы задолбят автора своими хотелками и он будет вынужден или брать оплату для расширения функционала или забросит… хобби.
всех основных направлений

Огласите весь список, пожалуйста?

извольте, прежде всего кросплатформенность. Далее по списку: 1= скорость соединения, (особенно) от очень низкой до оптики 2= протоколы управления приёма/передачи, секьюрность 3= NAT/межсетевые железки от простых до корпоративных 4= мобильная версия
Зачем всё это нужно для популярности программы, кроме секьюрности, которая там уже есть? Есть программы универсальные, навороченные, есть заточенные под конкретные задачи. И те, и другие, если сделаны качественно, пользуются успехом. В текущем виде, без всяких мобильных версий, кроссплатформенностей и межсетевых железок, программа успешно подойдет для примерно миллиарда обычных виндовых ПК. Даже если 0,001% пользователей ей воспользуются, это десять тысяч установок.
И с высокой вероятностью все обломится на NAT-e. Что усугубляется тем что провайдеры очень неохотно внедряют IPv6.
И с высокой вероятностью все обломится на NAT-e.

Почему? Как настроить проброску порта через домашний NAT, человек, которому нужно организовать удаленное управление домашним ПК, вполне себе разберется. А в корпоративной среде, если надо достучаться не до внутреннего сервера, а снаружи, есть админ, который тоже или настроит, или расскажет, почему он это запрещает пользователю. RDP ведь тоже не умеет в NAT, но это не мешает его использовать повсеместно.
Потому что за домашним НАТ-ом может находится провайдерский НАТ/фаервол(кстати, даже IPv6 этому не помеха), который пользователь настроить не сможет при всём желании.
RDP имеет смысл использовать только внутри подсети(хотябы VPN), в дикий мир открывать его я бы поостерёгся, слишком уж много уязвимостей.
А так же вариант предустановленной «коробочки»-роутера от провайдера доступа к которой для настройки у пользователя нет.
Такое наверняка бывает, но уж точно не с высокой вероятностью. Наоборот, какие-то редкие исключения. Я подключился к Интернету в 1998-м году, пожил в трех городах и в десятке квартир, провайдеров с тех пор вообще штук тридцать через меня прошло, но никогда не попадалось такого, и я не слышал ни от кого из знакомых, чтобы на провайдере файрволом были заблокированы клиентские порты, или клиенты были упрятаны за NAT. Это только у каких-то некрупных вторичных провайдеров, наверное, практикуется.
Если бы это было так… у вас бы вылезла другая проблема — порты доступные снаружи постоянно сканируют и пытаются использовать уязвимости. Не знаю что за провайдеры вообще линейных клиентов пускают в мир без элементарного фаервола? Обычно это отдельная опция в договоре, где вы берёте риски на «сканирование» и заражение ваших систем на себя. Сканируют, заражают, потом изнутри сети заражают остальных клиентов. такой головняк нужен провайдеру? конечно нет, поэтому по дефолту максимальная возможная изоляция… а это как минимум простой фаервол, закрывающий незапрошенные входящие соединения. А для отдельных лиц есть опция «белый IP» где все эти фаерволы отключены и вся ответственность на вас, в том числе и на возможное заражение внутренней сети.
у вас бы вылезла другая проблема — порты доступные снаружи постоянно сканируют и пытаются использовать уязвимости

Вообще, так ведь и есть — если я подключу компьютер в сеть напрямую без роутера, его и будут сканировать. Так было всегда :) Именно поэтому и появились всякие Защитники Windows, которые за пользователя решают, что ему файрволить.
С другой стороны, сейчас ведь практически у всех роутеры стоят. Кто сейчас вообще подключается в Интернет прямым шнурком?
Роутеры эти то ещё решето, особенно если их 10 лет не обновляли. Причем порой бывает и не решето, а с вполне явным приглашением войти и ключом под половичком.
И скажем так, фаервол на роутере как правило отключают, т.к. он мешает развить требуемую скорость интернета. Железо слабое, что поделаешь. новые модели мощнее, но у всех ли они? Да и там по привычке отключат или неправильно настроят и привет, решето.
Ну не знаю, если честно, мой опыт говорит о совершенно другом — и что провайдеры никогда не лезут в то, какие их клиентам нужны порты (я бы вообще с таким провайдером разругался бы), и что роутеры все с файрволами по умолчанию, более того, 99.9% пользователей не только не выключают файрвол, а вообще делают максимум пару настроек роутера — вбить провайдерские параметры, и поставить пароль на вайфай.
А мощности современных роутеров хватает с головой. У меня первый домашний роутер появился в 2003-м году, там уже был файрвол, который отлично справлялся со своими задачами даже с дефолтными настройками.
Проблема в том что старые роутеры не имеют аппаратных модулей для реализации даже простейшего фаервола, поэтому вынуждены пускать весь трафик через процессор, который был да и сейчас естьдовольно слабый для современного траффика, в итоге без фаервола — 100Мбит обеспечивает(т.к. не заворачивает все пакеты в процессор), включаем фаервол с дефолтными настройками — уже 15мБит еле тянет. Когда был интернет 5 Мбит это никого не парило, но сейчас 50мбит это норма… и подобные роутеры стали слабым звеном ограничивающим интернет.
Так там же NAT, они всю жизнь пускают весь трафик через процессор. Даже древнючий D-link DIR-100 так делал. Это был мой первый роутер на 100 мегабит, я его купил в 2009-м году, когда у нас в дом зашел провайдер со стомегабитными шнурками. И уже тогда модель была не новой. Там был какой-то процессор Realtek, который дико грелся и иногда под нагрузкой зависал, пока я не наклеил на него небольшой радиатор, но в остальном эта штука со своей задачей абсолютно нормально справлялась. Свои 100 мегабит честно тянула, при этом с настроенным форвардингом портов и PPPoE.
Realtek же всё-таки специалисты по сетевому оборудованию, я не думаю, что они никаких аппаратных блоков для типовых задач по обработке трафика в свой чип не всунули.
Не весь трафик, насколько я понял роутеры того времени через процессор пропускают только заголовки, а основная нагрузка пакетов идёт аппаратно. Этим достигается высокая скорость. Это один из шагов вперёд по скорости. Но даже у тех роутеров что сейчас эксплуатирует(я бы сказал донашивает, типа Asus WL-520) народ не везде есть аппаратное ускорение хотябы NAT. В результате проблемы — включение фаервола и дополнительных опций снижает пропускную способность. А ещё этот VPN… у нас до недавнего времени безлимитный интернет был только по VPN… а это просто жесткая нагрузка на роутер.
Да, вы правы, проц анализировал и обрабатывал только заголовки. Собственно, с остальным содержимым пакетов роутеру и делать нечего, если только не перепаковывать его под VPN. Но VPN тот DIR-100 и не поддерживал. Так бы удавился, конечно.
Угу, миллиард ПК. «минус один» — без меня. Это НЕЗАВЕРШЕНКА, причём вечная. Одному не потянуть, по причинам которые указал выше. Удачи. (в закладки, гляну через полгода)
«Незавершенка» — это абсолютно любая живая программа, будь-то Microsoft Office или AIMP. Завершенные программы называются Abandonware :)
Вообще, не понятно что вы считаете «незавершенкой». Aspia — полнофункциональное решение, которое имеет все необходимые для использования возможности. И возможности эти уже реализованы.
Да, некоторые возможности будут добавляться в процессе развития и сейчас их нет, но точно так же эволюционирует и любое другое ПО.
Если считать за «незавершенку» отсутствие таких вещей, как обход NAT и кросплатформенность, то таким образом мы причислим к этим «назавершенкам» и многие коммерческие продукты, которые существуют уже много лет (например, Radmin, Ammyy).
Так же вы чрезмерно преувеличиваете сложность этого ПО. Все вполне реализуемо за разумное время. Я же не ОС пишу, не надо раздувать проблему.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории