Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

تطبيق سطح المكتب (GUI)

يتضمن PRX-SD تطبيق سطح مكتب متعدد المنصات مبني بـ Tauri 2 (واجهة خلفية بـ Rust) وVue 3 (واجهة أمامية بـ TypeScript). يوفر واجهة المستخدم الرسومية واجهة مرئية لجميع ميزات المحرك الأساسية دون الحاجة إلى سطر الأوامر.

البنية المعمارية

+----------------------------------------------+
|              PRX-SD Desktop App               |
|                                               |
|   Vue 3 Frontend          Tauri 2 Backend     |
|   (Vite + TypeScript)     (Rust + IPC)        |
|                                               |
|   +------------------+   +-----------------+  |
|   | Dashboard        |<->| scan_path()     |  |
|   | File Scanner     |   | scan_directory()|  |
|   | Quarantine Mgmt  |   | get_config()    |  |
|   | Config Editor    |   | save_config()   |  |
|   | Signature Update |   | update_sigs()   |  |
|   | Alert History    |   | get_alerts()    |  |
|   | Adblock Panel    |   | adblock_*()     |  |
|   | Monitor Control  |   | start/stop()    |  |
|   +------------------+   +-----------------+  |
|                                               |
|   System Tray Icon (32x32)                    |
+----------------------------------------------+

تُعرِض الواجهة الخلفية لـ Tauri 18 أمر IPC يستدعيها واجهة Vue الأمامية للتفاعل مع محرك الفحص وقبو العزل وقاعدة بيانات التوقيعات ومحرك تصفية adblock. كل الأعمال الثقيلة (الفحص ومطابقة YARA والبحث عن الهاشات) تعمل بـ Rust؛ الواجهة الأمامية تتولى فقط العرض.

المميزات

لوحة التحكم في الوقت الفعلي

تُعرض لوحة التحكم حالة الأمان بلمحة سريعة:

  • إجمالي الفحوصات المُجراة
  • عدد التهديدات المكتشفة
  • عدد الملفات المعزولة
  • آخر وقت فحص
  • حالة المراقبة (نشطة/غير نشطة)
  • مخطط سجل الفحص (آخر 7 أيام)
  • قائمة التهديدات الأخيرة مع المسارات وأسماء التهديدات ومستويات الخطورة

الفحص بالسحب والإفلات

اسحب الملفات أو المجلدات إلى نافذة التطبيق لبدء فحص فوري. تظهر النتائج في جدول قابل للفرز مع أعمدة للمسار ومستوى التهديد ونوع الكشف واسم التهديد ووقت الفحص.

إدارة العزل

عرض واسترداد وحذف الملفات المعزولة عبر واجهة مرئية:

  • جدول قابل للفرز مع المعرف والمسار الأصلي واسم التهديد والتاريخ وحجم الملف
  • استعادة بنقرة واحدة إلى الموقع الأصلي
  • حذف نهائي بنقرة واحدة
  • إحصاءات القبو (إجمالي الملفات، الحجم الإجمالي، الأقدم/الأحدث)

محرر الإعدادات

تحرير جميع إعدادات المحرك عبر واجهة قائمة على النماذج. تُكتب التغييرات في ~/.prx-sd/config.json وتدخل حيز التنفيذ عند الفحص التالي.

تحديثات التوقيعات

تشغيل تحديثات قاعدة بيانات التوقيعات من واجهة المستخدم الرسومية. تُنزِّل الواجهة الخلفية أحدث بيان، وتتحقق من تكامل SHA-256، وتثبِّت التحديث. يُعاد تهيئة المحرك تلقائياً بالتوقيعات الجديدة.

لوحة Adblock

إدارة حظر الإعلانات والنطاقات الضارة:

  • تمكين/تعطيل حماية adblock
  • مزامنة قوائم التصفية
  • التحقق من النطاقات الفردية
  • عرض سجل الحظر (آخر 50 إدخالاً)
  • عرض إعداد القائمة والإحصاءات

علبة النظام

يوجد PRX-SD في علبة النظام مع أيقونة مستمرة، توفر وصولاً سريعاً إلى:

  • فتح النافذة الرئيسية
  • بدء/إيقاف المراقبة في الوقت الفعلي
  • فحص حالة الـ daemon
  • تشغيل فحص سريع
  • الإغلاق من التطبيق

TIP

أيقونة علبة النظام مُهيَّأة بحجم 32×32 بكسل. على الشاشات عالية الكثافة، يستخدم Tauri تلقائياً النسخة [email protected].

