Релиз приложения для удаленного управления: Aspia 1.1.0

    image После нескольких месяцев разработки, готов представить новую версию приложения для удаленного управления – Aspia.

    Предыдущая статья на Хабре вызвала большой интерес у многих читателей к разработке и я постарался сделать релиз новой версии максимально интересным.

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

    Основные изменения


    • Проведено разделение установщиков для приложения на «Консоль Aspia» и «Хост Aspia», каждое из которых теперь возможно установить отдельно.
    • Предыдущая реализация авторизации использовала обмен открытыми ключами для установки шифрованного подключения. Этот метод имеет ряд недостатков, один которых – это уязвимость к MITM-атакам. Новая версия использует SRP-авторизацию, после завершения которой мы имеем готовые к использованию ключи шифрования. Благодаря внедрению нового метода авторизации, использование приложения стало существенно безопаснее, но пришлось пожертвовать обратной совместимостью.
    • Реализована возможность переключения мониторов в многомониторных конфигурациях.
    • Вкладки с адресными книгами теперь можно «закреплять». При последующих запусках приложения, «закрепленные» вкладки будут автоматически открыты.

    • Установщик «Хост Aspia» теперь умеет автоматически импортировать файл параметров при установке. Вы можете подготовить файл параметров единожды, выполнив все необходимые настройки и добавление пользователей. Настраивать каждый компьютер в отдельности теперь не обязательно. Подробнее про функцию можно прочитать в документации.
    • В «Управлении рабочим столом» теперь возможно просмотреть системную информацию об удаленном компьютере. Включает в себя информацию об операционной системе, материнской плате, BIOS, процессоре, оперативной памяти, логических дисках, сетевых подключениях и установленных принтерах). Всю полученную информацию возможно сохранить в HTML-файл или распечатать на принтере.

    • Реализовано управление питанием удаленного компьютера. Теперь вы можете выключить или перезагрузить компьютер, завершить или заблокировать сеанс пользователя.

    • Реализовано масштабирование изображения. Возможно два независимых вида масштабирования: на стороне клиента (банальное вписывание изображения в размер окна) и на стороне хоста. При масштабировании на стороне хоста, уменьшается количество данных передаваемых по сети.



    • Теперь вы можете блокировать ввод пользователя на удаленном компьютере.
    • Эффекты и обои рабочего стола теперь по умолчанию отключаются на время соединения. Это позволяет несколько повысить скорость работы, что особенно заметно на медленных подключениях.
    • Реализована проверка обновлений и возможность запуска удаленного обновления приложения.

    • Для сжатия информации вместо библиотеки zlib теперь используется zstd, которая по результатам тестирования обеспечивает лучшее сжатие за меньшее время.
    • При наличии аппаратной поддержки у обоих сторон, теперь используется шифрование AES256 GCM, а в случае отсутствия поддержи у одной из сторон – ChaCha20+Poly1305.

    Это далеко не полный список новых функций, но наиболее значимые из них. Более подробный список изменений доступен на сайте.

    Благодарности


    Большое спасибо всем, кто принял участие в разработке и тестировании. Спасибо переводчикам, которые сделали возможным использование приложения на Украинском и Голландском языках.

    Отдельное спасибо разработчикам анализатора PVS-Studio за предоставленную бесплатную лицензию.

    Так же спасибо тем, кто поддерживает проект финансово. Я очень ценю вашу помощь и она мотивирует меня двигаться дальше.

    Дальнейшие планы


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

    Работа над следующей версией будет полностью сосредоточена на реализации обхода NAT. Это самая востребованная из недостающих возможностей.

    Ссылки


    → Официальный сайт
    → Страница проекта на GitHub
    → Группа в Telegram
    Поделиться публикацией

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

    • НЛО прилетело и опубликовало эту надпись здесь
        +1
        Самое интересное-то в конце! Ждём следующего релиза :)
        Прокси-сервер планируете делать для преодоления NAT, или через NAT пробиваться в виде открытия порта со стороны хоста?
          +3
          Планируется реализация своего ID-сервера.
          ID-сервер будет выдавать клиентам идентификаторы, определять тип NAT и давать оптимальный способ обхода, исходя из поддерживаемых обоими сторонами соединения. Это может быть, например, полное проксирование, прямое соединение (в случае, если хотя бы одна из сторон не за NAT) или STUNT (т.к. соединение, на данный момент, только TCP).
          Для первоначальной реализации будет достаточно полного проксирования и прямых соединений. В дальнейшем будет возможно расширить поддержку способов обхода.
          Проксирующий сервер при этом будет являться отдельным приложением, которое может быть установлено отдельно от ID-сервера.
          И, конечно же, все это будет с открытым кодом и бесплатно. Каждый сможет установить свой приватный сервер и использовать его по своему усмотрению.
            0
            Спасибо за ответ! Задумка вроде крутая. Под *nix будет сервер? (планируется в смысле :) )
            То что TCP — плохо, особенно под wifi, ведь в таких вещах как удалёнка можно безболезненно пропускать часть пакетов(между контрольными фреймами). А такой функционал должен закладыватсья еще на верхрем уровне. А раз начинали с TCP то он наверно не заложен?
              0
              Да, я думаю, что будет. Во всяком случае, его будет не сложно сделать. Ничего платформо-зависимого использоваться не будет.
              Что касается TCP, то не считаю это проблемой. Вполне возможно реализовать и UDP, просто в этом случае будет командный канал (потери в котором недопустимы) и видео-канал, где часть данных терять можно. Но, опять же, это доступно только для кодеков VP8/VP9.
                0
                Может есть смысл рассмотреть протокол QUIC? Connection Migration может быть полезен.
          0
          Спасибо за релиз.
          Подскажите тестирую по wi-fi подключился, запустил youtube и начинает дико тормозить, чем дальше идёт видео то у моих дальнейших действий задержка всё больше. Если свернуть бразуер на удалённом пк, в aspia всё ровно он еще будет отображаться. Я так понимаю используется какой то временный кэш, его можно отключить?
            0
            Приложение стремится к достижению необходимой часты обновления экрана, но сеть или кодирование у вас не успевает за обновлением экрана.
            Для использования вместе видео-контентом, лучше переключиться на кодеки VP8 или VP9.
            0
            Когда завезут поддержку Debian/CEntos как хост систему вместо windows?
              0
              Версия для Linux входит в планы, но не в самые ближайшие. Никаких сложностей не должно возникнуть.
                0
                И macOS не забывайте :)
                  0
                  с внешнки нельзя под рубиться? все userы должны быть в одной сети?
                    0
                    А начать можно с клиента под Linux. Сейчас приходится пользоваться Remmina/RDP, со всеми вытекающими неудобствами.
                  –10
                  Работа над следующей версией будет полностью сосредоточена на реализации обхода NAT. Это самая востребованная из недостающих возможностей.

                  Понимая это какого вы год занимались другим? Это при том что самый простой, но покрывающий потребности 98% пользователей, вариант с upnp открытием порта и сообщением по телефону на какой ip:port коннектиться реализуется за день…
                  Планируется реализация своего ID-сервера.

                  Сделайте вариант без этого для тех кому не лень ввести ip:port как сказано выше и не зависеть от вас…
                  Версия для Linux входит в планы, но не в самые ближайшие. Никаких сложностей не должно возникнуть.

                  У вас даже в wine не запускается поделка — так что сложностей там будет полно, часть которых опять же вы могли решить за день сделав запуск клиентской части в wine, но вы виндузятник махровый…
                    +5

                    Как приятно требовать, да? Чем хотел разработчик, тем и занимался. UPnP бесполезен без выделенного IP на роутере, у всех он есть? Если есть, UPnP точно включен? Я выключил у себя.
                    "Поделка" — покажите своё, близкое по функционалу, или оставьте свой пренебрежительный тон. У ПО есть недостатки, но оно (ПО) молодо и роадмап намечен верный. А вы скорее снижаете мотивацию им заниматься. Фу таким быть, фу.

                      0
                      вариант с upnp открытием порта и сообщением по телефону на какой ip:port коннектиться реализуется за день…

                      вот тут если можно поподробнее, как домохозяйки это должны сделать?
                        0
                        домохозяйкам ничего не нужно делать кроме того что продиктовать цифры которые им покажет программка…
                          0

                          Повторю свой вопрос, очевидно вы его не заметили. У скольки домохозяек в мире есть выделенный ipv4 и у скольки из них включен UPnP на роутере?

                        0
                        Понимая это какого вы год занимались другим? Это при том что самый простой, но покрывающий потребности 98% пользователей, вариант с upnp открытием порта и сообщением по телефону на какой ip:port коннектиться реализуется за день…

                        В статье написано, чем я занимался. Было необходимо решить проблемы, которые мешали двигаться дальше. Реализацию обхода NAT я планирую сделать полноценную и универсальную, любые костыльные решения я не хотел бы использовать. Ваше решение не на много лучше ручного пробрасывания порта на маршрутизаторе.
                        У вас даже в wine не запускается поделка — так что сложностей там будет полно, часть которых опять же вы могли решить за день сделав запуск клиентской части в wine, но вы виндузятник махровый…

                        Это скорее вопрос к Qt и Wine. Консоль полностью написана с использованием Qt, почти ничего платформозависимого в ней нет.
                        –2
                        продолжаю лениво смотреть за проектом. Как курсовая/дипломная работа — Да! Зачёт. А вот как приложение, которым буду пользоваться — НЕТ! Повторюсь (и пол года назад и неделю назад) один чел такое не осилит. Не по голове и рукам (тут у автора всё в порядке) а по времени. Тупо нехватка времени, чтоб во всё вникнуть, а потом ещё и своевременно править код, вслед за изменениями основных ОС. Это к автору ещё не стучались в гости касперские/яровые/фсб.
                        Пол года назад мне было жаль времени автора, теперь нет — пусть пилит свою гирю…
                          0
                          Вполне даже осилит. Особо не во что вникать, все вполне ясно и понятно. Никаких принципиальных изменений в ОС (по крайней мере в Windows) за последние 10 лет не было. Один и тот же код работает и в Windows 7 и в Windows 10.
                          0
                          Попробовал. Сразу нарисовались хотелки, из которых первая — авторизация Windows. Куда их слать, кроме как в /dev/null? :)
                            +2
                            Ну, то есть, GitHub/Issues вы даже не рассматриваете? Раздел «Контакты» на сайте?
                            0
                            А возможно как-то импортировать список компьютеров в адресную книгу?
                              0
                              Пока такой возможности нет.
                              0
                              Круто, как-то пропустил предыдущую статью.
                              А можно вашим приложением организовать вот такое habr.com/ru/post/325860?
                              Ну т.е. подключаться к хостам по DNS имени вызовом консольного приложения.
                              А доменная авторизация возможна? есть в планах?
                                0
                                «Консоль Aspia» позволяет подключаться через командную строку, но не дает возможность передавать через нее пароль.
                                Доменной авторизации, к сожалению, пока не реализовано.
                                  0
                                  Будет некий диалог запроса пароля?
                                    0
                                    Да, конечно. Имя пользователя так же опциональный параметр. Будет выведен диалог авторизации.
                                0
                                с внешнки нельзя под рубиться? все userы должны быть в одной сети?
                                0
                                Отличная программа, периодически пользовался предыдущей версией.
                                Было бы ооочень круто, если бы добавился функционал копирования файлов через Ctrl+C Ctrl+V, как сделано в RDP и RealVNC или TeamViewer. Это гораздо удобнее, чем диалог копирования файлов.
                                  0
                                  Круто… Поставил. RDP штатный отложил в сторону.
                                  Из кодеков самое адекватное работает VP8
                                  VP9 вообще не заработал или я не дождался просто. На ZSTD почему то все тормозило.
                                  Гигабит на обоих машинках.
                                  Что касается пожеланий. Андроид бы и конечно же линукс.
                                  У меня в телефоне есть такая функция DEX(Подключаешь телефон к любому монитору/телевизору и включается десктопный вид). И самсунг запилили под dex убунту. (linuxondex.com). Установил. Работает. Чем то наверно отличается от классической. Мне как виндузятнику с ходу отличий не видно от обычной убунты.
                                  То есть устроит любой вариант.
                                  Спасибо
                                    0
                                    Интересно было бы почитать о том, как именно и для чего вы использовали приложение, что у вас все так тормозило.
                                    Я тестировал на соединении в 512кбит/c, все вполне неплохо работало.
                                    Если вы пытались на 4К разрешении делать онлайн трансляцию видео на полный экран, то это использование ПО не по назначению. Aspia — это приложение для удаленного управления ПК, удаленной работы, оказания помощи. Оно не предназначено для онлайн трансляции полноэкранного видео.
                                      0
                                      Упаси боже какие трансляции )
                                      Просто софтинка висит на серваке которую периодически надо «потыкать» :-)
                                      Удаленное разрешение 1600*1200. Иначе не возможно работать на 4к мониторе. Как то растянуть или масштабировать не получилось.
                                      В целом сильно лучше RDP конкретно у меня работает. я в РФ сервер в NL
                                        0
                                        Я думаю, что когда-нибудь сделаю функцию изменения разрешения мониторов.
                                        Масштабирование имеется. На стороне хоста только в меньшую сторону (от 50% до 100%), на стороне консоли возможно только вписывание изображения в размер окна, но думаю, что вас такой вариант не особенно устроит, т.к. будет «мыло».
                                    0
                                    Пользовался софтиной… но то ли я попал на волнорез-изменений, толи так задумано, но потерялась функциональность трансляция вебки. Сначала были изменения с надписью на экране, потом вообще исчезла. Причём аналогичная функция исчезла и у аналога LM: у Вас один учредитель?)
                                    В целом, проект годный, и есть нюансы)
                                      0
                                      Если честно, то совершенно не понял о чем речь. Никакой функциональности по трансляции вебки не было никогда.
                                      0
                                      удаленная перезагрузка/выключение конечно неплохо, но вот чего не хватает — так это удаленного включения, а заодно настройки сетевухи на принятие WOL.

                                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                      Самое читаемое