Comments 296
Можем ждать от вас статью когда это произойдет?
1. В проекте из сторонних компонентов используются: Qt, libsodium, protobuf, libyuv, libvpx, zlib-ng. Все эти компоненты собираются для Linux/MacOS (с использованием соответствующих инструкций по сборке этих библиотек или собранных вариантов из вашего дистрибутива).
2. Весь UI и почти весь код написан с использованием стандартного Qt и stl и с учетом дальнейшей кросплатформенности.
3. Для реализации версий для Linux/MacOS необходимо: реализовать захват видео, пользовательский ввод-вывод (клавиатура-мышь), демон (аналог виндовой службы), а так же взаимодействие с сеансами пользователей (вход пользователей, выход пользователей из системы; не уверен, как правильно это называется в *nix).
4. Реализовать различные мелкие платформозависимые вещи (которые на первое время могут быть заменены заглушками, например, получение ассоциированных с типом файла иконок).
5. Добавить поддержку платформы в cmake-файлы.
6. Сделать установочные пакеты для распространенных систем.
В основном, это все что требуется.
Если кто-то готов помочь с реализаций, то всеми возможными способами окажу содействие.
При этом стоит учитывать, что очень многое из этого можно подсмотреть или заимствовать из WebRTC/Chromium.
Захват экрана для Linux/macOS можно взять из ffmpeg.
Если вы встроите библиотеку ffmpeg в программу, то сможете использовать уже готовые алгоритмы захвата видео и аудио, любые кодеки и аппаратные кодировщики.
Посмотрел код, хорошо всё написано.
Но действительно не хватает поддержки других платформ.
Я бы начал ей пользоваться, но у меня macOS.
Требуется подключаться к windows и macOS.
А пока вынужден пользоваться teamviewer, но он всё больше и больше расстраивает.
Если вырастите проект до поддержки хотя бы двух OS (windows, macOS) будет просто великолепно!
Как я понимаю, ip должен быть фикс и порт проброшен. Нет идеи добавить небольшой прокси сервис, которые ставится на внешний VPS?
Будет сам себе такой teamviewer с усами.
Для «selfhosted-teamviewer» подобного для начала будет достаточно.
Понятно, что руками можно, но пользователю подобное фиг объяснишь =)
ЗЫ — киллерфичей можно сделать скачивание пабключа по урлу (помимо параметров подключения к ssh) из настроек и/или параметров запуска, чтобы можно было шарить готовый ini-ник для подключения или готовый ярлык.
Антивирусы, по всей видимости, еще про программу не знают. Вся сложность в том, что на некоторые приложения для удаленного доступа они никак не реагируют.
У Касперского есть программа Whitelist. Мое приложение отвечает всем требованиям этой программы, я написал им, пообщался с менеджером. Отправили мой запрос разработчикам, сказали, что в течение 3 недель ответят.
С DrWeb ничего не понятно. Я им писал, сказали, что поведение их антивируса — это внутренняя информация. Никаких аналогов Whitelist у них нет.
Другими антивирусами пока не занимался.
Проблема сама собой отпадёт когда окончательно похоронят IPv4 и все перейдут на IPv6.
ip должен быть фикс и порт проброшен
ZeroTier (open source виртуальная LAN, типа Hamachi) легко решает эту проблему. Вот простое краткое описание и опыт использования (англ.).
zerolab.net/?p=2248
2. Так же во всех известных мне приложениях очень скудная адресная книга. Например, нет поддержки зашифрованных адресных книг с мастер-паролем. Каждый раз заходить в менеджер паролей, чтобы подключиться к компьютеру — то еще удовольствие (исключение: если у вас везде простые и одинаковые пароли).
3. Aspia — это не только удаленное управление рабочим столом. Сейчас я пишу поддержку сессии «Информация о системе». Станет возможно очень быстро собрать отчеты по всей адресной книге или ее части (оборудование, приложения, ОС, сеть; для лучшего представления о возможностях). В дальнейшем планируется пойти еще дальше: сделать возможность автоматического выявления проблем на компьютерах (перегрев, заканчивающееся место на жестком диске и т.д.). Так же, информация о системе позволит помочь с инвентаризацией оборудования.
Плюсом к этому протокол VNC даже не поддерживает шифрование (всякие надстройки не в счет). Древний протокол, который ничего толком не умеет и не может.
RDP так не не является аналогом. Абсолютное отсутствие каких-либо удобств для пользователя. Привязка к авторизации средствами Windows вообще ставит крест на многих случаях использования (когда пароли у пользователей отсутствуют или имеют вид «123»). Только если еще и VPN поверх всего этого городить.
Что остается в итоге? Ничего.
Я никогда не видел полноценной адресной книги нигде. В основном, все ограничивается тем, что туда можно добавить компьютеры и группы компьютеров. На этом весь функционал заканчивается.
И опять же напоминаю, что Aspia — это не только удаленный рабочий стол. Я не зря назвал приложение для открытия адресных книг и подключения к компьютерам «Aspia Console», а не «Aspia Viewer».
Быстрое подключение тоже присутствует, из статьи не очень понятно какие еще плюшки нужны от адресной книги.
Remmina, кстати, коннектится не сама, она внешние тулзы вызывает, по идее Aspia к ней довольно просто будет прикрутить.
Про VNC уже отвечал.
Простите, но там нет ответа.
Там «Недостаточно функций и старье».
Хотелось бы более развернутый ответ получить.
2. Для авторизации на уровне протокола используются алгоритмы, которые уже просто нельзя использовать ввиду их небезопасности (алгоритм 1977 года, возможен полный перебор за разумное время).
3. Ограничение длинны пароля в 8 символов.
4. Нет разграничения прав доступа.
5. Нет поддержки многопользовательских конфигураций.
6. Реальные реализации для Windows крайне медленные, если не использовать mirror-драйвер (используют хуки для определения измененных областей экрана).
Часть из проблем решается надстройками, но в целом протокол уже морально устарел.
2. Если вся сессия зашифрована, то какой смысл отдельно требовать надежного шифрования от авторизации? Ну и если говорить про windows, то возможно даже прозрачную авторизацию настроить, без паролей.
3. Зависит от реализации. Авторизация с помощью доменных учёток решает проблему.
4. «Врете вы вси» ©. В UltraVNC точно есть, но сильно ограничено по функционалу — просмотр или интерактив. А какие еще варианты могут быть? Или Вы имели ввиду многопользовательскую авторизацию? Она есть в том же UltraVNC.
5. См. п.4.
6. Ну вот очень сильно от прямоты рук и нормальности железа зависит. На парке 100+ lenovo-моноблоков вполне успешно эксплуатировал в 2017-м. На всяких atom-ах с PowerVR, вместо нормальной встроенной видеокарты будет тормозить, это да. Хотя кино конечно не посмотришь вообще ни как.
7. Да, протокол уже устарел. Но и сама концепция настройки ПК через удаленный просмотр устарела (сейчас в моде тонкие решения). А коли у Вас пользователи до сих пор хранят и обрабатывают файлы не в облаке, то почему бы и поддержку не организовать устаревшими на 20 лет средствами?
Только не поймите меня не правильно — Ваша работа безусловно полезна и интересна, но не думайте что Вы занимаете абсолютно пустую нишу — здесь уже занято и за место нужно побороться.
Разве что можно повесить задачу авторизации на ту же самую утилиту что занимается шифрованием, а VNC настроить вообще без авторизации…
По поводу удаленного сбора информации о компьютере — старая версия не работает ?
2 — скачать образ для вм и и запускать TeamViewer в ней. Когда дадут 5 минут соединения, вм удалить и новую поставить. Тут скачал и уже 2 года спокойно использую
При этом я полностью уверен, что мое решение не перестанет работать в произвольный момент, а функционал будет тот, который нужен мне, а не производителю коммерческого продукта.
vnc для управления удаленным рабочим столом
jabber для передачи сообщений о желании соединится через ретранслятор (то что есть у тимвьювера — идентификатор пользователя и возможность подключаться через внешний сервер)
ssh для безопасного соединения и передачи файлов
Пояснение: есть ssh, заточенный для прогона траффика. И через него обычно работает git, rsync и тот же vnc, авторам которых не надо париться о шифрованиях, аутентификациях и т.п.
В ручном режиме работать с каждым инструментом муторно, хочется полноценного готового решения, но желательно на известных и проверенных технологиях.
Или это при нестандартно использовании?
Просто почти ежедневное соединение между домом/офисом часов по 5 без перерывов. Часто висит просто фоном. Никогда не прерывало (за 5 лет уже к ряду).
Бывает работаю с дальним востоком или Евросоюзом.
Теперь возникают мысли — чего это я так выбиваюсь из статистики?
Но после примерно 5 клиента эта зараза начинает вопить о коммерческом использование со всеми вытекающими.
Отказался бы от тимки в пользу АммиАдмин. Но… не все хотят менять тимку на что то другое.
ps: проверил, сам сайт отказывается давать ссылку, т.к. сижу из chomium. Вот и ответ, почему ни кто не хочет переходить на ammy.
Крайний раз их взломали месяц назад. Опять. И т.д.…
А еще у них сайт без https.
Просто складывается ощущение, что эти ребята целенаправленно забили на безопасность своего продукта и своих клиентов.
Почему-то тот же TW в этом не замечен (не сочтите за рекламу). И уж если сравнивать AA3 и TW, то TW на порядок популярнее. Возможности, по сути, одинаковые. Они вообще отличаются только безопасностью и коммерческой моделью (лицензия vs подписка).
только 5 минут дает
Программа как бы коммерческая. Как и ammyy. Хотите бесплатно, безопасно и без ограничений — юзайте opensource. Например софт топикстартера или vnc+vpn.
по платежам отследить могут…
Т.е. Вас не смущает, что в фоне висит программа, инсталятор которой периодически дополняется всякой живностью, может делать что угодно на свое усмотрение с Вашими файлами (исходник то закрыт) и постоянно посылает данные о своем местоположении (как минимум alive-пакеты). Что еще может узнать автор программы о Вас, чего он не может узнать самостоятельно? Да и завести карту на Джамшута ни что не мешает.
Или Вы скрываетесь не от автора программы, а от органов и/или владельцев серверов, к которым подключаетесь? Ну тогда и ammyy я бы Вам пользоваться не советовал — спалитесь.
Действительно.
Но в таком сценарий tw и aa3 неудачный софт, т.к. пользователь может увидеть Вашу активность. Обычный telnet удобнее, я уже молчу о специальных программах.
Да и ограничение tw перестает играть — новая жертва — новая виртуалка для грязных дел. А на новой виртуалке tw почти без ограничений.
Может оно рвет только при длительном бездействии?
А, да… может это важно — с моей стороны был «сервер», портабельный вариант. Надо было человеку предоставить доступ к внешнему винчестеру. Вероятно, когда хотябы один вариант либо сервер либо клиент с оплаченной услугой, то сиди сколько хочешь.
И если подключиться к Win Server, то автоматом считается корпоративным использованием.
VP8 это хорошо, но без H.264 не круто — он, в отличие от VP8, аппаратно реализован в любой кофеварке
Как Aspia себя ведёт — не знаю: винды нет, в вайне не установилось, пробовать не на чем)
Впрочем, это оффтопик; если VP8 и правда не такой уж тормозной и кодируются только изменённые области, то, наверно, хорошо
У меня есть идея сделать подобное, но несколько иначе. Сейчас я пишу «Информацию о системе», а дальше планируется написать тип сессии «Управление системой» (по аналогии «Просмотр рабочего стола» — «Управление рабочим столом»). В этом «управлении системой» возможно сделать и диспетчер задач, и управление службами и т.д.
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);
1. Шифрование я не придумывал, используются стандартные алгоритмы, которые предоставляет библиотека libsodium (обмен публичными ключами, nonce, HMAC).
2. Это бесспорно. Проблема только в том, что руки у меня 2, а в сутках 24 часа :) Дойду и до этого. У меня есть определенный план развития проекта, которому я следую.
Два главных минуса RDP — серверная часть отсутствует на домашних версиях, и не возможно зайти в сессию пользователя так чтобы у него не появился экран блокировки(хотя ниже предлагают ключи /shadow /control — но вероятно это появилось в десятке, и на старых ОС не поможет, по крайней мере на XP не смог подключиться, надо будет ещё потестировать).
Подключение с разным кол-вом мониторов на двух ПК тоже конечно проблема, но достаточно специфичная.
2. По той же причине RDP сеанс недоступен для двух или более удаленных пользователей.
3. Возможность авторизации только средствами Windows
4. Отсутствие адресной книги
5. Привязка к Windows
По RDP вы не сможете быть подключены к компьютеру одновременно с пользователем, который находится перед ним. Сессия либо доступна в RDP-сеансе, либо на экране пользователя.
mstsc /shadow /control
?Это, конечно, в случае, если используются сервисы самого Microsoft.
RDP уже встроен в систему
А в Windows home edition тоже встроен? Я имею в виду служба удалённых рабочих столов.
Да, я знаю про https://github.com/stascorp/rdpwrap, но всё же.
________МОНИТОР
МОНИТОР МОНИТОР МОНИТОР
В результате кликает не по тем координатам, по которым кликаю я. И очень не хватает выбора монитора в свойствах подключения. Чтобы можно было выбрать: показывать все или какой-то конкретно. И еще бы это сохранить. А так очень рад появлению бесплатного Радмина. Сам в свое время пытался сделать, что-то подобное (и даже сделал и пользуюсь иногда), но завяз с тем, что взаимодействие с рабочем столом пользователя сложно было сделать из под службы, а пользовательским приложением нельзя залогинится. Для скорости, кстати, использовал LZO сжатие и 4/8 бит GrayScale. 16 цветов — все выглядит ужасно, но 16 оттенков серого :) — выглядит вполне прилично и сносно работает на медленных соединениях.
Когда-то сам пытался сделать что-то подобное, но не хватило на это сил, а позже мотивации. Хотя продвинулся очень хорошо.
Так же как и вы столкнулся с тем, что хорошие решения стоят денег, а бесплатные имеют кучу недочетов.
Самое главное, на мой взгляд, это работа через промежуточный сервер по аналогии Team Viewer.
Если будет хорошее бесплатное решение даже просто по удаленному управлению — вам скажут спасибо тысячи людей.
А если еще и воплотите все то, о чем задумали и написали выше, то вообще не будет вам цены.
Удачи Вам в этом не легком деле!
Я подхожу к разработке не только как разработчик, но и как пользователь. Надеюсь, что мой проект поможет кому-нибудь.
В идеале, для обхода NAT по максимуму использовать готовые решения для сервера-посредника.
Готов приступить. И команда есть.
Самое главное забыл написать. С NATом есть огромный опыт, и сервер посредник можем бабахнуть. Буквально 2 месяца назад пилили сервак для webRTC, но сейчас он перерос в комбайн для проксирования трафика всех клиентских АТСок.
en.wikipedia.org/wiki/Interactive_Connectivity_Establishment
Однако, придется отказаться от TCP, и реализовывать собственный протокол (или один из готовых) поверх UDP.
Вывод строк в окнах сделан циклом, по строке за раз.
Кажется, лучше сначала формировать список полностью и показывать его за один приём.
У меня на двухъядерном проце список DLL подгружался с минуту.
Ещё есть пожелание всплывающих подсказок на не полностью открытых элементах таблиц и хотя бы некоторых иконках.
Вы можете использовать Tor в качестве транспорта, в режиме 1-hop, чисто для обхода NAT. От вас, как от разработчика, практически ничего кроме настройки Hidden Service на программном уровне не требуется. Tor, вопреки распространенному мнению, достаточно быстрый, и его должно хватать даже для realtime-задач (в режиме 1-hop).
У Tox есть реализация прокси, очень удобная и быстрая, устанавливает соединение без посредников, если это возможно.
И ещё бы web версию админской консоли, чтобы из браузера можно было бы подключаться к удаленным машинам.
Не говоря уже о таком проекте, как KDE (одном из крупнейших, которые используют Qt). Как вы думаете, что использует KDE? Правильно, cmake.
В Qt очень хорошая интеграция с cmake, а cmake позволяет генерировать проекты для многих IDE, например, для Visual Studio.
Есть ещё AnyDesk. Для частного пользователя бесплатно. В платной версии есть и адресная книги и все остальное.
Подскажите, кто нибудь уже опробовал запуск на win10? В vnc насколько помню были жуткие тормоза с отображением статичной видео картинки.
Отлично. Выйду с отпуска, потестю. Кроме палки вариантов доната нет?
1. Aspia так же возможно развертывать в AD, внутри установочного exe файла находится msi, который можно распаковать.
2. Инвентаризация — это побочный бонус от информации о системе. Это что-то вроде сетевой версии AIDA. К тому же, я планирую сделать не только информацию о системе, но и управление этой системой.
3. Баг с мультимониторными системами уже известен, буду исправлять.
www.reddit.com/r/sysadmin/comments/3qkths/is_there_an_open_source_alternative_to_teamviewer/?utm_source=reddit-android
Никто не пользуется или там есть проблемы которые не позволяют пользоваться?
Я не имею никакого отношения к указанному продукту.
Меня лично, как параноика, интересует приватный сервис без использования сторонних серверов, именно этим и интересен данный проект!
Я прицельно искал, то что можно было использовать в продакшен (продакшен большой на большом количестве площадок) — очень мало альтернатив TV, точно не сотни, и даже не десятки.
1. Поддержку подключений из-за нат, как это реализовано, к примеру, в TeamViewer. Т.е. через внешний сервер.
2. Второе и самое главное — серверный модуль для использования именно своего сервера, без внешнего. Для меня, например, это будет очень удобная «киллерфича».
1. Ставить свой видео-драйвер (Быстрый, но замороченный). Вроде как начиная с Vista и старше появился специальный API позволяющий также быстро получать изображения экрана, минуя установку видео-драйвера и все бы хорошо, но XP еще жива.
2. Через GDI экран копируется в память. Это медленней и грузит процессор, но на современном железе приемлемо и работает на любой версии Windows.
Дальше полученное изображение разбивается на блоки (например 32*32) и все блоки прошлого кадра сравниваются с блоками нового кадра, и те, что отличаются, сжимаются и отправляются клиенту. При медленном соединении можно еще добавить небольшой трюк: если блок был поставлен в очередь на отправку, но еще не успел улететь из-за тонкого канала, а уже еще раз поменялся, то можно не накапливать очередь, а просто обновить блок в очереди на более новый. В результате пользователь может увидеть неравномерное обновление блоками, зато какая-нибудь анимация не забъет весь канал своими бесконечными обновляемыми участками.
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 это поддерживает.
Было бы хоршо прикрутить возможность вызова других каких либо функций через командную строку с разными аргументами на все случаи жизни.
1) Как только тимвьювер начинает шалить с 5 минутами, их хватает на
2) запуск и скачку aeroadmin и переподключения на него.
aeroadmin тормознее тима, дает 17 часов в месяц. Но это не каждый день, поэтому до сего времени обходился так.
Это в самой программе дело или что-то у меня не правильно? :)
PS: а программа понравилась. Работает всё хорошо. :)
Автору огромное спасибо за разработку. Мы работаем с удаленными пользователями и регулярно используем TeamViewer/AmyAdmin. Скажите, как у вас позиция с коммерческим использованием? Готов помочь материально, если получится использовать проект для поддержки пользователей. Программист я так себе, поэтому с кодом помочь не в состоянии, к сожалению.
2. Посмотрю.
3. У меня есть реализация mirror-драйвера, но использовать его проблемно, нужна электронная подпись для драйверов. Стоит дорого. Использовать стороннюю подпись нельзя, это противоречит условиям Whitelist. Реализация захвата с использованием DXGI API запланирована.
4. MSI инсталлятор уже имеется. NTLM авторизация запланирована на следующую версию. Программа бесплатная, для коммерческого использования в том числе.
5. Реализуемо. Для взаимодействия со службой просто используется IPC. Сейчас так же работают процесс сессии и уведомитель о подключенных сессиях (запускаются в сеансе пользователя).
Для работы в корпоративных сетях надо использовать сразу Kerberos.
5) Добавить еще одну супер востребованную фичу для корпоративного сегмента — win suid run — т.е. дать обычному пользователю поддержку запуска программ от имени администратора, без раскрытия пароля. В настоящий момент это либо костыли, либо очень неудачная реализация. Уже часто слышал про подобные неудобства среди людей, когда рабочая программа требует админских прав, но юзеру их давать опасно. Тут тоже не слишком сложно всё и легко реализуется если есть свой сервис с правами системы. Главное хорошо продумать о безопасности.Очень сложно реализовать. В современных версиях Windows сделано все, чтобы из сервиса нельзя было запустить интерактивную программу в текущей сессии и десктопе, от имени не-текущего пользователя. Я не видел ни одной программы, которая бы умела это делать (psexec и аналоги не умеют, могут только интерактивно запустить программу от SYSTEM, но не от другого пользователя, т.к. у SYSTEM нет LOGON-токена, даже у winlogon.exe нет LOGON-токена).
Но нашел сразу, чего не хватает.
1. Адресную книгу приходится каждый раз открывать вручную после каждого запуска приложения. Нигде в настройках не нашел возможности при запуске приложения автоматической подгрузки последней адресной книги.
2. Если на удаленном хосте разрешение экрана больше, чем на хосте с консолью, то для того, чтобы охватить весь экран приложение скроллит изображение. Было бы не плохо, если была бы возможность масштабирования изображения, чтобы экран удаленного хоста полностью «вписался» в экран хоста с консолью.
2. Масштабирование будет в следующей версии.
На сколько я понимаю все программы удаленного управления рабочим столом строятся на каких-то в среднем общих протоколах/библиотеках/etc. Подскажите что загуглить, чтобы вникнуть в матчасть? Спасибо.
А тихая установка с подготовленным конфигом планируется?
И возможна ли установка только сервера?
Ну и еще иногда очень хочется, чтобы была возможность передачи картинки в градациях серого, что значительно упростит работу при медленном соединении.
Аналог TeamViewer, только без поддержки *nix.
Очень интересный ход.
А если вашу разработку захочет купить скажем RAdmin, что делать будете?
На мой взгляд, в программе не хватает привязки к домену по LDAP, иначе поменять пароли доступа к удалёнке на 100+ машинах превратится в кошмар.
Из него же можно взять webrtc-транспорт, который может устанавливать P2P-соединения с обходом NAT (естественно, нужен внешний сервер, который обеспечит сигнализацию и проксирование в случае, если прямое соединение установить не удалось), что позволит создать возможно даже более совершенный аналог TeamViewer.
Также есть и реализации, не использующие код chromium/firefox, например
github.com/chadnickbok/librtcdcpp
![Don't run](https://habrastorage.org/getpro/habr/comment_images/b3d/8ca/4a6/b3d8ca4a6518405d8ccc94200240199c.png)
ЭЦП у вас есть, но это не помогло. Немного углубился в тему, нужен EV Code Signing-сертификат, тогда, вроде, это мерзкое окошко убирается сразу (стоит почти в 5 раз дороже, минимум нашел $349 ksoftware.net).
Не углублялись в этот вопрос? Нужно ли набрать определенное количество установок (какое?) или же можно просто отправить файл MS, чтобы они добавили в исключения? Кстати, рейтинг ведется для каждого отдельного инсталлера, т.е. при выпуске новой версии опять появится окошко?
Было бы не плохо, чтобы в верхней панели был значек минимизации окна текущего подклюения, а так же возможность подгонки размера удаленного рабочего стола под размер окна.
Для меня до сих пор не перебитым идеалом остался Remote Anything от TWD Industries. И да — он мертв. Но малый размер, например клиентская часть менее 100 Кб, двух или трехзвенная архитектура на выбор, встроенная возможность самозаполнения «адресной книги», путем отдачи разным клиентам заранее для них подготовленных и преднастроенных (адрес сервера, порт, название отдела для адрески) Slave.exe (причем настройка прямо из Slave.exe и делалась!). В общем архитектурно — почти идеал. Но даже тогда это было сильно небесплатно.
К сожалению умерло все с концом WinXP, если не ошибаюсь, там были большие терки и юридическое давление на них.
С нетерпением жду выпуска серверной части.
2. Все сторонние библиотеки написаны на C/C++
3. Оптимальная производительность C++ кода
Обратите внимание на библиотеку zstd (https://github.com/facebook/zstd).
И, пожалуйста, добавьте в информацию по донатам на сайте программы рублёвый Paypal, Яндекс-Деньги, итп.
Не буду дублировать то что уже написано много раз.
Мы компания занимающаяся аутсорсингом по направлениям обслуживание IT-инфраструктуры и информационная безопасность. Чтобы избежать возможных рисков у нас есть TeamViewer, в котором ведется видеозапись всех удаленных подключений. Планируется ли у вас такая функция?
Когда будет возможность удаленного подключения к компьютерам за NATом и функция видеозаписи, готовы попробовать внедрить вашу разработку (естественно не бесплатно).
Достаточно удобная штука. Пользователю ничего кроме браузера не нужно (работа напоминает CyberArk).
До 10 компьютеров бесплатная лицензия (для коммерческого использования тоже), свыше — несколько разных тиров с одноразовой покупкой (100-500 долларов). Есть и сбор информации о системе, и файловый менеджер отдельно, и диспетчер задач, и доступ из-за NAT, и self-hosted сервер можно поднять.
Безусловно, бесплатное open-source решение будет приятнее, но это вам как минимум для ориентира в плане фич (и остальным в качестве альтернативы).
(С компанией никак не связан, если что, не подумайте, просто использую уже третий год)
Возможно попробую вашу программу, так как для VNC не хватает двух вещей — более сложный пароль авторизации, и уменьшить количество запрашиваемых и/или отправляемых кадров в СЕКУНДУ. Самый щадящий способ — это когда на сервере задано отправлять только 1 кадр экрана каждые 0.5 секунд, одним пакетом.
Даже если часть этого кадра потеряется по дороге, хер лысый бы с ним, на следующий кадр придут данные.
Например для комфортного удаленного управления достаточно чтобы сервер отдавал 1-2 кадра в секунду, и больше не нагружал сеть отправкой лишних данных.
Это будет идеально для компьютеров которые находятся за 3G модемами с ужасно низкой скоростью.
Установил на оба ноутбука программу, как теперь соединить их? Какой адрес сервера нужно вводить?
Спасибо
А как с этой ошибкой бороться?
Сетевая ошибка: Удалённый узел закрыл соединение.
Думаю, было бы здорово добавить в программу мини гайд как раз для пользователей вроде меня, которые привыкли работать с тв.
Конкретно в моем случаи — это отсутствие каких-либо дополнительных антивирусов либо фаерволов, только родные решения от 10 винды настроенные по дефолту.
С этой проблемой будут сталкиваться сотни пользователей, и решение этой проблемы для всех будет по одному мануалу. В чем проблема кинуть на него ссылку в маленьком FAQ — непонятно.
Отдельное спасибо, конечно, людям минусующим комментарий с просьбой помочь решить проблему.
А конкретно проблемы с доступом по сети к системе надо смотреть в FAQ именно к вашей версии виндовс.
Если используются сторонние фаерволы, то тут я бессилен.
Ты можешь сделать приложение-сервер, для выдачи идентификаторов. В таком случае, необходим будет лишь один комп с белым статическим ip-адресом.
Клиентские программы при включении будут подключаться к приложению-серверу, получать номер-идентификатор, открывать порт и ждать. В свою очередь, сервер регистрирует все идентификаторы и порты. Скорее всего так ТВ и работает.
Со своей стороны готов поддержать VPS-кой для такого функционала!
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-ы все равно нужно будет покупать.
Помнится, Linux тоже изначально делался без заказа, без коммерции, под единственную платформу i386 и «для себя»...
Но зачем вы подняли этот топик спустя полгода? Такое чувство, будто до сих пор пригорает от существования конкурента)
времена наколенных/гаражных ОС прошли…
А чем наколенные программы, написанные профессиональными разработчиками в качестве хобби, отличаются от написанных ими же на работе? Ну кроме того, что в наколенных откровенной лажи обычно меньше, т.к. в хобби-проектах над душой не стоит менеджер с горящими планами релизов и с кривым ТЗ.
Насчёт «хобби на коленке», тут согласен полностью про «меньше лажи». Но хобби оно и есть хобби индивидуума. Рано или поздно другие индивидуумы задолбят автора своими хотелками и он будет вынужден или брать оплату для расширения функционала или забросит… хобби.
всех основных направлений
Огласите весь список, пожалуйста?
И с высокой вероятностью все обломится на NAT-e.
Почему? Как настроить проброску порта через домашний NAT, человек, которому нужно организовать удаленное управление домашним ПК, вполне себе разберется. А в корпоративной среде, если надо достучаться не до внутреннего сервера, а снаружи, есть админ, который тоже или настроит, или расскажет, почему он это запрещает пользователю. RDP ведь тоже не умеет в NAT, но это не мешает его использовать повсеместно.
RDP имеет смысл использовать только внутри подсети(хотябы VPN), в дикий мир открывать его я бы поостерёгся, слишком уж много уязвимостей.
А так же вариант предустановленной «коробочки»-роутера от провайдера доступа к которой для настройки у пользователя нет.
у вас бы вылезла другая проблема — порты доступные снаружи постоянно сканируют и пытаются использовать уязвимости
Вообще, так ведь и есть — если я подключу компьютер в сеть напрямую без роутера, его и будут сканировать. Так было всегда :) Именно поэтому и появились всякие Защитники Windows, которые за пользователя решают, что ему файрволить.
С другой стороны, сейчас ведь практически у всех роутеры стоят. Кто сейчас вообще подключается в Интернет прямым шнурком?
И скажем так, фаервол на роутере как правило отключают, т.к. он мешает развить требуемую скорость интернета. Железо слабое, что поделаешь. новые модели мощнее, но у всех ли они? Да и там по привычке отключат или неправильно настроят и привет, решето.
А мощности современных роутеров хватает с головой. У меня первый домашний роутер появился в 2003-м году, там уже был файрвол, который отлично справлялся со своими задачами даже с дефолтными настройками.
Realtek же всё-таки специалисты по сетевому оборудованию, я не думаю, что они никаких аппаратных блоков для типовых задач по обработке трафика в свой чип не всунули.
Да, некоторые возможности будут добавляться в процессе развития и сейчас их нет, но точно так же эволюционирует и любое другое ПО.
Если считать за «незавершенку» отсутствие таких вещей, как обход NAT и кросплатформенность, то таким образом мы причислим к этим «назавершенкам» и многие коммерческие продукты, которые существуют уже много лет (например, Radmin, Ammyy).
Так же вы чрезмерно преувеличиваете сложность этого ПО. Все вполне реализуемо за разумное время. Я же не ОС пишу, не надо раздувать проблему.
Программа для удаленного управления рабочим столом — Aspia