علم کی بنیاد ہڈ کے نیچے
تعمیر کی تصدیق
اوپن سورس صرف اس صورت میں مدد کرتا ہے جب آپ جو کوڈ چلا رہے ہیں وہی کوڈ ہے۔ شائع Nymchat کو مستقل طور پر بنایا گیا ہے لہذا آپ اسے اندر سے خود چیک کر سکتے ہیں۔ ایپ یا ٹرمینل سے۔
یہ صفحہ سہولت کے لیے مشین سے ترجمہ کیا گیا ہے۔ انگریزی اصل وہ ورژن ہے جو لاگو ہوتا ہے۔
دوبارہ پیدا کرنے کے قابل بناتا ہے۔
ایپ بنانے سے a build-manifest.json ذریعہ کمٹ پر مشتمل، a
ہر پیش کردہ HTML، JavaScript اور CSS اثاثہ کا SHA-256 ہیش، اور ایک واحد
bundleHash اس پورے اثاثہ سیٹ سے زیادہ۔
آؤٹ پٹ صرف ماخذ کے مواد پر منحصر ہے - یہاں تک کہ ریکارڈ شدہ تعمیر کا وقت بھی ہے۔
کمٹ کا ٹائم اسٹیمپ اس لمحے کے بجائے جس وقت بلڈ چل گیا تھا - لہذا کوئی بھی اسے دوبارہ تعمیر کر رہا ہے۔
کمٹ کو بائٹ جیسی فائلیں ملتی ہیں اور وہی bundleHash.
ایک GitHub ایکشن پھر ہر ایک کمٹٹ کو آزادانہ طور پر دوبارہ بناتا ہے اور تعمیر کی نشاندہی کرتا ہے۔
ہیش اور مینی فیسٹ کے لیے تصدیق، تو ایک دستخط شدہ ریکارڈ ہے باندھنا a
bundleHash مخزن میں ایک عہد کرنا، جو کہ کے علاوہ کسی اور چیز کے ذریعہ تیار کیا گیا ہے۔
تعیناتی
کے بارے میں ڈائیلاگ کیا چیک کرتا ہے۔
کے بارے میں ہیڈر میں چیک لائیو چلاتا ہے، آپ کے براؤزر میں۔
یہ ہر اثاثے کو دوبارہ حاصل کرتا ہے جو صفحہ اصل میں چل رہا ہے، اسے ویب کریپٹو API کے ساتھ ہیش کرتا ہے، اور
مینی فیسٹ سے موازنہ کرتا ہے۔ پھر - اور یہ وہ حصہ ہے جو اہمیت رکھتا ہے۔
کی دوبارہ گنتی کرتا ہے۔ 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
وارنٹ کینری
وارنٹ کینری ایک بیان ہے، جو ایک مقررہ شیڈول پر شائع ہوتا ہے، جو ڈویلپر کے پاس ہوتا ہے۔ نہیں ایک خفیہ حکومتی حکم نامہ موصول ہوا جسے ظاہر کرنے سے منع کیا گیا ہے۔ قومی سلامتی کا خط، ایک FISA آرڈر۔ ڈویلپر کو اس بارے میں خاموش رہنے پر مجبور کیا جا سکتا ہے۔ ایسا حکم ہے، لیکن جھوٹ بولنے پر مجبور نہیں کیا جا سکتا، اس لیے کنری باسی یا غائب ہو رہی ہے۔ خود سگنل.
اس میں رہتا ہے۔ canary.json ذخیرہ کی جڑ میں اور براہ راست حاصل کیا جاتا ہے۔
GitHub سے، لہذا اس کی تاریخ جو کچھ بھی تعینات سائٹ کہتی ہے آزادانہ طور پر قابل آڈٹ ہے۔
اس کے بارے میں ڈائیلاگ کلر کوڈ کرتا ہے:
| رنگ | مطلب |
|---|---|
| سبز - سب واضح | دستخط شدہ، موجودہ، اور دستخط ڈویلپر کی کلید سے میل کھاتا ہے۔ کوئی خفیہ حکم نامہ موصول نہیں ہوا۔ |
| پیلا - زائد المیعاد، یا سب واضح نہیں۔ | یہ اس کی بتائی گئی تاریخ، یا اس کی طرف سے تازہ نہیں کیا گیا تھا allClear جھنڈا جھوٹا ہے. ایک خاموش حکم کو رد نہیں کیا جا سکتا۔ |
| سرخ - غلط دستخط، یا چلے گئے۔ | دستخط ڈویلپر کی کلید سے مماثل نہیں ہے، یا فائل کو مکمل طور پر ہٹا دیا گیا ہے۔ اسے ایک سنگین انتباہ سمجھیں۔ |
تازگی کا لنگر
دستخط شدہ کینری تازہ ترین Bitcoin بلاک کی اونچائی اور دستخط کے وقت ہیش کو سرایت کرتی ہے۔ اس ہیش کو بلاک کے موجود ہونے سے پہلے معلوم نہیں ہو سکتا تھا، جس سے ثابت ہوتا ہے کہ کینری تھی۔ دستخط شدہ کے بعد مہینوں پہلے بلک میں پہلے سے دستخط کرنے کے بجائے وقت میں ایک مخصوص نقطہ۔ کے بارے میں ڈائیلاگ اینکر کو بلاک ایکسپلورر سے جوڑتا ہے تاکہ آپ اسے چیک کر سکیں۔