العودة إلى التحديثات
New releaseSep 7, 2026

Veto v2.3

عميل أندرويد مفتوح المصدر لـ VirusTotal. امسح الملفات وعناوين URL والتطبيقات المثبتة مقابل أكثر من 70 محركًا لمكافحة الفيروسات. اعرض تقارير مفصلة تحتوي على التجزئات (hashes) وتصنيفات التهديدات ومطابقات YARA وسلوكيات الصندوق الرملي. لا تتبع ولا إعلانات.

مشاركة
Veto, the open source VirusTotal client

Veto

عميل VirusTotal مفتوح المصدر لنظام أندرويد

مجاني ومفتوح المصدر. أحضر مفتاح VirusTotal API الخاص بك لفحص الملفات والروابط والتطبيقات المثبتة عبر أكثر من 70 محرك فحص، بواجهة Material 3. بدون حسابات، بدون تتبع، بدون إعلانات.

Platform Kotlin Jetpack Compose minSdk

ما هو Veto؟

Veto هو عميل أندرويد لخدمة VirusTotal. أرسل ملفًا أو رابطًا أو تطبيقًا مثبتًا لعرض نتائج التحليل في الوقت الفعلي. يعرض التطبيق تقريرًا واضحًا يتراوح من حكم موحّد واحد إلى المجموعة الكاملة من الحقول التي تُرجعها الخدمة.

المشروع مجاني ومفتوح المصدر، ولا يحتوي على حسابات مستخدمين أو أنظمة تتبع أو إعلانات. نظرًا لأن المستخدمين يوفّرون مفتاح VirusTotal API الخاص بهم، فإن جميع عمليات الفحص تتم مباشرةً تحت حسابهم الشخصي دون المرور عبر خوادم وسيطة تابعة لجهات خارجية.


لقطات الشاشة

Dashboard ScreenClean Results ScreenDetailed Report Screen
Settings ScreenSaved Scans Screen

مجموعة الميزات

  • قدرة الفحص: فحص التطبيقات المثبتة أو الملفات المحلية أو عناوين URL المستهدفة.
  • تجميع متعدد المحركات: يجمع التشخيصات من أكثر من 70 محرك مكافحة فيروسات.
  • وضعا تقارير: وضع سريع لملخصات التحقق السريعة، ووضع تفصيلي للفحص العميق.
  • تفسيرات سياقية: يتوفر نص توضيحي لكل قسم، مع إعداد لإخفاء التفسيرات إذا رغبت.
  • تقارير عالية الدقة: يعرض تجزئات الملفات وتصنيفات التهديدات والسجل والتقييمات المجتمعية وسلوكيات بيئة الحماية ومطابقات YARA والتفاصيل الداخلية لتطبيقات أندرويد وجميع حقول حمولة API الإضافية.
  • التنفيذ في الخلفية: تتبع تقدم الرفع والتحليل في الوقت الفعلي يستمر داخل خدمة خلفية.
  • الوصول دون اتصال: يحفظ التقارير محليًا للسماح بمراجعتها لاحقًا، حتى بدون اتصال بالإنترنت.
  • تحذيرات حد المعدل: يعرض إشعارات واضحة عندما يصل مفتاح API المحلي إلى حد المعدل الخاص به.
  • السمات: دعم كامل لـ Material 3 مع ألوان نظام ديناميكية، ودعم لكل من السمة الفاتحة والداكنة.

تفاصيل تنفيذ البنية الأساسية

  • مزامنة الحالة: يعمل ScanManager على مستوى التطبيق كمصدر مركزي للحقيقة لجميع حالات الفحص. يضمن ذلك بقاء واجهة المستخدم متزامنة سواء كان التطبيق نشطًا في المقدمة أو معلقًا في الخلفية أو تم إتلافه بواسطة نظام التشغيل.
  • استطلاع مرن: يستطلع التطبيق نقطة النهاية /analyses/{id} بحد زمني أقصى قدره ست دقائق. إذا تمت مواجهة استجابة حد معدل، تنتظر العملية بدلاً من الفشل. تتم إعادة جلب التقرير حتى يتم ملء النتائج، مع إرجاع حالة فشل منظمة إذا تم الوصول إلى حد المهلة.
  • دورة حياة العملية: بينما توجد ScanState داخل ScanManager لتحمّل إتلاف النشاط، تحافظ ScanService على دورة حياة العملية أثناء العمليات النشطة وتدير الإشعارات الجارية وإشعارات الاكتمال.
  • تحليل كامل الدقة: يتم التقاط الحقول الشائعة باستخدام نماذج مكتوبة، بينما يتم الاحتفاظ ببيانات attributes الأولية الكاملة بصيغة JSON عبر مُسلسِل مخصص. يتيح ذلك لعرض التقرير التفصيلي عرض جميع الحقول المُرجعة، بما في ذلك أي حقول جديدة تُضاف إلى حمولة API بمرور الوقت.

