ज्ञानको आधार हुड मुनि
निर्माण प्रमाणीकरण गर्दै
यदि तपाईले चलाइरहनुभएको कोड कोड हो भने मात्र खुला स्रोतले मद्दत गर्दछ प्रकाशित। Nymchat निर्णायक रूपमा बनाइएको छ ताकि तपाईं भित्रबाट आफैलाई जाँच गर्न सक्नुहुन्छ एप वा टर्मिनलबाट।
यो पृष्ठ सुविधाको लागि मेसिन-अनुवाद गरिएको हो। अंग्रेजी मूल संस्करण हो जुन लागू हुन्छ।
पुन: उत्पादन योग्य निर्माणहरू
एप निर्माण गर्दा ए उत्सर्जन हुन्छ build-manifest.json स्रोत प्रतिबद्धता सहित, a
प्रत्येक सेवा गरिएको HTML, JavaScript र CSS सम्पत्तिको SHA-256 ह्यास, र एकल
bundleHash त्यो सम्पूर्ण सम्पत्ति सेटमा।
आउटपुट स्रोत सामग्रीमा मात्र निर्भर गर्दछ — रेकर्ड गरिएको निर्माण समय पनि हो
कमिटको टाइमस्ट्याम्प बिल्ड चलेको क्षणको सट्टा - त्यसैले जो कोहीले पनि त्यस्तै पुन: निर्माण गर्दछ
कमिटले बाइट-समान फाइलहरू र उस्तै प्राप्त गर्दछ bundleHash.
एक GitHub कार्य त्यसपछि प्रत्येक प्रतिबद्धतालाई स्वतन्त्र रूपमा पुनर्निर्माण गर्दछ र निर्माण-प्रोभेन्सनमा हस्ताक्षर गर्दछ
ह्यास र manifest को लागि प्रमाणीकरण, त्यसैले त्यहाँ एक हस्ताक्षर गरिएको रेकर्ड टाइङ a छ
bundleHash भण्डारमा कमिट गर्न, बाहेक अरू केहि द्वारा उत्पादित
तैनाती।
बारे संवादले के जाँच गर्छ
बारे हेडरमा तपाईंको ब्राउजरमा चेक लाइभ चलाउँछ।
यसले पृष्ठ वास्तवमा चलिरहेको प्रत्येक सम्पत्तिलाई पुन: ल्याउँछ, वेब क्रिप्टो API मार्फत ह्यास गर्छ, र
manifest विरुद्ध तुलना गर्दछ। त्यसपछि - र यो महत्त्वपूर्ण भाग हो - यो
पुन: गणना गर्दछ bundleHash ह्यासहरूबाट यो भर्खर गणना गरिएको छ, बाट होइन
म्यानिफेस्टले दाबी गरेको कुनै पनि कुरा, र भण्डारको हस्ताक्षरित प्रमाणीकरणहरूमा त्यो देखिन्छ
GitHub API मार्फत।
त्यो हो जसले एक डिप्लोइमेन्टलाई आफैंको लागि पुष्टि गर्नबाट रोक्छ: परिमार्जित फाइलहरू सँगै सेवा गर्दै मिल्दो म्यानिफेस्ट अझै असफल हुन्छ, किनभने पुन: गणना गरिएको ह्याससँग कुनै प्रमाणीकरण छैन।
| स्थिति | मतलब |
|---|---|
| &जाँच; प्रमाणित आधिकारिक एप (n/n) | प्रत्येक सम्पत्ति मेल खान्छ, पुन: गणना गरिएको बन्डल ह्यास भण्डारद्वारा प्रमाणित हुन्छ, र पृष्ठ आधिकारिक डोमेनबाट सेवा गरिन्छ। |
| ⚠ प्रमाणित निर्माण · आधिकारिक एप होइन | कोड वास्तविक र प्रमाणित छ, तर यो अर्को डोमेनमा मिरर हो। मिररले प्रमाणीकरण असफल नगरी यो चेतावनी हटाउन सक्दैन। |
| ✗ बेमेल | म्यानिफेस्टले भनेको कुरामा सम्पत्तिले ह्यास गर्दैन। |
| ✗ अनौपचारिक निर्माण | पुन: गणना गरिएको बन्डल ह्यासको भण्डारबाट कुनै प्रमाणीकरण छैन - एक स्व-निर्मित प्रकट। |
| ⚠ उद्गम स्थल पहुँचयोग्य छैन | 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
एन्ड्रोइड र आईओएस एपहरू
माथिको चेक वेब-एप जाँच हो, र कारण स्पष्ट रूपमा बताउन लायक छ: एक नेटिभ एप आफैलाई एउटै कुरा गर्न सक्दैन। तपाईको फोनमा चल्ने कुरा कम्पाइल गरिएको मेसिन कोड हो, होइन रिपोजिटरीमा स्रोत, र यन्त्रमा एपले गणना गर्न सक्ने कुनै पनि कुरासँग सम्बन्धित छैन अन्य।
Android ले अर्को उत्कृष्ट कुरा गर्न सक्छ। स्थापना भएको छ .apk एपले पढ्न सक्ने फाइल हो
र ह्यास, र प्रत्येक प्रकाशित विमोचन को ह्यास पहिले नै सार्वजनिक छ: को लागि प्रकाशन
Zapstore
APK को SHA-256 र यसको हस्ताक्षर प्रमाणपत्रको SHA-256 बोकेको Nostr घटनामा हस्ताक्षर गर्दछ। त्यसैले द
एन्ड्रोइड बारे संवादले यो चलिरहेको APK ह्यास गर्छ, हस्ताक्षर गरिएकाहरूलाई ल्याउँछ
घटनाहरू, विकासकर्ताको कुञ्जीद्वारा हस्ताक्षर गरिएकाहरूलाई मात्र राख्छ, र तुलना गर्दछ। यसले दुईलाई देखाउँछ
ह्यासहरू पनि, ताकि तपाईं यन्त्रको जाँच दोहोर्याउन सक्नुहुन्छ: प्रकाशित APK डाउनलोड गर्नुहोस्, चलाउनुहोस्
sha256sum यसमा, र उही घटना आफैलाई हेर्नुहोस्।
Google Play बाट स्थापना गरिएको एपलाई यसरी जाँच गर्न सकिँदैन, र त्यो कुनै पनि कुरा गलत भएको सङ्केत होइन। गुगलले प्रत्येक अपलोडलाई आफ्नै कुञ्जीको साथ पुनः साइन गर्दछ र प्रत्येक उपकरणका लागि छुट्टै एपीके निर्माण गर्दछ, त्यसैले तपाईंको फोनमा जुन ल्याण्ड हुन्छ त्यो विकासकर्ताले उत्पादन गरेको फाइल होइन र यसको ह्याश प्रकाशित हुन सक्ने केहीसँग मेल खाँदैन। एपले प्ले स्थापनालाई चिन्छ र असफलताको रिपोर्ट गर्नुको सट्टा यसो भन्छ। आफै निर्माण जाँच गर्न, सिधै प्रकाशित एपीके स्थापना गर्नुहोस्।
iOS लाई जाँच गर्न सकिँदैन। एप्पलले प्रत्येक डाउनलोडलाई इन्क्रिप्ट र पुन: साइन इन गर्छ व्यक्तिगत रूपमा, त्यसैले तपाईको आईफोनमा गणना गरिएको ह्यास तपाईको आईफोनको लागि अद्वितीय छ र केहि पनि मेल खाँदैन कहीं पनि प्रकाशित। यसबारे संवादले आश्वस्त देखाउनुको सट्टा यसलाई स्पष्ट रूपमा भन्छ स्थिति जसको कुनै अर्थ छैन। यदि तपाइँ Nymchat चाहनुहुन्छ भने तपाइँ Apple हार्डवेयरमा प्रमाणित गर्न सक्नुहुन्छ, वेब प्रयोग गर्नुहोस् एप, जसले चलिरहेको हरेक फाइल जाँच गर्छ।
एप आफैमा चलेको जाँचले एप इमानदार छ भनेर प्रमाणित गर्न सक्दैन - जसले यसलाई परिमार्जन गर्छ चेक पनि हटाउन सक्छ। यसले के प्रमाणित गर्छ सामान्य मामला हो: त्यो प्रतिलिपि तपाईं स्थापना प्रकाशित भएको प्रतिलिपि हो। त्यो हुनु लायक छ किनभने यसको मूल्यहरू तुलनाहरू सार्वजनिक छन्, त्यसैले तपाईं बाहेक अरू कसैले तिनीहरूलाई जाँच गर्न, र असहमत हुन सक्छ।
वारेन्ट क्यानरी
एक वारेन्ट क्यानरी एक कथन हो, एक निश्चित तालिका मा प्रकाशित, विकासकर्ता छ होइन गोप्य सरकारी आदेश प्राप्त भए उनीहरुलाई खुलाउन निषेध गरिएको छ - क राष्ट्रिय सुरक्षा पत्र, एक FISA आदेश। विकासकर्ता मौन बस्न बाध्य हुन सक्छ यस्तो आदेश, तर झुट बोल्न बाध्य गर्न सकिँदैन, त्यसैले क्यानरी बासी वा लोप हुँदैछ आफै संकेत।
यो मा बस्छ canary.json भण्डारको मूलमा र सिधै ल्याइएको छ
GitHub बाट, त्यसैले यसको इतिहास डिप्लोइड साइटले जे भने पनि स्वतन्त्र रूपमा अडिट योग्य छ।
संवादको बारेमा रङ-कोडहरू यसलाई:
| रङ | मतलब |
|---|---|
| हरियो - सबै स्पष्ट | हस्ताक्षर गरिएको, हालको, र हस्ताक्षर विकासकर्ताको कुञ्जीसँग मेल खान्छ। कुनै गोप्य आदेश प्राप्त भएको छैन। |
| पहेंलो - ओभरडियो, वा सबै स्पष्ट छैन | यो यसको उल्लिखित मिति, वा यसको द्वारा ताजा गरिएको थिएन allClear झण्डा गलत छ। मौन आदेशलाई नकार्न सकिँदैन। |
| रातो - अवैध हस्ताक्षर, वा गयो | हस्ताक्षर विकासकर्ताको कुञ्जीसँग मेल खाँदैन, वा फाइल पूर्ण रूपमा हटाइएको छ। यसलाई गम्भीर चेतावनीको रूपमा व्यवहार गर्नुहोस्। |
ताजगी लंगर
हस्ताक्षर गरिएको क्यानरीले भर्खरको बिटकोइन ब्लक उचाइ र हस्ताक्षरको क्षणमा ह्यास इम्बेड गर्दछ। त्यो ह्यास ब्लक अवस्थित हुनु अघि थाहा हुन सकेन, जसले प्रमाणित गर्दछ कि क्यानरी थियो हस्ताक्षर गरे पछि समय मा एक विशेष बिन्दु बल्क महिना पहिले पूर्व हस्ताक्षर गर्नु भन्दा। बारेमा संवादले एङ्करलाई ब्लक एक्सप्लोररमा लिङ्क गर्दछ ताकि तपाइँ यसलाई जाँच गर्न सक्नुहुन्छ।