इस प्रोजेक्ट के बारे में
hwid एक हल्का Python लाइब्रेरी और कमांड-लाइन टूल है जो Windows, Linux और macOS पर कंप्यूटर की हार्डवेयर ID (hwid) निकालने के लिए डिज़ाइन किया गया है। यह हार्डवेयर पहचानकर्ता प्राप्त करने के लिए नेटिव OS डिटेक्शन का उपयोग करता है, बिना किसी बाहरी रनटाइम निर्भरता की आवश्यकता के।
यह प्रोजेक्ट लेखक द्वारा एक व्यावहारिक समस्या को हल करने के लिए बनाया गया था: डेस्कटॉप एप्लिकेशन को अनधिकृत उपयोगकर्ताओं को वितरित किए बिना लाइसेंस देना। कंप्यूटर की हार्डवेयर ID को अद्वितीय पहचानकर्ता के रूप में उपयोग करके, डेवलपर्स लाइसेंसिंग सिस्टम लागू कर सकते हैं जो सॉफ़्टवेयर को विशिष्ट मशीनों से जोड़ते हैं।
स्थापना pip (`pip install hwid`), macOS/Linux पर Homebrew, या Windows पर Scoop के माध्यम से सीधी है। स्थापित होने के बाद, लाइब्रेरी को Python मॉड्यूल के रूप में `hwid` आयात करके और `hwid.get_hwid()` कॉल करके, या CLI टूल के रूप में `hwid` चलाकर हार्डवेयर ID प्रिंट करने, `hwid version` पैकेज संस्करण जांचने, या `hwid info` संस्करण, Python और प्लेटफ़ॉर्म जानकारी प्रदर्शित करने के लिए उपयोग किया जा सकता है।
मुख्य विशेषताओं में नेटिव OS डिटेक्शन के साथ क्रॉस-प्लेटफ़ॉर्म समर्थन, शून्य बाहरी रनटाइम निर्भरताएं, और मॉड्यूल और CLI टूल दोनों के रूप में दोहरा उपयोग शामिल है। प्रोजेक्ट इंजीनियरिंग गुणवत्ता पर जोर देता है, जिसमें कई टूल (mypy, basedpyright, ty, pyrefly, zuban) द्वारा जांचे गए पूर्ण प्रकार संकेत, ruff के साथ व्यापक लिंटिंग और फ़ॉर्मेटिंग, import-linter के साथ आर्किटेक्चर-अनुबंध प्रवर्तन, कवरेज रिपोर्टिंग के साथ pytest परीक्षण, GitHub Pages तैनाती के साथ Sphinx दस्तावेज़ीकरण, और कई प्लेटफ़ॉर्म पर परीक्षण, निर्माण और प्रकाशन के लिए स्वचालित CI/CD शामिल है।
सुरक्षा उपायों में CodeQL, OpenSSF Scorecard, निर्भरता समीक्षा, gitleaks के साथ गुप्त स्कैनिंग, pip-audit के साथ निर्भरता ऑडिटिंग, zizmor के साथ GitHub Actions स्थैतिक विश्लेषण, और हर रिलीज़ से जुड़ा CycloneDX SBOM शामिल है। प्रोजेक्ट निर्भरता प्रबंधन के लिए uv और निर्माण के लिए hatch का भी उपयोग करता है।
लेखक एक महत्वपूर्ण चेतावनी शामिल करता है: hwid को लाइसेंसिंग सिस्टम के एकमात्र घटक के रूप में उपयोग नहीं किया जाना चाहिए। सर्वर-क्लाइंट आर्किटेक्चर के लिए, एन्क्रिप्टेड hwid को सत्यापन के लिए सर्वर पर भेजा जा सकता है, हालांकि HTTP अनुरोधों को mitmproxy जैसे टूल से इंटरसेप्ट किया जा सकता है। स्थानीय लाइसेंसिंग के लिए, hwid को एन्क्रिप्ट करके फ़ाइल में संग्रहीत किया जा सकता है, और रिवर्स इंजीनियरिंग को कठिन बनाने के लिए pyarmor जैसे कोड अस्पष्टीकरण टूल की सिफारिश की जाती है।
प्रोजेक्ट MIT लाइसेंस के तहत वितरित किया गया है और दुर्भावनापूर्ण उद्देश्यों के लिए नहीं है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.