
Open-source Android client per VirusTotal. Scansiona file, URL e app installate con oltre 70 motori antivirus. Visualizza report dettagliati con hash, classificazioni delle minacce, corrispondenze YARA e comportamenti in sandbox. Nessun tracciamento o pubblicità.
Gratuito e open source. Porta la tua chiave API VirusTotal per scansionare file, link e applicazioni installate con oltre 70 motori, realizzato con un'interfaccia Material 3. Nessun account, nessun tracciamento, nessuna pubblicità.
Veto è un client Android per VirusTotal. Invia un file, un link o un'applicazione installata per visualizzare i risultati dell'analisi in tempo reale. L'applicazione mostra un report chiaro che va da un singolo verdetto unificato all'insieme completo di campi restituiti dal servizio.
Il progetto è gratuito e open source, non contiene account utente, sistemi di tracciamento o pubblicità. Poiché gli utenti forniscono la propria chiave API VirusTotal, tutte le scansioni vengono eseguite direttamente sotto il loro account personale senza passare attraverso server intermedi di terze parti.
![]() | ![]() | ![]() |
ScanManager con ambito applicativo funge da fonte di verità centralizzata per tutti gli stati di scansione. Ciò garantisce che l'interfaccia utente rimanga sincronizzata sia che l'app sia attiva in primo piano, sospesa in background o distrutta dal sistema operativo./analyses/{id} utilizzando un limite di tempo massimo di sei minuti. Se viene rilevata una risposta di limitazione della frequenza, il processo attende anziché fallire. Il report viene recuperato fino a quando i risultati non vengono popolati, restituendo uno stato di fallimento strutturato se viene raggiunto il limite di timeout.ScanState risiede all'interno di ScanManager per sopravvivere alla distruzione dell'Activity, ScanService mantiene il ciclo di vita del processo durante le operazioni attive e gestisce le notifiche in corso e di completamento.attributes viene conservato tramite un serializzatore personalizzato. Ciò consente alla vista del report dettagliato di visualizzare tutti i campi restituiti, inclusi eventuali nuovi campi aggiunti al payload API nel tempo.└── app/src/main/java/com/quantum_prof/vtscansuite/
├── data/ # Models, remote API, and repository implementation
├── domain/ # Repository interface and business use cases
├── di/ # Hilt dependency injection modules
├── scan/ # ScanManager, ScanService, and system notifications
└── ui/ # UI components and presentation layers
├── intro/ # Splash screen and API key configuration
├── dashboard/ # Navigation hub: link, file, and app scanning modules
├── results/ # Quick and Detailed report visualizers
├── components/# Reusable UI elements and layouts
├── theme/ # Color, shapes, typography, and motion configurations
└── util/ # Haptic feedback, gestures, and deep linking utilities
Le risorse e i testi per la scheda dello store sono disponibili in fastlane/metadata/android/en-US/.
I mockup SVG modificabili si trovano in docs/store/svg/.
I mockup possono essere esportati in formato PNG utilizzando docs/store/export.html.
Clona il repository e compila la build di debug utilizzando la riga di comando:
git clone https://github.com/ProfessorQuantumUniverse/VTScan.git
cd VTScan
./gradlew :app:assembleDebug
In alternativa, apri la directory principale in Android Studio e seleziona la configurazione di esecuzione.
Al primo avvio, inserisci la tua chiave API VirusTotal nella schermata di configurazione iniziale. La chiave viene memorizzata localmente sul tuo dispositivo. Le chiavi API gratuite sono generalmente soggette a un limite di quattro richieste al minuto.
L'applicazione comunica esclusivamente con l'API VirusTotal utilizzando le credenziali fornite dall'utente. I file caricati, gli URL inviati e i risultati dinamici vengono inviati direttamente ai server VirusTotal. La chiave API è memorizzata localmente sul tuo dispositivo. Veto non raccoglie dati di analisi e non contiene SDK pubblicitari.
Questo progetto è concesso in licenza secondo i termini della GNU General Public License v3.0.
Per maggiori dettagli, consulta il file LICENSE in questo repository.
![]() | ![]() |
| Livello | Tecnologia | Ruolo nel progetto |
|---|
| Linguaggio | Kotlin | Linguaggio di programmazione principale |
| Framework UI | Jetpack Compose | Struttura UI dichiarativa |
| Sistema di design | Material 3 | Stile visivo, colorazione dinamica del sistema e icone estese |
| Iniezione delle dipendenze | Hilt | Gestione delle dipendenze |
| Rete | Retrofit & OkHttp | Comunicazione HTTP con l'API VirusTotal |
| Serializzazione | kotlinx.serialization | Parsing JSON type-safe e conservazione degli attributi personalizzati |
| Asincronia | Kotlin Coroutines | Programmazione asincrona e elaborazione in background |
| Persistenza | Jetpack DataStore | Archiviazione dinamica delle impostazioni e report di scansione salvati |
| Compatibilità | SDK 30 a 36 | Compilato con JDK 17, minSdk 30, targetSdk 36 |