حزمة التقنيات

الطبقةالتقنيةالدور في المشروع
اللغةKotlinلغة البرمجة الأساسية
إطار الواجهةJetpack Composeبنية واجهة المستخدم التصريحية
نظام التصميمMaterial 3التنسيق البصري، تلوين الأنظمة الديناميكي، والأيقونات الموسعة
حقن التبعياتHiltإدارة التبعيات
الشبكاتRetrofit & OkHttpالاتصال عبر HTTP مع واجهة VirusTotal API
التسلسلkotlinx.serializationتحليل JSON آمن الأنواع والحفاظ على السمات المخصصة
اللا تزامنKotlin Coroutinesالبرمجة غير المتزامنة والمعالجة في الخلفية
الاستمراريةJetpack DataStoreتخزين الإعدادات الديناميكية وتقارير الفحص المحفوظة
التوافقSDK 30 إلى 36تم الترجيع باستخدام JDK 17، minSdk 30، targetSdk 36

هيكل المشروع

└── app/src/main/java/com/quantum_prof/vtscansuite/
    ├── data/          # النماذج وواجهة API البعيدة وتنفيذ المستودع
    ├── domain/        # واجهة المستودع وحالات الاستخدام الخاصة بالأعمال
    ├── di/            # وحدات حقن التبعيات Hilt
    ├── scan/          # ScanManager وScanService وإشعارات النظام
    └── ui/            # مكونات واجهة المستخدم وطبقات العرض
        ├── intro/     # شاشة البداية وإعداد مفتاح API
        ├── dashboard/ # مركز التنقل: وحدات فحص الروابط والملفات والتطبيقات
        ├── results/   # عارضات التقارير السريعة والتفصيلية
        ├── components/# عناصر وتخطيطات واجهة مستخدم قابلة لإعادة الاستخدام
        ├── theme/     # إعدادات الألوان والأشكال والخطوط والحركة
        └── util/      # أدوات الاهتزاز والإيماءات والروابط العميقة
  • أصول وموارد نصية لقائمة المتجر متوفرة في fastlane/metadata/android/en-US/.
  • ملفات SVG للنماذج القابلة للتحرير موجودة في docs/store/svg/.
  • يمكن تصدير النماذج إلى صيغة PNG باستخدام docs/store/export.html.

البدء

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

البناء والتشغيل

استنسخ المستودع وقم بتجميع إصدار التصحيح باستخدام سطر الأوامر:

git clone https://github.com/ProfessorQuantumUniverse/VTScan.git
cd VTScan
./gradlew :app:assembleDebug

بدلاً من ذلك، افتح الدليل الجذر داخل Android Studio وحدد إعداد التشغيل Run.

عند التشغيل الأول، أدخل مفتاح VirusTotal API الخاص بك في شاشة إعداد المقدمة. يتم تخزين المفتاح محليًا على جهازك، مشفرًا بمفتاح AES-256-GCM من Android Keystore، ويُستثنى من النسخ الاحتياطي السحابي والنقل من جهاز إلى جهاز. تخضع مفاتيح API المجانية عادةً لحد أقصى قدره أربعة استعلامات في الدقيقة.


سياسة الخصوصية

يتواصل التطبيق حصريًا مع واجهة VirusTotal API باستخدام بيانات الاعتماد التي تقدمها. يتم إرسال الملفات المرفوعة وعناوين URL المقدمة والنتائج الديناميكية مباشرةً إلى خوادم VirusTotal. يتم تخزين مفتاح API محليًا على جهازك، مشفرًا بمفتاح AES-256-GCM من Android Keystore، ويُستثنى من النسخ الاحتياطي السحابي والنقل من جهاز إلى جهاز، لذلك لا يغادر الجهاز أبدًا. يقتصر تسجيل HTTP على إصدارات التصحيح ويخفي ترويسة المفتاح. لا يجمع Veto بيانات تحليلية ولا يحتوي على حزم SDK إعلانية.


الترخيص

هذا المشروع مرخص بموجب شروط رخصة GNU العامة العامة الإصدار 3.0.

الشروط الأساسية لـ GPLv3:

  • الاستخدام التجاري: مسموح
  • التعديل: مسموح
  • التوزيع: مسموح
  • الكشف عن الكود المصدري: مطلوب عند التوزيع
  • نفس الرخصة: يجب أن يستخدم الكود المعدل أيضًا GPLv3
  • المسؤولية والضمان: لا يقدم المؤلفون أيًا منهما

لمزيد من التفاصيل، يرجى الاطلاع على ملف LICENSE في هذا المستودع.


مدعوم بواجهة VirusTotal API. غير تابع لـ VirusTotal ولا يحظى بتأييدها.

الفئات