सामग्रीं प्रति गच्छन्तु
पुनः Nymchat प्रति

ज्ञानाधारः फणायाः अधः

बिल्ड् इत्यस्य सत्यापनम्

मुक्तस्रोतः केवलं तदा एव सहायकः भवति यदा भवान् यत् कोडं चालयति सः कोडः अस्ति यः आसीत् प्रकाशित। Nymchat नियतरूपेण निर्मितं भवति अतः भवान् स्वयमेव तत् परीक्षितुं शक्नोति, अन्तःतः... app अथवा टर्मिनलतः।

पुनरुत्पादनीयानि निर्माणानि

एप्लिकेशनस्य निर्माणेन क build-manifest.json स्रोतः प्रतिबद्धं युक्तम्, a प्रत्येकस्य परोक्षितस्य HTML, JavaScript तथा CSS सम्पत्तिस्य SHA-256 हैशः, एकस्य च bundleHash तस्य समग्रस्य सम्पत्तिसमूहस्य उपरि।

आउटपुट् केवलं स्रोतसामग्रीणां उपरि निर्भरं भवति — अभिलेखितः निर्माणसमयः अपि अस्ति commit इत्यस्य समयमुद्रिकां न तु तस्य क्षणस्य अपेक्षया निर्माणं चालितम् — अतः कोऽपि पुनर्निर्माणं कुर्वन् commit इत्यनेन बाइट्-सदृशाः सञ्चिकाः अपि च समानाः प्राप्यन्ते bundleHash.

ततः एकः GitHub Action प्रत्येकं प्रतिबद्धं स्वतन्त्रतया पुनर्निर्माणं करोति तथा च build-provenance इति हस्ताक्षरं करोति हैशस्य मेनिफेस्टस्य च प्रमाणपत्राणि, अतः a बद्धः हस्ताक्षरितः अभिलेखः अस्ति bundleHash to a commit in the repository, यत् अन्येन किमपि उत्पादितं भवति परिनियोजनम् ।

About इति संवादः किं परीक्षते

विषये शीर्षके चेक लाइव चालयति, भवतः ब्राउजर् मध्ये ।

Nymchat About संवादः, संस्करणं दर्शयन्, अखण्डतां निर्माति तथा च canary स्थितिं वारण्ट् करोति ।
The About dialog: version, build integrity, warrant canary तथा च विकासकं प्रति प्रत्यक्षरेखा ।

इदं पृष्ठं वास्तवतः चालितं प्रत्येकं सम्पत्तिं पुनः आनयति, Web Crypto API इत्यनेन सह हैशं करोति, तथा च... प्रकटस्य विरुद्धं तुलनां करोति। ततः — अयं च भागः महत्त्वपूर्णः — तत् पुनः गणनां करोति bundleHash हैशेभ्यः इदम्‌ केवलं गणितं, न तु यत्किमपि प्रकटं दावान् करोति, तत् च भण्डारस्य हस्ताक्षरितप्रमाणपत्रेषु पश्यति GitHub API इत्यस्य माध्यमेन ।

तदेव एकं परिनियोजनं स्वयमेव वाउचिंगं कर्तुं निवारयति: परिवर्तितसञ्चिकानां सेवां एकत्र सह a matching manifest अद्यापि विफलं भवति, यतः पुनः गणितस्य हैशस्य प्रमाणीकरणं नास्ति ।

