Skip to content

Latest commit

 

History

History
172 lines (123 loc) · 8.93 KB

README-AR.md

File metadata and controls

172 lines (123 loc) · 8.93 KB

RustDesk - Your remote desktop
ServersBuildDockerStructureSnapshot
[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 :تواصل معنا عبر

ko-fi

.Rustبرنامج آخر لسطح المكتب عن بعد، مكتوب بـ يعمل خارج الصندوق، لا حاجة إلى إعدادات. لديك سيطرة كاملة على بياناتك، دون مخاوف بشأن الأمن. يمكنك استخدام خادم الخاص بنا rendezvous/relay جهز لنفسك واحدا, أو خاص بك rendezvous/relay أكتب خادم.

image

لمساعدتك على ذلك docs/CONTRIBUTING.md يرحب بمساهمة الجميع. اطلع على RustDesk.

؟ RustDesk كيفية يعمل

BINARY تنزيل

التبعيات

لواجهة المستخدم الرسومية sciter نسخة سطح المكتب تستخدم بنفسك sciter dynamic library عليك تحميل

Windows | Linux | MacOS

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
  • 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

لقطات

image

image

image

image