
🔗 Aplicación móvil ligera de orquestación de seguridad para verificación de URI, que proporciona una interfaz unificada y multi-motor para agregar y validar la seguridad de enlaces en tiempo real.
Una aplicación Android moderna para el análisis integral de seguridad de URLs, que combina múltiples APIs de detección de amenazas con detección avanzada de suplantación de dominios para proteger a los usuarios de sitios web maliciosos.
Cree un archivo secrets.properties en el directorio raíz:
ABUSEIPDB_API_KEY=tu_clave_abuseipdb
VIRUSTOTAL_API_KEY=tu_clave_virustotal
URLSCAN_API_KEY=tu_clave_urlscan
Importante: Al usar esta aplicación, debe cumplir con los Términos de Servicio de cada proveedor de API:
Clone el repositorio
git clone <url-del-repositorio>
cd olyx
Configure las claves API
cp secrets.properties.example secrets.properties
# Edite secrets.properties con sus claves API
Compile y ejecute
./gradlew assembleDebug
./gradlew installDebug
olyx/
├── app/
│ ├── src/main/
│ │ ├── java/com/olyx/
│ │ │ ├── data/
│ │ │ │ ├── Models.kt # ApiResult, HistoryEntry
│ │ │ │ ├── HistoryManager.kt # Lógica de persistencia
│ │ │ │ └── SpoofingDetector.kt # Motor de análisis de dominio
│ │ │ ├── network/
│ │ │ │ └── ApiService.kt # Integraciones API
│ │ │ ├── ui/
│ │ │ │ ├── components/
│ │ │ │ │ ├── ApiScoreCard.kt # Resultados individuales de API
│ │ │ │ │ └── GlobalScoreCard.kt # Pantalla de puntuación agregada
│ │ │ │ ├── screens/
│ │ │ │ │ ├── HomeScreen.kt # Entrada de URL
│ │ │ │ │ ├── AnalysisScreen.kt # Visualización de resultados
│ │ │ │ │ ├── HistoryScreen.kt # Historial de búsqueda
│ │ │ │ │ └── AboutScreen.kt # Información de la aplicación
│ │ │ │ ├── theme/
│ │ │ │ │ ├── Color.kt # Paleta de tema oscuro
│ │ │ │ │ ├── Theme.kt # Configuración de Material3
│ │ │ │ │ └── Type.kt # Tipografía
│ │ │ │ └── utils/
│ │ │ │ └── ScoreUtils.kt # Algoritmos de puntuación
│ │ │ ├── utils/
│ │ │ │ └── Constants.kt # Constantes de la aplicación
│ │ │ └── MainActivity.kt # Punto de entrada
│ │ └── res/
│ │ ├── raw/
│ │ │ └── legitimate_domains.txt # Lista de dominios protegidos
│ │ └── font/
│ │ ├── gemunulibre_regular.ttf
│ │ └── redhatdisplay_regular.ttf
├── screens/ # Capturas de pantalla
├── build.gradle.kts
└── secrets.properties # Claves API (no en el repositorio)
Edite app/src/main/res/raw/legitimate_domains.txt:
tubanco.com
tubanco.fr
tunegocio.com
Modifique los umbrales en SpoofingDetector.kt:
private fun calculateSuspicion(...): Int {
if (distance == 1) return 90 // Muy similar → Alto riesgo
if (distance == 2) return 70 // Algo similar → Riesgo medio
if (distance == 3) return 50 // Menos similar → Riesgo medio-bajo
}
Actualice el impacto de suplantación en ScoreUtils.kt:
val penalty = (spoofingResult.suspicionLevel * 0.5).toInt() // 50% del nivel de sospecha