Нам нужна ваша помощь, чтобы перевести этот README, пользовательский интерфейс RustDesk и документ RustDesk на ваш родной язык.
Пообщайтесь с нами: Discord | Твиттер | Реддит
Еще одно программное обеспечение для удаленного рабочего стола, написанное на Rust. Работает «из коробки», не требует настройки. Вы имеете полный контроль над своими данными и не беспокоитесь о безопасности. Вы можете использовать наш сервер рандеву/ретрансляции, настроить свой собственный или написать свой собственный сервер рандеву/ретрансляции.
RustDesk приветствует вклад каждого. См. CONTRIBUTING.md для получения помощи по началу работы.
Часто задаваемые вопросы
БИНАРНАЯ ЗАГРУЗКА
НОЧНАЯ СТРОИТЕЛЬНАЯ
Версии для настольных компьютеров используют Flutter или Sciter (устарело) для графического интерфейса, это руководство предназначено только для Sciter, поскольку его проще и удобнее запустить. Ознакомьтесь с нашим CI для создания версии Flutter.
Загрузите динамическую библиотеку Sciter самостоятельно.
Окна | Линукс | macOS
Подготовьте среду разработки Rust и среду сборки C++.
Установите vcpkg и правильно установите переменную env VCPKG_ROOT
Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
Linux/macOS: vcpkg install libvpx libyuv opus aom
запустить cargo run
sudo apt install -y zip g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake make libclang-dev ninja-build libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libpam0g-dev
sudo zypper install gcc-c++ git cur wget nasm yasm gcc gtk3-devel clang libxcb-devel libXfixes-devel cmake alsa-lib-devel gstreamer-devel gstreamer-plugins-base-devel xdotool-devel pam-devel
sudo yum -y install gcc-c++ git cur wget nasm yasm gcc gtk3-devel clang libxcb-devel libxdo-devel libXfixes-develpulseaudio-libs-devel cmake alsa-lib-devel gstreamer1-devel gstreamer1-plugins-base-devel pam- развивать
sudo pacman -Syu --needed unzip git cmake gcc Curl wget yasm nasm zip make pkg-config clang gtk3 xdotool libxcb libxfixes alsa-lib Pipewire
git-клон https://github.com/microsoft/vcpkgcd vcpkg git checkout 2023.04.15cd .. vcpkg/bootstrap-vcpkg.shexport VCPKG_ROOT=$HOME/vcpkg vcpkg/vcpkg установить libvpx libyuv opus aom
cd vcpkg/buildtrees/libvpx/srccd *./configure sed -i 's/CFLAGS+=-I/CFLAGS+=-fPIC -I/g' Makefile sed -i 's/CXXFLAGS+=-I/CXXFLAGS+=-fPIC -I/g' Makefile делать cp libvpx.a $HOME/vcpkg/installed/x64-linux/lib/cd
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shsource $HOME/.cargo/env git-клон https://github.com/rustdesk/rustdeskcdrustdesk mkdir -p цель/отладка wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so mv libscitter-gtk.so цель/отладка VCPKG_ROOT=$HOME/vcpkg грузовой пробег
Начните с клонирования репозитория и создания контейнера Docker:
git-клон https://github.com/rustdesk/rustdeskcdrustdesk docker build -t "rustdesk-builder".
Затем каждый раз, когда вам нужно собрать приложение, запускайте следующую команду:
docker run --rm -it -v $PWD:/home/user/rustdesk -vrustdesk-git-cache:/home/user/.cargo/git -vrustdesk-registry-cache:/home/user/.cargo /registry -e PUID="$(id -u)" -e PGID="$(id -g)"rustdesk-builder
Обратите внимание, что первая сборка может занять больше времени, прежде чем зависимости будут кэшированы, последующие сборки будут быстрее. Кроме того, если вам нужно указать другие аргументы для команды сборки, вы можете сделать это в конце команды в позиции
. Например, если вы хотите создать оптимизированную версию выпуска, вы должны выполнить приведенную выше команду, а затем --release
. Полученный исполняемый файл будет доступен в целевой папке вашей системы и может быть запущен с помощью:
цель/отладка/rustdesk
Или, если вы используете исполняемый файл выпуска:
цель/релиз/rustdesk
Убедитесь, что вы запускаете эти команды из корня репозитория RustDesk, иначе приложение не сможет найти необходимые ресурсы. Также обратите внимание, что другие подкоманды загрузки, такие как install
или run
в настоящее время не поддерживаются этим методом, поскольку они будут устанавливать или запускать программу внутри контейнера, а не на хосте.
libs/hbb_common : видеокодек, конфигурация, оболочка tcp/udp, protobuf, функции fs для передачи файлов и некоторые другие служебные функции.
libs/scrap : снимок экрана
libs/enigo : управление клавиатурой/мышью для конкретной платформы.
libs/clipboard : реализация копирования и вставки файлов для Windows, Linux, macOS.
src/ui : устаревший пользовательский интерфейс Sciter (устарело)
src/server : службы аудио/буфера обмена/ввода/видео и сетевые подключения.
src/client.rs : начать одноранговое соединение.
src/rendezvous_mediator.rs : связь с серверомrusdesk, ожидание удаленного прямого (пробивка TCP-дыр) или ретрансляционного соединения.
src/platform : код, специфичный для платформы.
flutter : код Flutter для настольных компьютеров и мобильных устройств.
flutter/web/js : JavaScript для веб-клиента Flutter.
RustDesk поддерживается бесплатным сервером ЕС, любезно предоставленным Codext GmbH.