Rustdesk — это open-source альтернатива Anydesk и Teamviewer (полностью заменить Teamviewer, конечно, не может, но для своей цены достаточно хорош). Rustdesk состоит из нескольких компонентов: сервер (API и регистрация), relay-сервер, клиент и установщик.
Я добавил «безопасный» (с паролем) HTTP-сервер для раздачи кастомных скриптов установщика как для Windows, так и для Linux.
Страница программы:
Исходники программы:
Установщик, который я использовал, частично взят отсюда:
Исходники моего контейнера:
Сервисы Rustdesk (hbbs, hbbr) слушают порты: 21115, 21116, 21116/udp, 21117, 21118, 21119 — и пока это нельзя изменить. Веб-сервер по умолчанию слушает порт 8080, но его можно настроить через переменные окружения.
Позже выложу видео с демонстрацией, как это выглядит и работает.
Одно из назначений этого контейнера — дать возможность мелкому и среднему бизнесу или предприятиям запускать внутренний RDP и сервис удалённой поддержки.
Сейчас единственный способ опубликовать этот сервис публично — использовать доменное имя или кастомизировать установщик под внутренний и внешний варианты.
По умолчанию в собранных Windows AIO Powershell и Linux-установочных скриптах, которые скачивают и ставят сервис, включены подключения напрямую по IP и через relay.
Пример запуска этого контейнера в CLI:
/interface/bridge/add name=dockers
/ip/address/add address=172.20.0.254/24 interface=dockers
/interface/veth/add name=veth91 address=172.20.0.91/24 gateway=172.20.0.254
/interface/bridge/port add bridge=dockers interface=veth91
/container/config/set registry-url=https://registry-1.docker.io tmpdir=disk1/pull
/container/envs/add name=rustdesk_envs key=TZ value="Asia/Jerusalem"
/container/envs/add name=rustdesk_envs key=IP value="172.20.0.91"
/container/envs/add name=rustdesk_envs key=DOMAIN value="172.20.0.91"
/container/envs/add name=rustdesk_envs key=RELAY value="172.20.0.91"
/container/envs/add name=rustdesk_envs key=HTTP_ADMIN_USER value="admin"
/container/envs/add name=rustdesk_envs key=HTTP_ADMIN_PASS value="73245937-be70-4921-955d-6cba7e872b18"
/container/envs/add name=rustdesk_envs key=HTTP_PORT value="80"
/container/envs/add name=rustdesk_envs key=ENCRYPTED_ONLY value="0"
/container mounts add dst=/data name=rustdesk_data src=/disk1/rustdesk_data
/container mounts add dst=/public name=rustdesk_public_http src=/disk1/rustdesk_public_http
/container/add mounts=rustdesk_data,rustdesk_public_http dns=172.20.0.254 remote-image=elicro/rustdesk-server:latest interface=veth91 root-dir=disk1/rustdesk envlist=rustdesk_envs start-on-boot=yes
Позже будет видео с демо.
Я добавил «безопасный» (с паролем) HTTP-сервер для раздачи кастомных скриптов установщика как для Windows, так и для Linux.
Страница программы:
Исходники программы:
Установщик, который я использовал, частично взят отсюда:
Исходники моего контейнера:
Сервисы Rustdesk (hbbs, hbbr) слушают порты: 21115, 21116, 21116/udp, 21117, 21118, 21119 — и пока это нельзя изменить. Веб-сервер по умолчанию слушает порт 8080, но его можно настроить через переменные окружения.
Позже выложу видео с демонстрацией, как это выглядит и работает.
Одно из назначений этого контейнера — дать возможность мелкому и среднему бизнесу или предприятиям запускать внутренний RDP и сервис удалённой поддержки.
Сейчас единственный способ опубликовать этот сервис публично — использовать доменное имя или кастомизировать установщик под внутренний и внешний варианты.
По умолчанию в собранных Windows AIO Powershell и Linux-установочных скриптах, которые скачивают и ставят сервис, включены подключения напрямую по IP и через relay.
Пример запуска этого контейнера в CLI:
/interface/bridge/add name=dockers
/ip/address/add address=172.20.0.254/24 interface=dockers
/interface/veth/add name=veth91 address=172.20.0.91/24 gateway=172.20.0.254
/interface/bridge/port add bridge=dockers interface=veth91
/container/config/set registry-url=https://registry-1.docker.io tmpdir=disk1/pull
/container/envs/add name=rustdesk_envs key=TZ value="Asia/Jerusalem"
/container/envs/add name=rustdesk_envs key=IP value="172.20.0.91"
/container/envs/add name=rustdesk_envs key=DOMAIN value="172.20.0.91"
/container/envs/add name=rustdesk_envs key=RELAY value="172.20.0.91"
/container/envs/add name=rustdesk_envs key=HTTP_ADMIN_USER value="admin"
/container/envs/add name=rustdesk_envs key=HTTP_ADMIN_PASS value="73245937-be70-4921-955d-6cba7e872b18"
/container/envs/add name=rustdesk_envs key=HTTP_PORT value="80"
/container/envs/add name=rustdesk_envs key=ENCRYPTED_ONLY value="0"
/container mounts add dst=/data name=rustdesk_data src=/disk1/rustdesk_data
/container mounts add dst=/public name=rustdesk_public_http src=/disk1/rustdesk_public_http
/container/add mounts=rustdesk_data,rustdesk_public_http dns=172.20.0.254 remote-image=elicro/rustdesk-server:latest interface=veth91 root-dir=disk1/rustdesk envlist=rustdesk_envs start-on-boot=yes
Позже будет видео с демо.
