इस प्रोजेक्ट के बारे में

purlvalidator एक Apache-2.0 लाइसेंस के तहत Go लाइब्रेरी है जो Package-URLs (PURLs) को वैलिडेट करती है। यह पूरी तरह से ऑफ़लाइन काम करती है, जिससे यह air-gapped या प्रतिबंधित वातावरण के लिए उपयुक्त हो जाती है, और यह जाँचती है कि PURL द्वारा दर्शाया गया पैकेज वास्तव में मौजूद है या नहीं। यह लाइब्रेरी एक pre-built Finite State Transducer (FST) के साथ आती है जिसमें MineCode द्वारा माइन किए गए ज्ञात Package-URLs होते हैं। यह लुकअप करने और यह पुष्टि करने के लिए इस FST का उपयोग करती है कि क्या एक बेस PURL (बिना वर्ज़न, क्वालिफायर या सबपाथ वाला PURL) मौजूद है। वर्तमान में समर्थित इकोसिस्टम में apk, cargo, composer, conan, cpan, cran, debian, maven, npm, nuget, pypi और swift शामिल हैं। Validate फ़ंक्शन तब true लौटाता है जब बेस PURL पैकेज्ड डेटा में मौजूद होता है, तब false जब यह सिंटैक्टिक रूप से मान्य लेकिन अज्ञात होता है, और तब एक त्रुटि (error) लौटाता है जब इनपुट एक मान्य PURL नहीं होता है या उसमें वर्ज़न, क्वालिफायर या सबपाथ होता है। नए माइन किए गए पैकेज URLs से उत्पन्न नवीनतम FST के साथ प्रतिदिन एक पैच रिलीज़ प्रकाशित की जाती है। प्रोजेक्ट में FST बनाने, टेस्ट चलाने और लिंटिंग के लिए make targets शामिल हैं।