9.4 KiB
Servers •
Build •
Docker •
Structure •
Snapshot
[English] | [Українська] | [česky] | [中文] | [Magyar] | [Español] | [فارسی] | [Français] | [Deutsch] | [Polski] | [Indonesian] | [Suomi] | [മലയാളം] | [日本語] | [Nederlands] | [Italiano] | [Русский] | [Português (Brasil)] | [Esperanto] | [한국어] | [Tiếng Việt] | [Ελληνικά]
لغتك الأم, Doc و RustDesk UI, README نحن بحاجة إلى مساعدتك لترجمة هذا
Discord | Twitter | Reddit :تواصل معنا عبر
.Rustبرنامج آخر لسطح المكتب عن بعد، مكتوب بـ يعمل خارج الصندوق، لا حاجة إلى إعدادات. لديك سيطرة كاملة على بياناتك، دون مخاوف بشأن الأمن. يمكنك استخدام خادم الخاص بنا rendezvous/relay جهز لنفسك واحدا, أو خاص بك rendezvous/relay أكتب خادم.
لمساعدتك على ذلك docs/CONTRIBUTING.md
يرحب بمساهمة الجميع. اطلع على RustDesk.
خوادم مفتوحة ومجانية
فيما يلي الخوادم التي تستخدمها مجانًا، وقد تتغير طوال الوقت. إذا لم تكن قريبًا من أحد هؤلاء، فقد تكون شبكتك بطيئة.
الموقع | المورد | المواصفات |
---|---|---|
Germany | Hetzner | 2 vCPU / 4GB RAM |
Ukraine (Kyiv) | dc.volia | 2 vCPU / 4 GB RAM |
التبعيات
لواجهة المستخدم الرسومية sciter نسخة سطح المكتب تستخدم بنفسك sciter dynamic library عليك تحميل
Sciter إلى Flutter سنقوم بترحيل نسخة سطح المكتب من .Flutter تستخدم إصدارات الهاتف المحمول.
خطوات البناء
-
C++ build env و Rust development env قم بإعداد
-
بطريقة صحيحة
VCPKG_ROOT
env variable وأعد vcpkg ثبت- 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
- Windows:
-
run
cargo run
البناء
Linux
Ubuntu 18 (Debian 10)
sudo apt install -y 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
Fedora 28 (CentOS 8)
sudo yum -y install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libxdo-devel libXfixes-devel pulseaudio-libs-devel cmake alsa-lib-devel
Arch (Manjaro)
sudo pacman -Syu --needed unzip git cmake gcc curl wget yasm nasm zip make pkg-config clang gtk3 xdotool libxcb libxfixes alsa-lib pipewire
vcpkg تثبيت
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2023.04.15
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus aom
Fix libvpx (For Fedora)
cd vcpkg/buildtrees/libvpx/src
cd *
./configure
sed -i 's/CFLAGS+=-I/CFLAGS+=-fPIC -I/g' Makefile
sed -i 's/CXXFLAGS+=-I/CXXFLAGS+=-fPIC -I/g' Makefile
make
cp libvpx.a $HOME/vcpkg/installed/x64-linux/lib/
cd
البناء
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
mkdir -p target/debug
wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so
mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
Docker طريقة البناء باستخدام
ابدأ باستنساخ المستودع وبناء الكونتاينر:
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
ثم، في كل مرة تحتاج إلى بناء التطبيق، قم بتشغيل الأمر التالي:
docker run --rm -it -v $PWD:/home/user/rustdesk -v rustdesk-git-cache:/home/user/.cargo/git -v rustdesk-registry-cache:/home/user/.cargo/registry -e PUID="$(id -u)" -e PGID="$(id -g)" rustdesk-builder
لاحظ أن البناء الأول قد يستغرق وقتًا أطول قبل تخزين التبعيات، وسيكون البناء اللاحق أسرع. بالإضافة إلى ذلك، إذا كنت بحاجة إلى تحديد وسائط مختلفة لأمر البناء، فيمكنك القيام بذلك في نهاية الأمر بوضع
<OPTIONAL-ARGS>
على سبيل المثال، إذا كنت ترغب في بناء إصدار محسن، فستقوم بتشغيل الأمر أعلاه متبوعًا بـ
--release
:سيكون الملف القابل للتنفيذ الناتج متاحًا في مجلد تارغت، ويمكن تشغيله باستخدام
target/debug/rustdesk
:أو في حال قمت ببناء إصدار محسن
target/release/rustdesk
RustDesk يرجى التأكد من أنك تنفذ هذه الأوامر من جذر مستودع
وإلا فقد لا يتمكن التطبيق من العثور على الموارد المطلوبة. لاحظ أيضًا أن الأوامر الفرعية الأخرى مثل
install
أو run
لا يتم دعمها حاليًا عبر هذه الطريقة لأنها ستقوم بتثبيت أو تشغيل البرنامج داخل الكونتاينر بدلاً من الهوست.
هيكل الملف
-
libs/hbb_common: وظائف لنقل الملفات، وبعض وظائف المرافق الأخرى tcp/udp، protobuf ترميز الفيديو، إعدادات
-
libs/scrap: التقاط الشاشة
-
libs/enigo: التحكم في لوحة المفاتيح/الماوس الخاصة بكل منصة
-
src/ui: واجهة المستخدم الرسومية
-
src/server: خدمات الصوت/الحافظة/المدخلات/الفيديو، ووصلات الشبكة
-
src/client.rs: بدء اتصال متقارن
-
src/rendezvous_mediator.rs: أو المنقول عن بُعد (TCP hole punching) انتظر الاتصال المباشر rustdesk-server الإتصال ب
-
src/platform: رمز خاص بكل منصة
-
flutter: رمز الهاتف المحمول
-
flutter/web/js:Flutter لعميل الويب الخاص ب Javascript