نحتاج إلى مساعدتك لترجمة ملف README وRustDesk UI وRustDesk Doc إلى لغتك الأم
دردش معنا: ديسكورد | تويتر | رديت
برنامج آخر لسطح المكتب البعيد، مكتوب بلغة Rust. يعمل خارج الصندوق، لا يتطلب أي تكوين. لديك السيطرة الكاملة على بياناتك، دون أي مخاوف بشأن الأمان. يمكنك استخدام خادم الالتقاء/الترحيل الخاص بنا، أو إعداد خادم خاص بك، أو كتابة خادم الالتقاء/الترحيل الخاص بك.
يرحب RustDesk بالمساهمة من الجميع. راجع CONTRIBUTING.md للحصول على المساعدة للبدء.
التعليمات
تنزيل ثنائي
بناء ليلي
تستخدم إصدارات سطح المكتب Flutter أو Sciter (مهمل) لواجهة المستخدم الرسومية، وهذا البرنامج التعليمي مخصص لـ Sciter فقط، نظرًا لأنه أسهل وأكثر سهولة في البدء. تحقق من CI الخاص بنا لبناء إصدار Flutter.
يرجى تنزيل مكتبة Sciter الديناميكية بنفسك.
ويندوز | لينكس | ماك
قم بإعداد بيئة تطوير Rust وبيئة بناء C++
قم بتثبيت vcpkg، وقم بتعيين متغير البيئة VCPKG_ROOT
بشكل صحيح
Windows: تثبيت vcpkg libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
Linux/macOS: تثبيت vcpkg 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 curl 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 curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libxdo-devel libXfixes-develpuleaudio-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
استنساخ بوابة https://github.com/microsoft/vcpkgcd vcpkg بوابة الخروج 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
حليقة --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shsource $HOME/.cargo/env استنساخ بوابة https://github.com/rustdesk/rustdeskcd mkdir -p الهدف/التصحيح wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so mv libciter-gtk.so الهدف/التصحيح VCPKG_ROOT=$HOME/vcpkg تشغيل الشحن
ابدأ باستنساخ المستودع وإنشاء حاوية Docker:
استنساخ بوابة https://github.com/rustdesk/rustdeskcd بناء عامل ميناء -t "rustdesk-builder" .
ثم، في كل مرة تحتاج فيها إلى إنشاء التطبيق، قم بتشغيل الأمر التالي:
تشغيل عامل الميناء --rm -it -v $PWD:/home/user/rustdesk -vrusdesk-git-cache:/home/user/.cargo/git -vrusdesk-registry-cache:/home/user/.cargo / التسجيل -e PUID = "$(id -u)" -e PGID = "$(id -g)"rusdesk-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/web/js : JavaScript لعميل الويب Flutter
يتم دعم RustDesk بواسطة خادم مجاني في الاتحاد الأوروبي، مقدم من شركة Codext GmbH