
Veto v2.3
वायरसटोटल के लिए ओपन-सोर्स एंड्रॉइड क्लाइंट। 70+ एंटीवायरस इंजनों के विरुद्ध फ़ाइलों, URL और इंस्टॉल किए गए ऐप्स को स्कैन करें। हैश, खतरे के वर्गीकरण, YARA मिलान और सैंडबॉक्स व्यवहार सहित विस्तृत रिपोर्ट देखें। कोई ट्रैकिंग या विज्ञापन नहीं।
Veto
Android के लिए एक ओपन सोर्स VirusTotal क्लाइंट
मुफ्त और ओपन सोर्स। 70 से अधिक इंजनों के विरुद्ध फ़ाइलों, लिंक्स और इंस्टॉल किए गए एप्लिकेशन को स्कैन करने के लिए अपनी खुद की VirusTotal API कुंजी लाएँ, जो Material 3 इंटरफ़ेस के साथ बनाया गया है। कोई खाता नहीं, कोई ट्रैकिंग नहीं, कोई विज्ञापन नहीं।
Veto क्या है?
Veto VirusTotal के लिए एक Android क्लाइंट है। वास्तविक समय के विश्लेषण परिणाम देखने के लिए कोई फ़ाइल, लिंक या इंस्टॉल किया गया एप्लिकेशन सबमिट करें। एप्लिकेशन एक स्पष्ट रिपोर्ट प्रदर्शित करता है जो एक एकीकृत निर्णय से लेकर सेवा द्वारा लौटाए गए फ़ील्ड्स के पूर्ण सेट तक होती है।
यह प्रोजेक्ट मुफ्त और ओपन सोर्स है, जिसमें कोई उपयोगकर्ता खाता, ट्रैकिंग सिस्टम या विज्ञापन नहीं है। चूंकि उपयोगकर्ता अपनी खुद की VirusTotal API कुंजी प्रदान करते हैं, सभी स्कैन सीधे उनके व्यक्तिगत खाते के अंतर्गत चलते हैं, बिना किसी मध्यस्थ तृतीय-पक्ष सर्वर से गुज़रे।
स्क्रीनशॉट
![]() | ![]() | ![]() |
![]() | ![]() |
फ़ीचर सेट
- स्कैन क्षमता: इंस्टॉल किए गए ऐप्स, स्थानीय फ़ाइलें या लक्षित URL स्कैन करें।
- मल्टी-इंजन एकत्रीकरण: 70 से अधिक एंटीवायरस इंजनों से निदान को जोड़ता है।
- दोहरी रिपोर्टिंग मोड: त्वरित सत्यापन सारांश के लिए क्विक मोड, और गहन निरीक्षण के लिए डिटेल्ड मोड।
- प्रासंगिक स्पष्टीकरण: प्रत्येक अनुभाग के लिए व्याख्यात्मक पाठ उपलब्ध है, चाहें तो स्पष्टीकरण छिपाने की सेटिंग के साथ।
- उच्च-गुणवत्ता वाली रिपोर्ट: फ़ाइल हैश, खतरे के वर्गीकरण, इतिहास, समुदाय वोट, सैंडबॉक्स व्यवहार, YARA मिलान, Android एप्लिकेशन आंतरिक विवरण और सभी अतिरिक्त API पेलोड फ़ील्ड प्रदर्शित करता है।
- बैकग्राउंड निष्पादन: वास्तविक समय में अपलोड और विश्लेषण प्रगति ट्रैकिंग जो बैकग्राउंड सेवा के भीतर बनी रहती है।
- ऑफ़लाइन पहुंच: रिपोर्ट को स्थानीय रूप से सहेजता है ताकि बाद में, इंटरनेट कनेक्शन के बिना भी समीक्षा की जा सके।
- दर सीमा चेतावनी: जब स्थानीय API कुंजी अपनी दर सीमा तक पहुँचती है तो स्पष्ट सूचनाएँ प्रदर्शित करता है।
- थीमिंग: गतिशील सिस्टम रंगों के साथ पूर्ण Material 3 समर्थन, हल्के और गहरे दोनों थीम का समर्थन करता है।
कोर आर्किटेक्चर कार्यान्वयन विवरण
- स्थिति सिंक्रनाइज़ेशन: एप्लिकेशन-स्कोप्ड
ScanManagerसभी स्कैनिंग स्थितियों के लिए केंद्रीकृत स्रोत के रूप में कार्य करता है। यह सुनिश्चित करता है कि उपयोगकर्ता इंटरफ़ेस सिंक्रनाइज़ रहे, चाहे ऐप फोरग्राउंड में सक्रिय हो, बैकग्राउंड में निलंबित हो, या ऑपरेटिंग सिस्टम द्वारा नष्ट कर दिया गया हो। - लचीला पोलिंग: ऐप छह मिनट की वॉल क्लॉक सीमा का उपयोग करके
/analyses/{id}एंडपॉइंट को पोल करता है। यदि दर सीमा प्रतिक्रिया का सामना करना पड़ता है, तो प्रक्रिया विफल होने के बजाय प्रतीक्षा करती है। रिपोर्ट तब तक पुनः प्राप्त की जाती है जब तक परिणाम भर नहीं जाते, टाइमआउट सीमा तक पहुँचने पर एक संरचित विफलता स्थिति लौटाते हुए। - प्रक्रिया जीवनचक्र: जबकि
ScanStateActivity विनाश से बचने के लिएScanManagerके भीतर रहता है,ScanServiceसक्रिय संचालन के दौरान प्रक्रिया जीवनचक्र बनाए रखता है और चालू तथा पूर्णता सूचनाओं का प्रबंधन करता है। - पूर्ण फ़िडेलिटी पार्सिंग: सामान्य फ़ील्ड टाइप किए गए मॉडल का उपयोग करके कैप्चर किए जाते हैं, जबकि पूर्ण कच्चा
attributesJSON एक कस्टम सीरियलाइज़र के माध्यम से बनाए रखा जाता है। यह डिटेल्ड रिपोर्ट दृश्य को सभी लौटाए गए फ़ील्ड प्रस्तुत करने की अनुमति देता है, जिसमें समय के साथ API पेलोड में जोड़े गए कोई भी नए फ़ील्ड शामिल हैं।
टेक स्टैक
| परत | तकनीक | प्रोजेक्ट में भूमिका |
|---|---|---|
| भाषा | Kotlin | प्राथमिक प्रोग्रामिंग भाषा |
| UI फ्रेमवर्क | Jetpack Compose | घोषणात्मक UI संरचना |
| डिज़ाइन सिस्टम | Material 3 | दृश्य स्टाइलिंग, गतिशील सिस्टम रंग और विस्तारित आइकन |
| डिपेंडेंसी इंजेक्शन | Hilt | डिपेंडेंसी प्रबंधन |
| नेटवर्किंग | Retrofit & OkHttp | VirusTotal API के साथ HTTP संचार |
| सीरियलाइज़ेशन | 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/ # UI घटक और प्रस्तुति परतें
├── intro/ # स्प्लैश स्क्रीन और API कुंजी कॉन्फ़िगरेशन
├── dashboard/ # नेविगेशन हब: लिंक, फ़ाइल और ऐप स्कैनिंग मॉड्यूल
├── results/ # क्विक और डिटेल्ड रिपोर्ट विज़ुअलाइज़र
├── components/# पुन: प्रयोज्य UI तत्व और लेआउट
├── theme/ # रंग, आकार, टाइपोग्राफी और गति कॉन्फ़िगरेशन
└── util/ # हैप्टिक फीडबैक, जेस्चर और डीप लिंकिंग उपयोगिताएँ
- स्टोर लिस्टिंग संपत्तियाँ और टेक्स्ट संसाधन
fastlane/metadata/android/en-US/में उपलब्ध हैं। - संपादन योग्य मॉकअप SVG
docs/store/svg/में स्थित हैं। - मॉकअप को
docs/store/export.htmlका उपयोग करके PNG प्रारूप में निर्यात किया जा सकता है।
आरंभ करना
पूर्वापेक्षाएँ
- Android Studio (नवीनतम स्थिर संस्करण)
- JDK 17
- एक मुफ्त VirusTotal API कुंजी, जिसे यहाँ प्राप्त किया जा सकता है: https://www.virustotal.com/gui/my-apikey
बिल्ड और रन
रिपॉजिटरी को क्लोन करें और कमांड लाइन का उपयोग करके डीबग बिल्ड संकलित करें:
git clone https://github.com/ProfessorQuantumUniverse/VTScan.git
cd VTScan
./gradlew :app:assembleDebug
वैकल्पिक रूप से, Android Studio के भीतर रूट निर्देशिका खोलें और Run कॉन्फ़िगरेशन चुनें।
पहले लॉन्च पर, परिचय सेटअप स्क्रीन में अपनी VirusTotal API कुंजी दर्ज करें। कुंजी आपके डिवाइस पर स्थानीय रूप से संग्रहीत होती है, जो Android Keystore से AES-256-GCM कुंजी के साथ एन्क्रिप्टेड होती है, और क्लाउड बैकअप और डिवाइस-से-डिवाइस स्थानांतरण से बाहर रखी जाती है। मुफ्त API कुंजियाँ आमतौर पर प्रति मिनट चार लुकअप की सीमा के अधीन होती हैं।
गोपनीयता नीति
एप्लिकेशन केवल आपके द्वारा प्रदान की गई क्रेडेंशियल्स का उपयोग करके VirusTotal API के साथ संचार करता है। अपलोड की गई फ़ाइलें, सबमिट किए गए URL और गतिशील परिणाम सीधे VirusTotal के सर्वर पर भेजे जाते हैं। API कुंजी आपके डिवाइस पर स्थानीय रूप से संग्रहीत होती है, जो Android Keystore से AES-256-GCM कुंजी के साथ एन्क्रिप्टेड होती है, और क्लाउड बैकअप और डिवाइस-से-डिवाइस स्थानांतरण से बाहर रखी जाती है, इसलिए यह कभी भी डिवाइस से बाहर नहीं जाती है। HTTP लॉगिंग केवल डीबग बिल्ड तक सीमित है और कुंजी हेडर को संपादित करती है। Veto एनालिटिक्स डेटा एकत्र नहीं करता है और इसमें कोई विज्ञापन SDK नहीं है।
लाइसेंस
यह प्रोजेक्ट GNU जनरल पब्लिक लाइसेंस v3.0 की शर्तों के तहत लाइसेंस प्राप्त है।
GPLv3 की मुख्य शर्तें:
- वाणिज्यिक उपयोग: अनुमत
- संशोधन: अनुमत
- वितरण: अनुमत
- स्रोत कोड प्रकटीकरण: वितरण पर आवश्यक
- समान लाइसेंस: संशोधित कोड को भी GPLv3 का उपयोग करना चाहिए
- देयता और वारंटी: लेखकों द्वारा कोई प्रदान नहीं की गई
अधिक विवरण के लिए, कृपया इस रिपॉजिटरी में LICENSE फ़ाइल देखें।




