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ụ.
A sụgharịrị ibe a n'igwe maka ịdị mma. The English mbụ bụ ụdị nke na-emetụta.
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ị.
Ọ 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ịta | Ngwongwo 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 iru | Enweghị 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
Ngwa Android na iOS
Nyochaa n'elu bụ nlele ngwa webụ, na ihe kpatara ya kwesịrị ikwupụta nke ọma: ngwa ala enweghị ike ime onwe ya otu ihe ahụ. Ihe na-agba na ekwentị gị bụ koodu igwe achịkọtara, ọ bụghị nke isi mmalite na ebe nchekwa, na ọ dịghị ihe ngwa nwere ike gbakọọ na ngwaọrụ metụtara otu na ọzọ.
Android nwere ike ime ihe kacha mma ọzọ. The arụnyere .apk bụ faịlụ ngwa nwere ike ịgụ
na hash, na hash nke mwepụta ọ bụla ebipụtalarị nke ọha: na-ebipụta ya
Zapstore
bịanyere aka na mmemme Nostr na-ebu APK's SHA-256 yana SHA-256 akwụkwọ mbinye aka ya. Ya mere
Android Ihe gbasara dialog hashes APK ọ na-agba, na-ebute ndị bịanyere aka na ya
mmemme, na-edobe naanị ndị igodo onye nrụpụta binyere aka, wee tụọ ya. Ọ na-egosi ha abụọ
hashes, yabụ ị nwere ike ịmegharị nlele anya na ngwaọrụ ahụ: budata APK ebipụtara, gbaa ọsọ
sha256sum na ya, ma lee otu ihe omume ahụ n'onwe gị.
Enweghị ike ịlele ngwa arụnyere na Google Play otu a, na nke a bụghị ihe omume ihe ọ bụla bụ na-adịghị. Google na-ekwu ihe ọ bụla na-akpọ ya onwe ya na-eme ka ọ dị iche iche APK maka ọ bụla ngwa, otú ihe na-eme na ekwentị gị bụghị faịlụ nke mmepe na ha hash na-ekwu ihe ọ bụla nwere ike na-ekwu. The ngwa na-ekwu a Play na-ekwu na ọ na-ekwu, karịa na-ekwu a na-eme ka ọ dịghị. Iji na-ekwu a na-emepụta onwe gị, na-etinye APK na-ekwu kpọmkwem.
Enweghị ike ịlele iOS ma ọlị. Apple na-ezochi ma degharịa akara nbudata ọ bụla n'otu n'otu, ya mere a hash gbakọọ na gị iPhone bụ pụrụ iche gị iPhone na ọ dịghị ihe dabara ebipụtara ebe ọ bụla. Ihe gbasara dialog na-ekwu nke a kpam kpam kama igosi mmesi obi ike ọnọdụ nke pụtara ihe ọ bụla. Ọ bụrụ na ịchọrọ Nymchat ị nwere ike nyochaa na ngwaike Apple, jiri webụ ngwa, nke na-enyocha faịlụ ọ bụla ọ na-agba.
Lelee ngwa na-arụ n'onwe ya enweghị ike igosi na ngwa ahụ bụ eziokwu - onye ọ bụla gbanwere ya nwekwara ike wepụ ego nlele ahụ. Ihe ọ na-egosi bụ ikpe nkịtị: na detuo gị arụnyere bụ nnomi nke ebipụtara. Nke ahụ bara uru inwe n'ihi na ọ bara uru atụnyere ọha, yabụ onye ọzọ na-abụghị gị nwere ike lelee ha, wee kwetaghị.
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.
Ihe gbasara dialog na-agba ya:
| Agba | pụtara |
|---|---|
| Akwụkwọ ndụ akwụkwọ ndụ - niile doro anya | Binyere 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.