البناء من المصدر

المتطلبات الأولية

  • Rust الإصدار 1.85.0 أو أحدث
  • Node.js 18+ مع npm
  • تبعيات النظام (لينكس):
bash
# Debian/Ubuntu
sudo apt install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

# Fedora
sudo dnf install -y webkit2gtk4.1-devel libappindicator-gtk3-devel librsvg2-devel

وضع التطوير

تشغيل خادم تطوير الواجهة الأمامية والواجهة الخلفية لـ Tauri معاً مع إعادة التحميل الساخنة:

bash
cd gui
npm install
npm run tauri dev

يبدأ هذا:

  • خادم تطوير Vite على http://localhost:1420
  • الواجهة الخلفية لـ Tauri التي تحمِّل URL التطوير

بناء الإنتاج

بناء حزمة التطبيق القابلة للتوزيع:

bash
cd gui
npm install
npm run tauri build

يختلف مخرج البناء حسب المنصة:

المنصةالمخرج
لينكس.deb، .AppImage، .rpm في src-tauri/target/release/bundle/
macOS.dmg، .app في src-tauri/target/release/bundle/
ويندوز.msi، .exe في src-tauri\target\release\bundle\

إعداد التطبيق

يُهيَّأ تطبيق Tauri عبر gui/src-tauri/tauri.conf.json:

json
{
  "productName": "PRX-SD",
  "version": "0.1.0",
  "identifier": "com.prxsd.app",
  "app": {
    "windows": [
      {
        "title": "PRX-SD Antivirus",
        "width": 1200,
        "height": 800,
        "minWidth": 900,
        "minHeight": 600,
        "center": true,
        "resizable": true
      }
    ],
    "trayIcon": {
      "id": "main-tray",
      "iconPath": "icons/32x32.png",
      "tooltip": "PRX-SD Antivirus"
    }
  }
}

أوامر IPC

تُعرِض الواجهة الخلفية هذه أوامر Tauri للواجهة الأمامية:

الأمرالوصف
scan_pathفحص ملف أو دليل، إرجاع النتائج
scan_directoryفحص دليل بشكل متكرر
start_monitorالتحقق من الصحة وبدء المراقبة في الوقت الفعلي
stop_monitorإيقاف daemon المراقبة
get_quarantine_listسرد جميع إدخالات العزل
restore_quarantineاستعادة ملف معزول بالمعرف
delete_quarantineحذف إدخال عزل بالمعرف
get_configقراءة إعداد الفحص الحالي
save_configكتابة إعداد الفحص على القرص
get_engine_infoالحصول على إصدار المحرك وعدد التوقيعات وقواعد YARA
update_signaturesتنزيل وتثبيت أحدث التوقيعات
get_alert_historyقراءة سجل التنبيهات من سجلات التدقيق
get_dashboard_statsإحصاءات لوحة التحكم المجمَّعة
get_adblock_statsالحصول على حالة adblock وعدد القواعد
adblock_enableتمكين حظر الإعلانات عبر ملف hosts
adblock_disableتعطيل حظر الإعلانات عبر ملف hosts
adblock_syncإعادة تنزيل قوائم التصفية
adblock_checkالتحقق مما إذا كان نطاق محظوراً
get_adblock_logقراءة إدخالات سجل الحظر الأخيرة

دليل البيانات

تستخدم واجهة المستخدم الرسومية نفس دليل البيانات ~/.prx-sd/ كـ CLI. التغييرات في الإعدادات المُجراة في واجهة المستخدم الرسومية مرئية لأوامر sd والعكس صحيح.

WARNING

تشترك واجهة المستخدم الرسومية وواجهة CLI في نفس حالة محرك الفحص. إذا كان الـ daemon يعمل عبر sd daemon، يتحقق زر "بدء المراقبة" في واجهة المستخدم الرسومية من الاستعداد ولكن المراقبة الفعلية تتولاها عملية الـ daemon. تجنب تشغيل ماسح واجهة المستخدم الرسومية وماسح الـ daemon في نفس الوقت على نفس الملفات.

مكدس التقنيات

المكوِّنالتقنية
الواجهة الخلفيةTauri 2، Rust
الواجهة الأماميةVue 3، TypeScript، Vite 6
IPCبروتوكول أوامر Tauri
علبة النظامإضافة علبة Tauri
أداة التجميعTauri bundler (deb/AppImage/dmg/msi)
روابط API@tauri-apps/api الإصدار 2

الخطوات التالية

Released under the Apache-2.0 License.