सामग्रीं प्रति गच्छन्तु
पुनः 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

एण्ड्रॉयड् तथा आईओएस एप्स्

उपरिष्टाद् जाँचः जाल-अनुप्रयोगपरीक्षा अस्ति, कारणं च स्पष्टतया वक्तुं योग्यम् अस्ति: देशी-अनुप्रयोगः स्वयमेव तथैव कर्तुं न शक्नोति। भवतः दूरभाषे यत् चाल्यते तत् संकलितयन्त्रसङ्केतः, न तु... स्रोतः भण्डारे, तथा च एप् यन्त्रे किमपि गणनां कर्तुं न शक्नोति, एकं सम्बद्धं न करोति अन्यः ।

एण्ड्रॉयड् अग्रिमम् उत्तमं कार्यं कर्तुं शक्नोति। स्थापिताः .apk एप् पठितुं शक्नोति इति सञ्चिका अस्ति तथा हैश, तथा च प्रत्येकस्य प्रकाशितस्य विमोचनस्य हैशः पूर्वमेव सार्वजनिकः अस्ति: प्रकाशनं प्रति Zapstore एपीके इत्यस्य SHA-256 इत्यस्य हस्ताक्षरप्रमाणपत्रस्य SHA-256 इत्यस्य च वहनं कृत्वा Nostr इवेण्ट् इत्यत्र हस्ताक्षरं करोति । अतः द एण्ड्रॉयड् विषये संवादः APK यस्मात् चालयति तत् हैशं करोति, हस्ताक्षरितान् आनयति घटनाः, केवलं विकासकस्य कुञ्जीद्वारा हस्ताक्षरितान् एव रक्षति, तुलनां च करोति । द्वयं दर्शयति hashes अपि, अतः भवन्तः यन्त्रात् बहिः चेकं पुनः कर्तुं शक्नुवन्ति: प्रकाशितं APK डाउनलोड् कुर्वन्तु, चालयन्तु sha256sum तस्मिन्, स्वयं च तां एव घटनां पश्यन्तु।

गूगलप्लेतः संस्थापितं एप् एवं परीक्षितुं न शक्यते, अपि च तत् किमपि दोषयुक्तम् इति सङ्केतं नास्ति। गूगल् प्रत्येकं अपलोडस्य स्वकीयेन सह पुनः हस्ताक्षरं करोति तथा च प्रत्येकस्य उपकरणस्य कृते पृथक् ए. पि. के. निर्माति, अतः भवतः दूरवाण्या यत् आगच्छति तत् विकासकेन निर्मितं संचिका न भवति, तस्य ह्याश् च प्रकाशयितुं न शक्यते। आप्, प्ले-संस्थापनाम् अङ्गीकरोति तथा वैफल्यस्य विवरणं न दत्त्वा एवं वदति। बिल्ड् इतीदं स्वयमेव अन्वेष्टुं, प्रत्यक्षतया प्रकाशितं ए. पि. के. संस्थापयतु।

iOS सर्वथा परीक्षितुं न शक्यते। एप्पल् प्रत्येकं डाउनलोड् एन्क्रिप्ट् कृत्वा पुनः हस्ताक्षरं करोति व्यक्तिगतरूपेण, अतः भवतः iPhone इत्यत्र गणितः हैशः भवतः iPhone कृते अद्वितीयः अस्ति तथा च किमपि न मेलति कुत्रापि प्रकाशितम् । About संवादः आश्वासनप्रदं दर्शयितुं न अपितु साक्षात् एतत् वदति स्थितिः यस्य अर्थः किमपि नास्ति। यदि भवान् Apple hardware इत्यत्र सत्यापितुं शक्नोति Nymchat इच्छति तर्हि जालस्य उपयोगं कुर्वन्तु app, यत् प्रत्येकं सञ्चिकां चालयति इति परीक्षते एव ।

यत् एतेषु कश्चन अपि न सिद्धयति

एप् स्वयमेव चालितः चेकः एप् इमान्दारः इति सिद्धं कर्तुं न शक्नोति — यः अपि तत् परिवर्तितवान् चेकं अपि निष्कासयितुं शक्नोति स्म। यत् सिद्धयति तत् साधारणं प्रकरणम् : यत् प्रतिलिपिः भवतः installed इति प्रतिलिपिः या प्रकाशिता आसीत् । तत् भवितुं योग्यं यतः मूल्यानि तस्य compares सार्वजनिकाः सन्ति, अतः भवतः अतिरिक्तः अन्यः कोऽपि तान् परीक्षितुं शक्नोति, असहमतः च ।

वारण्ट कैनरी

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

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

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

ताजगी लंगरः

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