Gaa na ọdịnaya
Laghachi na Nymchat

Isi ihe ọmụma N'okpuru mkpuchi

Na-enyocha ihe nrụpụta ahụ

Ebe mepere emepe na-enyere aka naanị ma ọ bụrụ na koodu ị na-agba bụ koodu ahụ bụ bipụtara. Nymchat na-wuru deterministically otú i nwere ike ịlele na onwe gị, si n'ime ngwa ma ọ bụ site na ọnụ.

Nwulite enwere ike imepụtagharị

Iwulite ngwa ahụ na-ewepụta a build-manifest.json nwere isi iyi eme, a SHA-256 hash nke HTML ọ bụla, Javascript na akụrụngwa CSS, yana otu bundleHash n'elu nke dum akụ set.

Nsonaazụ na-adabere naanị na ọdịnaya isi mmalite - ọbụlagodi oge nrụpụta edere edekọ bụ eme's timestamp kama oge a na-ewu ụlọ - yabụ onye ọ bụla na-ewughachi otu ihe ahụ ime na-enweta faịlụ ndị yiri ya na otu bundleHash.

Otu GitHub Action na-ewughachi nke ọ bụla n'onwe ya wee bịanye aka na-ewuli elu akaebe maka hash na ihe ngosi, ya mere enwere ndekọ mbinye aka na-ekekọta a bundleHash ime n'ime ebe nchekwa, nke ihe ọzọ na-abụghị nke mepụtara itinye n'ọrụ.

Ihe gbasara dialog na-enyocha

Ihe gbasara n'ime nkụnye eji isi mee na-eme nlele ndụ, na ihe nchọgharị gị.

Mkparịta ụka Nymchat Banyere, na-egosi ụdịdị ahụ, wulite iguzosi ike n'ezi ihe yana ikike ikike ikike ikike.
Mkparịta ụka gbasara ihe: ụdị, wulite iguzosi ike n'ezi ihe, akwụkwọ ikike ikike na ahịrị kwụ ọtọ nye onye nrụpụta.

Ọ na-eweghachite akụ ọ bụla ibe ya na-arụ n'ezie, were Weebụ Crypto API wepụta ya, yana tụnyere megide ihe ngosi. Mgbe ahụ - na nke a bụ akụkụ nke dị mkpa - ya na-agụgharị na bundleHash site na hashes ya naanị gbakọọ, ọ bụghị site na ihe ọ bụla gosipụtara na-ekwu, wee na-eleba anya na nke ahụ n'akwụkwọ ndenye aka n'akwụkwọ ndekọ aha site na GitHub API.

Nke ahụ bụ ihe na-akwụsị nbunye site na ịdebanye aha maka onwe ya: ijikọ faịlụ ndị gbanwetụrụ Ngosipụta dabara adaba ka na-ada, n'ihi na hash recomputed enweghị ihe akaebe.

Ọnọdụpụtara
& lelee; Ngwa ọrụ akwadoro (n/n)Akụrụngwa ọ bụla dakọtara, hash ngwugwu agbakọgharịrị bụ ebe nchekwa ahụ gosipụtara, na a na-ezigara ibe ahụ site na ngalaba gọọmentị.
⚠ Nrụpụta enwetara ọ bụghị ngwa gọọmentịKoodu ahụ bụ ezigbo ma gbaa akaebe, mana nke a bụ enyo na ngalaba ọzọ. Ngosipụta enweghị ike iwepụ ịdọ aka ná ntị a na-enweghị nkwenye dara ada.
✗ NkwekọrịtaNgwongwo anaghị etinye aka na ihe ngosi ahụ kwuru.
✗ Mwube na-akwadoghịThe recomputed ngwugwu hash enweghị akaebe si repository - a onwe-mere pụtara ìhè.
⚠ Ọnọdụ enweghị ike iruEnweghị ike ịnweta GitHub API, yabụ enweghị ike ịlele akaebe ahụ n'ụzọ ọ bụla.

Na-enyocha ya n'onwe gị

Megharịa nkwa ahụ gbasara aha mkparịta ụka wee tulee:

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

Hash a na-ebipụta kwesịrị dakọtara ma nke dị na About dialog na nke dị na nkwekọrịta ahụ wu-provenance ọsọ nchịkọta. Ị nwekwara ike ịlele mbinye aka ozugbo na GitHub CLI:

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

Akwụkwọ ikike canary

Akwụkwọ ikike ikike bụ nkwupụta, nke ebipụtara na nhazi oge, nke onye nrụpụta nwere ọ bụghị natara iwu gọọmentị nzuzo amachibidoro ha ikpughe - a Akwụkwọ ozi nchekwa mba, iwu FISA. Enwere ike ịmanye onye nrụpụta ka ọ gbachie nkịtị iwu dị otú ahụ, ma enweghị ike ịmanye ịgha ụgha, ya mere canary na-aga n'ihu ma ọ bụ na-apụ n'anya bụ n'onwe ya mgbaàmà.

Ọ na-ebi canary.json na mgbọrọgwụ nke ebe nchekwa ma na-ebute ya ozugbo site na GitHub, yabụ a na-enyocha akụkọ ya n'adabereghị na ihe ọ bụla saịtị ebugara kwuru. Agba gbasara gbasara dialog na-akọwa ya:

Agbapụtara
Akwụkwọ ndụ akwụkwọ ndụ - niile doro anyaBinyere aka, ugbu a, na mbinye aka dabara na igodo onye nrụpụta. Enweghị iwu nzuzo enwetaghị.
Odo - agafeela, ma ọ bụ na ọ bụghị ihe niile doro anyaỤbọchị ekwuru, ma ọ bụ na ya eweghachighị ya ume allClear ọkọlọtọ bụ ụgha. Enweghị ike iwepụ iwu emechiri ọnụ.
Uhie - mbinye aka na-ezighi ezi, ma ọ bụ pụọmbinye aka adabaghị na igodo onye nrụpụta, ma ọ bụ wepụrụ faịlụ ahụ kpamkpam. Were nke a dị ka ịdọ aka ná ntị siri ike.

Arịlịka ọhụrụ

Canary bịanyere aka na ya na-etinye ihe mgbochi Bitcoin kachasị ọhụrụ na hash n'oge mbinye aka. Agaraghị ama hash ahụ tupu ngọngọ ahụ adị, nke na-egosi na canary bụ bịanyere aka na ya emechaa otu isi ihe n'ime oge karịa ịbịanye aka na mbụ n'ime nnukwu ọnwa tupu mgbe ahụ. Ihe gbasara dialog na-ejikọta arịlịka na onye na-eme nchọpụta ngọngọ ka ị nwee ike ịlele ya.