स्थितिःसाधनानि
&अनुशीलय; सत्यापित आधिकारिक एप्लिकेशन (n/n)प्रत्येकं सम्पत्तिः मेलति, पुनः गणितं बण्डल् हैशं भण्डारेण प्रमाणीकृतं भवति, तथा पृष्ठं आधिकारिकक्षेत्रात् सेव्यते ।
⚠ सत्यापितं निर्माणं · आधिकारिकं एप् नकोडः वास्तविकः प्रमाणितः च अस्ति, परन्तु एषः अन्यस्मिन् डोमेने दर्पणः अस्ति । दर्पणः सत्यापनं विफलं विना एतत् चेतावनीम् अपसारयितुं न शक्नोति ।
✗ असङ्गतिःसम्पत्तिः प्रकटः यत् वदति तत् न हैशं करोति।
✗ अनधिकृत निर्माणपुनः गणितस्य बण्डल् हैशस्य भण्डारतः प्रमाणीकरणं नास्ति — स्वयमेव निर्मितः मेनिफेस्ट् ।
⚠ उत्पत्ति अप्राप्यGitHub API प्राप्तुं न शक्यते स्म, अतः प्रमाणीकरणं उभयथापि परीक्षितुं न शक्यते स्म ।

स्वयमेव तस्य सत्यापनम्

Commit the About इति संवादनामानि पुनः निर्माय तुलनां कुर्वन्तु:

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>"

मुद्रितः हैशः About संवादे स्थितस्य तस्मिन् commit इत्यस्य च द्वयोः मेलनं कर्तव्यम् build-provenance run सारांशः । GitHub CLI इत्यनेन सह प्रत्यक्षतया हस्ताक्षरं अपि परीक्षितुं शक्नुवन्ति:

gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM

वारण्ट कैनरी

वारण्ट् कैनरी इति कथनम्, यत् निश्चिते समयसूचने प्रकाशितं भवति, यत् विकासकस्य अस्ति नहि गुप्तं सर्वकारीयं आदेशं प्राप्तवन्तः तेषां प्रकटीकरणं निषिद्धम् — क राष्ट्रियसुरक्षापत्रम्, एकः FISA आदेशः। विकासकः मौनं कर्तुं बाध्यः भवितुम् अर्हति तादृशः आदेशः, परन्तु असत्यं वक्तुं बाध्यः न भवितुम् अर्हति, अतः केनरी बासी गच्छन् अथवा अन्तर्धानं भवति स्वयं संकेतः ।

इति निवसति canary.json भण्डारस्य मूले च प्रत्यक्षतया आनयति GitHub इत्यस्मात्, अतः तस्य इतिहासः नियोजितः साइट् यत् किमपि वदति तस्मात् स्वतन्त्रतया लेखापरीक्षणीयः अस्ति । About इति संवादः तस्य वर्ण-सङ्केतः करोति:

वर्णसाधनानि
हरित — सर्वं स्पष्टम्हस्ताक्षरितं, वर्तमानं, हस्ताक्षरं च विकासकस्य कुञ्जिकायाः ​​मेलनं करोति । न कोऽपि गुप्तः आदेशः प्राप्तः।
पीतं — अतिक्रान्त, न वा सर्वं स्पष्टम्न तस्य उक्ततिथिना, अथवा तस्य... allClear ध्वजः मिथ्या अस्ति। मौनम् आदेशः निराकर्तुं न शक्यते।
रक्त — अमान्यहस्ताक्षरः, गतः वाहस्ताक्षरं विकासकस्य कुञ्जिकायाः ​​सह न मेलति, अथवा सञ्चिका सम्पूर्णतया निष्कासिता अस्ति । एतत् गम्भीरं चेतावनीरूपेण व्यवहरन्तु।

ताजगी लंगरः

हस्ताक्षरितः कैनरी हस्ताक्षरस्य क्षणे नवीनतमं बिटकॉइन-ब्लॉक-उच्चतां हैशं च एम्बेड् करोति । सः हैशः खण्डस्य अस्तित्वात् पूर्वं ज्ञातुं न शक्नोति स्म, यत् सिद्धयति यत् केनरी आसीत् हस्ताक्षरितम् अनन्तरम्‌ पूर्वं बल्कमासेषु पूर्वहस्ताक्षरितस्य अपेक्षया समयस्य विशिष्टः बिन्दुः। About संवादः एंकरं block explorer इत्यनेन सह सम्बध्दयति येन भवान् तस्य जाँचं कर्तुं शक्नोति ।