Svetuka kune zviri mukati
Dzokera kuNymchat

Nheyo yezivo Pasi pehodhi

Kuongorora chigadzirwa

Vhura sosi inongobatsira chete kana kodhi yauri kuita iri iyo kodhi yaive rakabudiswa. Nymchat inovakwa deterministically saka unogona kutarisa kuti iwe pachako, kubva mukati app kana kubva kune terminal.

Reproducible anovaka

Kuvaka iyo app kunoburitsa a build-manifest.json ine source commite, a SHA-256 hashi yeese yakashandiswa HTML, JavaScript uye CSS asset, uye imwe chete bundleHash pamusoro peiyo asset yese.

Izvo zvinobuda zvinoenderana chete neiyo sosi yemukati - kunyangwe yakanyorwa nguva yekuvaka ndiyo commit's timestamp kwete nguva iyo kuvaka kwakatanga - saka chero munhu anovaka zvakafanana commit inowana ma-byte-akafanana mafaera uye zvakafanana bundleHash.

Chiito cheGitHub chinozovakazve chimwe nechimwe chakazvimirira uye chinoratidza kuvaka-provenance humbowo hwehashi uye manifest, saka kune rekodhi yakasainwa inosunga a bundleHash kune kuzvipira mune repository, yakagadzirwa nechimwe chinhu chisiri icho deployment.

Zvinotarisa nezve Dialog

About mumusoro unomhanyisa cheki live, mubrowser yako.

Iyo Nymchat Nezve dialog, inoratidza vhezheni, kuvaka kutendeseka uye waranti canary mamiriro.
The About dialog: vhezheni, kuvaka kutendeseka, warrant canary uye mutsara wakananga kumugadziri.

Iyo inotorazve imwe neimwe asset peji irikumhanya, hashes iyo neWeb Crypto API, uye enzanisa nemanifesiti. Zvino - uye ichi ndicho chikamu chakakosha - icho recomputes the bundleHash kubva kune hashe it kungoverengera, kwete kubva chero chinhu chinodaidzwa nemanifest, uye chinotarisa icho kumusoro muzvinyorwa zvakasainwa kuburikidza neGitHub API.

Ndizvo zvinomisa kutumirwa kubva pakuzvivharira pachako: kushumira mafaera akagadziridzwa pamwe chete ratidziro yekuenzanisa ichiri kutadza, nekuti iyo yakadzokororwa hashi haina humbowo.

StatusMeans
✓ App yakasimbiswa yepamutemo (n/n)Yese asset inowirirana, iyo recomputed bundle hashi inopupurirwa nerepository, uye iyo peji inopihwa kubva kune yepamutemo domain.
⚠ Yakasimbiswa kuvaka · kwete iyo yepamutemo appIyo kodhi ndeyechokwadi uye inopupurirwa, asi ichi chionioni pane imwe dura. Girazi harigone kubvisa yambiro iyi pasina kukundikana kutsigira.
✗ MismatchAsset haimhanyire kune zvinotaurwa nemanifest.
✗ Kuvaka zvisiri pamutemoIyo recomputed bundle hashi haina humbowo kubva kune repository - inozviratidza yega.
⚠ Maonero haasvikikiIyo GitHub API haina kukwanisa kusvikwa, saka humbowo hahuna kutariswa neimwe nzira.

Kuzvisimbisa iwe pachako

Vakazve kuzvipira iyo About dialog mazita uye enzanisa:

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

Iyo yakadhindwa hashi inofanirwa kuenderana neiri iri muAbout dialog uye neiyo mune iyo dhizaini kuvaka-provenance run summary. Iwe unogona zvakare kutarisa siginecha zvakananga neGitHub CLI:

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

The warrant canary

Warrant canary chirevo, chakaburitswa pane yakatarwa chirongwa, icho mugadziri anacho kwete vakagamuchira chirevo chehurumende chakavanzika chavanorambidzwa kuburitsa - a Tsamba Yekuchengetedzwa Kwenyika, chirongwa cheFISA. Mugadziri anogona kumanikidzwa kugara akanyarara nezve hurongwa hwakadaro, asi haugone kumanikidzwa kunyepa, saka canary inoenda stale kana kunyangarika pachayo chiratidzo.

Inogara mukati canary.json pamudzi we repository uye inotorwa zvakananga kubva kuGitHub, saka nhoroondo yayo inoongororwa yakazvimiririra pane chero saiti yakatumirwa inotaura. Iyo About dialog color-code iyo:

ColorMeans
Girinhi - zvose zvakajekaYakasainwa, yazvino, uye siginicha inoenderana nekiyi yemugadziri. Hapana murayiro wakavanzika wakagamuchirwa.
Yero - kunonoka, kana kwete zvese zvakajekaHarina kumutsiridzwa nezuva raro rakataurwa, kana kuti raro allClear mureza ndewenhema. Kurongeka kwakanyarara hakugone kubviswa.
Tsvuku - siginicha isiriyo, kana yaendaSiginicha haienderane nekiyi yemugadziri, kana kuti faira rabviswa zvachose. Bata izvi seyambiro yakakomba.

The freshness anchor

Iyo yakasainwa canary inonyudza yazvino Bitcoin block urefu uye hashi panguva yekusaina. Iyo hashi haigone kuzivikanwa chivharo chisati chavapo, izvo zvinoratidza kuti canary yaive dzakasaina pashure imwe nguva panguva kwete kufanosaina mumwedzi yakawanda yapfuura. Iyo About dialog inobatanidza anchor kune block explorer kuti iwe ugone kuitarisa.