ज्ञानधार हुड के नीचे
निर्माण का सत्यापन
ओपन सोर्स केवल तभी मदद करता है जब आप जो कोड चला रहे हैं वह वही कोड है जो पहले था प्रकाशित. निमचैट को निश्चित रूप से बनाया गया है ताकि आप इसे स्वयं, अंदर से जांच सकें ऐप या टर्मिनल से।
सुविधा के लिए यह पृष्ठ मशीन-अनुवादित है। अंग्रेजी मूल संस्करण वह संस्करण है जो लागू होता है।
प्रतिलिपि प्रस्तुत करने योग्य निर्माण
ऐप बनाने से एक उत्सर्जन होता है build-manifest.json स्रोत प्रतिबद्धता युक्त, ए
प्रत्येक प्रस्तुत HTML, JavaScript और CSS परिसंपत्ति का SHA-256 हैश और एक एकल
bundleHash उस संपूर्ण संपत्ति सेट पर।
आउटपुट केवल स्रोत सामग्री पर निर्भर करता है - यहां तक कि रिकॉर्ड किया गया निर्माण समय भी है
निर्माण के चलने के क्षण के बजाय कमिट का टाइमस्टैम्प - इसलिए कोई भी इसे फिर से बना सकता है
कमिट को बाइट-समान फ़ाइलें और वही मिलती हैं bundleHash.
फिर GitHub एक्शन प्रत्येक कमिट को स्वतंत्र रूप से पुनर्निर्माण करता है और बिल्ड-प्रोवेंस पर हस्ताक्षर करता है
हैश और मेनिफेस्ट के लिए सत्यापन, इसलिए एक हस्ताक्षरित रिकॉर्ड बांध रहा है
bundleHash रिपॉजिटरी में किसी प्रतिबद्धता के लिए, इसके अलावा किसी अन्य चीज़ द्वारा उत्पादित
तैनाती.
अबाउट डायलॉग क्या जाँचता है
के बारे में हेडर में आपके ब्राउज़र में चेक लाइव चलता है।
यह वास्तव में पेज पर चल रहे प्रत्येक एसेट को पुनः प्राप्त करता है, इसे वेब क्रिप्टो एपीआई के साथ हैश करता है, और
प्रकट के विरुद्ध तुलना करता है। फिर - और यही वह हिस्सा है जो मायने रखता है - यह
की पुनर्गणना करता है bundleHash हैश से यह अभी गणना की है, से नहीं
मैनिफ़ेस्ट में जो कुछ भी दावा किया गया है, और उसे रिपॉजिटरी के हस्ताक्षरित सत्यापन में देखा जाता है
GitHub API के माध्यम से।
यही वह चीज़ है जो किसी परिनियोजन को स्वयं के लिए प्रमाणित करने से रोकती है: संशोधित फ़ाइलों को एक साथ प्रस्तुत करना मिलान मैनिफ़ेस्ट अभी भी विफल रहता है, क्योंकि पुनर्गणना किए गए हैश का कोई सत्यापन नहीं है।
| स्थिति | मतलब |
|---|---|
| &जाँच करना; सत्यापित आधिकारिक ऐप (एन/एन) | प्रत्येक परिसंपत्ति का मिलान होता है, पुनर्गणना किए गए बंडल हैश को रिपॉजिटरी द्वारा प्रमाणित किया जाता है, और पेज आधिकारिक डोमेन से परोसा जाता है। |
| ⚠ सत्यापित बिल्ड · आधिकारिक ऐप नहीं | कोड वास्तविक और प्रमाणित है, लेकिन यह किसी अन्य डोमेन का दर्पण है। सत्यापन में असफल हुए बिना दर्पण इस चेतावनी को नहीं हटा सकता। |
| ✗ बेमेल | किसी परिसंपत्ति में मेनिफ़ेस्ट में कही गई बातों पर कोई असर नहीं पड़ता है। |
| ✗ अनौपचारिक निर्माण | पुनर्गणना किए गए बंडल हैश का भंडार से कोई सत्यापन नहीं है - एक स्व-निर्मित प्रकटीकरण। |
| ⚠ उद्गम अप्राप्य | GitHub API तक नहीं पहुंचा जा सका, इसलिए सत्यापन की किसी भी तरह से जाँच नहीं की जा सकी। |
इसकी पुष्टि आप खुद कर रहे हैं
संवाद नामों के बारे में प्रतिबद्धता का पुनर्निर्माण करें और तुलना करें:
git clone https://github.com/Spl0itable/NYM
cd NYM
git checkout <commit shown in the About dialog>
npm ci
npm run build # prints "Build hash: <bundleHash>"
मुद्रित हैश को अबाउट डायलॉग और उस कमिट के दोनों से मेल खाना चाहिए बिल्ड-प्रोवेंस रन सारांश। आप सीधे GitHub CLI से भी हस्ताक्षर की जांच कर सकते हैं:
gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM
वारंट कैनरी
वारंट कैनरी एक बयान है, जो डेवलपर के पास एक निश्चित समय पर प्रकाशित होता है नहीं एक गुप्त सरकारी आदेश प्राप्त हुआ जिसे प्रकट करने से उन्हें मना किया गया है - a राष्ट्रीय सुरक्षा पत्र, एक FISA आदेश। डेवलपर को चुप रहने के लिए मजबूर किया जा सकता है ऐसा आदेश, लेकिन झूठ बोलने के लिए मजबूर नहीं किया जा सकता है, इसलिए कैनरी बासी हो रही है या गायब हो रही है स्वयं संकेत.
वो में रहता है canary.json रिपॉजिटरी के मूल में और सीधे लाया जाता है
GitHub से, इसलिए तैनात साइट जो कुछ भी कहती है, उसका इतिहास स्वतंत्र रूप से सुनने योग्य है।
अबाउट डायलॉग इसे रंग-कोड करता है:
| रंग | मतलब |
|---|---|
| हरा - सब साफ | हस्ताक्षरित, वर्तमान, और हस्ताक्षर डेवलपर की कुंजी से मेल खाता है। कोई गुप्त आदेश नहीं मिला है. |
| पीला - अतिदेय, या सब कुछ स्पष्ट नहीं | इसे इसकी बताई गई तारीख या इसके द्वारा ताज़ा नहीं किया गया था allClear झंडा झूठा है. एक मौन आदेश से इंकार नहीं किया जा सकता। |
| लाल -अमान्य हस्ताक्षर, या चला गया | हस्ताक्षर डेवलपर की कुंजी से मेल नहीं खाता है, या फ़ाइल पूरी तरह से हटा दी गई है। इसे एक गंभीर चेतावनी मानें. |
ताजगी का लंगर
हस्ताक्षरित कैनरी हस्ताक्षर के समय नवीनतम बिटकॉइन ब्लॉक ऊंचाई और हैश को एम्बेड करता है। उस हैश को ब्लॉक के अस्तित्व में आने से पहले नहीं जाना जा सकता था, जो साबित करता है कि कैनरी थी हस्ताक्षरित बाद महीनों पहले थोक में पूर्व-हस्ताक्षरित होने के बजाय समय में एक विशिष्ट बिंदु। अबाउट डायलॉग एंकर को ब्लॉक एक्सप्लोरर से लिंक करता है ताकि आप इसे जांच सकें।