Представляю вашему вниманию ваш будущий маленький Teamviewer. Полностью открытый, с клиентами на все платформы. Заявлено небольшое потребление серверных ресурсов. Из коробки умеет ходить через наты, как любой уважающий себя AnyDesk. Поскольку ваш сервер, скорее всего ближе к вам географически, то и картинка будет передаваться быстрее, да и зашифрован трафик будет вами же.

На сайте есть документация по развертыванию сервера. Но я хочу docker-compose и поэтому иду за ним на гитхаб и меняю в нём две строки:
command: hbbs -r rustdesk.example.com:21117
command: hbbr

на
command: hbbs -r rustdesk.mysweetdomain.org:21117 -k _
command: hbbr -k _

Я указал свой доменный адрес, причём адреса внутри сети и снаружи у домена разные. Клиенты находящиеся как в моей сети, так и в интернете где-то за натом, несмотря на это, ходят друг другу в гости без проблем. И установил ключ -k _ для того, чтобы шифрование было обязательным. Если вы не будете указывать на клиенте публичный ключ сервера, то соединение не будет зашифровано. Можно и не шифроваться, но почему бы и нет? Да и лишний никто не присосётся.

Далее взмах docker-compose и сервер уже работает и слушает локальные порты. Пробрасываем на роутере 21115,21116,21117,21118,21119 tcp и 21116 udp.

В докере, запущено два контейнера hbbs и hbbr, надо войти в оба из них и посмотреть что у них в файлах ./id_ed25519.pub и ./id_ed25519. Вам нужно сделать так, чтобы в обоих контейнерах эти пары файлов были одинаковыми, иначе вы увидите эту ошибку. Содержимое ./id_ed25519.pub - это и есть ключ. Его надо поместить вот сюда:

В виндовый клиент можно передать эти параметры назвав бинарник клиента, например вот так:
rustdesk-host=rust.mysweetdomain.org,key=wESFQlLasdasdasd5ZGkGZcsas123vasdwRFes=.exe
После этого вы сможете увидеть их в About:

Далее раздаёте всем хитро названый бинарник и пользуетесь!

Работает очень быстро. С телефона удобнее чем RDP! Всем бобра!

