
🔗 تطبيق جوال خفيف لتنسيق الأمان لفحص عناوين URI، يوفر واجهة موحدة متعددة المحركات لتجميع والتحقق من سلامة الروابط في الوقت الفعلي.
تطبيق أندرويد حديث لتحليل أمن عناوين URL بشكل شامل، يجمع بين واجهات برمجة تطبيقات متعددة للكشف عن التهديدات مع كشف متقدم لانتحال النطاق لحماية المستخدمين من المواقع الضارة.
أنشئ ملفًا باسم secrets.properties في الدليل الجذر:
ABUSEIPDB_API_KEY=your_abuseipdb_key
VIRUSTOTAL_API_KEY=your_virustotal_key
URLSCAN_API_KEY=your_urlscan_key
ملاحظة مهمة: باستخدام هذا التطبيق، يجب عليك الالتزام بشروط الخدمة لكل مزود واجهة برمجة:
استنساخ المستودع
git clone <repository-url>
cd olyx
تكوين مفاتيح واجهة البرمجة
cp secrets.properties.example secrets.properties
# حرر secrets.properties بمفاتيحك
البناء والتشغيل
./gradlew assembleDebug
./gradlew installDebug
olyx/
├── app/
│ ├── src/main/
│ │ ├── java/com/olyx/
│ │ │ ├── data/
│ │ │ │ ├── Models.kt # ApiResult, HistoryEntry
│ │ │ │ ├── HistoryManager.kt # منطق التخزين
│ │ │ │ └── SpoofingDetector.kt # محرك تحليل النطاق
│ │ │ ├── network/
│ │ │ │ └── ApiService.kt # تكاملات واجهات البرمجة
│ │ │ ├── ui/
│ │ │ │ ├── components/
│ │ │ │ │ ├── ApiScoreCard.kt # نتائج واجهة البرمجة الفردية
│ │ │ │ │ └── GlobalScoreCard.kt # عرض الدرجة الإجمالية
│ │ │ │ ├── screens/
│ │ │ │ │ ├── HomeScreen.kt # إدخال URL
│ │ │ │ │ ├── AnalysisScreen.kt # عرض النتائج
│ │ │ │ │ ├── HistoryScreen.kt # سجل البحث
│ │ │ │ │ └── AboutScreen.kt # معلومات التطبيق
│ │ │ │ ├── theme/
│ │ │ │ │ ├── Color.kt # لوحة الألوان الداكنة
│ │ │ │ │ ├── Theme.kt # إعداد Material3
│ │ │ │ │ └── Type.kt # الطباعة
│ │ │ │ └── utils/
│ │ │ │ └── ScoreUtils.kt # خوارزميات التسجيل
│ │ │ ├── utils/
│ │ │ │ └── Constants.kt # ثوابت التطبيق
│ │ │ └── MainActivity.kt # نقطة الدخول
│ │ └── res/
│ │ ├── raw/
│ │ │ └── legitimate_domains.txt # قائمة النطاقات المحمية
│ │ └── font/
│ │ ├── gemunulibre_regular.ttf
│ │ └── redhatdisplay_regular.ttf
├── screens/ # لقطات الشاشة
├── build.gradle.kts
└── secrets.properties # مفاتيح واجهة البرمجة (غير موجودة في المستودع)
حرر app/src/main/res/raw/legitimate_domains.txt:
yourbank.com
yourbank.fr
yourbusiness.com
عدل العتبات في SpoofingDetector.kt:
private fun calculateSuspicion(...): Int {
if (distance == 1) return 90 // مشابه جدًا ← مخاطرة عالية
if (distance == 2) return 70 // مشابه إلى حد ما ← مخاطرة متوسطة
if (distance == 3) return 50 // أقل تشابهًا ← مخاطرة منخفضة-متوسطة
}
حدث تأثير الانتحال في ScoreUtils.kt:
val penalty = (spoofingResult.suspicionLevel * 0.5).toInt() // 50% من مستوى الشك
# تشغيل اختبارات الوحدة
./gradlew test
# تشغيل الاختبارات الموجهة
./gradlew connectedAndroidTest
# إنشاء تقرير التغطية
./gradlew jacocoTestReport
يستخدم تحليل الانحراف الإحصائي:
الدرجة الأساسية = متوسط (درجات واجهات البرمجة)
العقوبة = مستوى الشك × 0.5
الدرجة النهائية = max(0, الدرجة الأساسية - العقوبة)
تحسب الحد الأدنى من عمليات التحرير (إدراج/حذف/استبدال) بين السلاسل النصية للكشف عن التصيد الإملائي.
هذا المشروع مرخص بموجب رخصة GNU Affero General Public License v3.0. راجع LICENSE للتفاصيل.