
🔗 Application mobile légère d'orchestration de sécurité pour l'examen des URI, offrant une interface unifiée multi-moteurs pour agréger et valider la sécurité des liens en temps réel.
Une application Android moderne pour l'analyse complète de la sécurité des URL, combinant plusieurs API de détection de menaces avec une détection avancée de l'usurpation de domaine afin de protéger les utilisateurs contre les sites web malveillants.
Créez un fichier secrets.properties dans le répertoire racine :
ABUSEIPDB_API_KEY=your_abuseipdb_key
VIRUSTOTAL_API_KEY=your_virustotal_key
URLSCAN_API_KEY=your_urlscan_key
Important : En utilisant cette application, vous devez respecter les conditions d'utilisation de chaque fournisseur d'API :
Cloner le dépôt
git clone <repository-url>
cd olyx
Configurer les clés API
cp secrets.properties.example secrets.properties
# Modifiez secrets.properties avec vos clés API
Compiler et exécuter
./gradlew assembleDebug
./gradlew installDebug
olyx/
├── app/
│ ├── src/main/
│ │ ├── java/com/olyx/
│ │ │ ├── data/
│ │ │ │ ├── Models.kt # ApiResult, HistoryEntry
│ │ │ │ ├── HistoryManager.kt # Logique de persistance
│ │ │ │ └── SpoofingDetector.kt # Moteur d'analyse de domaine
│ │ │ ├── network/
│ │ │ │ └── ApiService.kt # Intégrations API
│ │ │ ├── ui/
│ │ │ │ ├── components/
│ │ │ │ │ ├── ApiScoreCard.kt # Résultats individuels des API
│ │ │ │ │ └── GlobalScoreCard.kt # Affichage du score agrégé
│ │ │ │ ├── screens/
│ │ │ │ │ ├── HomeScreen.kt # Saisie d'URL
│ │ │ │ │ ├── AnalysisScreen.kt # Affichage des résultats
│ │ │ │ │ ├── HistoryScreen.kt # Historique des recherches
│ │ │ │ │ └── AboutScreen.kt # Informations sur l'application
│ │ │ │ ├── theme/
│ │ │ │ │ ├── Color.kt # Palette du thème sombre
│ │ │ │ │ ├── Theme.kt # Configuration Material3
│ │ │ │ │ └── Type.kt # Typographie
│ │ │ │ └── utils/
│ │ │ │ └── ScoreUtils.kt # Algorithmes de notation
│ │ │ ├── utils/
│ │ │ │ └── Constants.kt # Constantes de l'application
│ │ │ └── MainActivity.kt # Point d'entrée
│ │ └── res/
│ │ ├── raw/
│ │ │ └── legitimate_domains.txt # Liste des domaines protégés
│ │ └── font/
│ │ ├── gemunulibre_regular.ttf
│ │ └── redhatdisplay_regular.ttf
├── screens/ # Captures d'écran
├── build.gradle.kts
└── secrets.properties # Clés API (pas dans le dépôt)
Modifiez app/src/main/res/raw/legitimate_domains.txt :
votrebanque.com
votrebanque.fr
votreentreprise.com
Modifiez les seuils dans SpoofingDetector.kt :
private fun calculateSuspicion(...): Int {
if (distance == 1) return 90 // Très similaire → Risque élevé
if (distance == 2) return 70 // Assez similaire → Risque moyen
if (distance == 3) return 50 // Moins similaire → Risque faible-moyen
}
Mettez à jour l'impact de l'usurpation dans ScoreUtils.kt :
val penalty = (spoofingResult.suspicionLevel * 0.5).toInt() // 50 % du niveau de suspicion