Комментарии (28)


  1. cruzo
    19.06.2022 17:17
    +4

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


    1. Hait
      19.06.2022 18:20

      https://github.com/rustdesk/rustdesk/wiki/FAQ

      В FAQ, вроде, написано, что бесплатное. Или я не так понял

      >> How much does the community version of RustDesk server cost?

      The community releases are free of charge if you wish to self host, no license is required.


      1. mk2
        19.06.2022 18:31
        +4

        Судя по записи ниже >The server is asking me for a license, where can I get one from? — раньше community server тоже требовал лицензию, но сейчас это убрали.

        P.S. Я думал файл в статье называется hbbr потому что статья для habrahabr, а оказалось это и у них так.



    1. ELForcer
      21.06.2022 01:35

      Изначально самохост хотели сделать платным, но сроки не были указааны. Затем 13 мая разрабы подпилили сервер под лицензию GNU GPL v3: https://github.com/rustdesk/rustdesk-server/commit/9bdd2835486b6027569fc4fc3bb8ebdadda20ff0

      Далее по коммитам вверх можно посмотреть как вырезалась проверка лицензий. Ну и в справочниках везде было выпилено упоминание про платность самохоста и демо-версию выложенного сервера.


  1. shibanovan
    20.06.2022 09:30

    Хм. А у меня pub сгенерился с косой чертой - / которая является недопустимым символом windows :/ как быть?


    1. vsviridov
      21.06.2022 09:46
      -1

      удалить ed_25519* и перегенерить, надеясь, что будет без черты.


  1. camojiet Автор
    20.06.2022 09:43
    +2

    Снесите оба файла, перезапустите контейнеры и появятся новые ключи, надеюсь вам повезёт.

    Пока из недостатков нашёл, что подключается не очень быстро, 25 секунд - это не мало. И с RDP сессиями пока не понял, что делать. При установке клиента на терминальный сервер я подключаюсь к консоли. Однако, если его не ставить то, схватывает ту RDP сессию в которой он был запущен. Допускаю, что будет какой-то выпендрёж, когда два пользователя на одном терминальном сервере будут ждать поддержки. Надо тестить.


  1. riv9231
    20.06.2022 11:31
    +5

    Рекомендую рассмотреть этот проект: https://www.meshcommander.com/meshcentral2
    Нужно развернуть свой сервер, после этого можно через web-интерфейс сгенерировать агент на любую платформу или ссылку на него. Агент предоставляет доступ подобно тимвьюверу, к экрану (а так же к RDP-сессиям, что очень удобно), к консоли, к передаче файлов и к буферу обмена.
    Из интересных особенностей:
    - клиент работает целиком через браузер, т.е. вам не надо ничего ставить на свой ПК, чтобы подключиться к агенту.
    - можно включать запись всего что делается на управляемом экране или в консоли (!). Запись включается вручную или принудительно на уровне сервера.
    - можно создавать временные ссылки с заранее заданным доступом в определенное время.
    - агент можно устанавливать, тогда он будет работать как служба или демон или однократно запустить, как тимвьювер без установки.
    - может включать другие устройства, находящиеся в одном сегменте с тем, на котором стоит агент по сети

    Если бы я познакомился с этим проектом до того как начал использовать тимвьювер, я пользовался только им.

    Из недостатков можно отметить, способ захвата и записи сессии - VNC, если будет видео проигрываться, то плавности передачи картинки как в RDP со сжатием через видеоускоритель, не будет.


    1. JekaKey
      20.06.2022 14:03

      Copy\Paste файлов работает? А принтеры пробрасывает и папки?


      1. riv9231
        21.06.2022 02:21

        Copy/Paste нету. Есть файловый менеджер через который можно скачивать и загружать файлы, что, конечно не так удобно. Принтеры не пробрасывает. Кстати, помимо его основного способа передачи изображения, можно подключится через RDP. В этом режиме, mesh central, по сути, для вас "пробивает" NAT.

        На мой взгляд, mesh central больше подходит как инструмент тех поддержки, а не коллективной работы. Что же касается именно работы, то крайне желательно не только Copy/Paste и "проброс" принтеров и папок, но и аппаратный захват и сжатие видеопотока (кстати это есть в AnyDesk).


  1. 027
    20.06.2022 11:43

    Работает очень быстро.

    подключается не очень быстро, 25 секунд

    Гм...


  1. Tarakanator
    20.06.2022 12:27

    Чем лучше чем RDP+VPN?


    1. camojiet Автор
      20.06.2022 13:51

      Тем, что шагает через НАТы.


      1. Tarakanator
        20.06.2022 14:05

        Так zerotier тоже через NAT шагает.


      1. BIG666
        20.06.2022 14:06

        Дык и ВПН через наты


        1. camojiet Автор
          20.06.2022 14:42
          +6

          Заменить Teamviewer VNC + VPN... да... это что-то. Вы либо тролли, либо никогда не делали о чём пишете.
          Я представляю...
          - Сделай мне удалёнку на домашнем компе.
          - Без проблем! Только поставь VPN и VNC...
          И ещё чтобы VNC без пароля пускал, если связь оборвётся )))

          Teamviewer и Anydesk же придумали дураки от нечего делать. VNC же есть и VPN... с Zerotier... Мда...


          1. Tarakanator
            21.06.2022 08:56

            я изначально не понял что это за приложение.
            Изначально я так понял это чтоб удалённо подключаться без внешнего IP, а по факту это походу единый сервер типа как teamviewer, только свой.

            Если как простой способ подключиться к клиенту, то наверно оправдано...


  1. lv333
    20.06.2022 15:35
    -5

    Чего только люди не на придумывают что бы не использовать ssh туннели(как прямые так и обратные), сервер под которые есть по умолчанию везде, как и клиент в общем... Написал одну строчку вот тебе vnc, rdp, smb да все что угодно из того что нормально по tcp работает и проброшено куда надо! И шифрование на выбор на уровне туннеля из коробки.


    1. iroln
      20.06.2022 23:47
      +3

      Это же "однокнопочное решение". Works out of the box, no configuration required. Скачал бинарник, запустил — работает. Расскажите моей бабушке как поднять SSH туннель, чтобы помочь настроить ей компуктер.


      1. camojiet Автор
        21.06.2022 01:34

        Кстати этот rd может строить tcp тоннели. Прикол как раз в построении туннелей.


  1. shibanovan
    20.06.2022 16:46

    А вы не разобрались, можно ли там как то использовать функционал адресной книги? Клиент логин/пароль спрашивает.... или это уже платно?


    1. camojiet Автор
      21.06.2022 02:07

      Запоминает. Вообще не видел ни одного ограничения, связанного с бесплатностью. Адресная книга - неплохая.


      1. camojiet Автор
        21.06.2022 03:53

        О... я господин соврамши.
        Есть история ваших соединений, где можно придать название адресу. Можно эту запись добавить в избранное, по мне это уже и есть адресная книга (я и этим то раньше не пользовался).
        Но во вкладке "Адресная книги" просят ввести логин и пароль. Зачем и от чего - не знаю.


  1. BartonFink
    20.06.2022 22:42

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

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


    1. camojiet Автор
      21.06.2022 02:09

      Попробовал - в обе стороны летят сообщения.


    1. Rsa97
      21.06.2022 07:35

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


  1. camojiet Автор
    22.06.2022 03:37

    Накопал сегодня ещё один self-hosted аналог со схожими функциями. Remotely. Админка с подключашкой в Web, так же легко стартуется докером, порт один, прокидывается через nginx proxy manager.

    Пользователь может скачать в вебке бинарник для Win32,64 и Linux 64 (весит нескромно 140 мег). Пользователю придётся вписать url вашего сервера разок при запуске. Подключается моментально, хорошо работает, передача файлов, видит виндовые RDP сессии, может записывать сессию(!).

    Не получилось его установить на планшет (win 10 32). Запустить - без проблем, а установить - нет. На RDP серваки не ставил, пока не до экспериментов. Но решение точно заслуживает внимания.