Tlula eka leswi nga endzeni
Ku tlhelela eka Nymchat

Xiseketelo xa vutivi Ehansi ka xihuku

Ku tiyisisa ku aka

Open source yi pfuna ntsena loko code leyi u yi tirhisaka yi ri code leyi a yi ri yona yi kandziyisiwile. Nymchat yi akiwile hi ndlela ya deterministically leswaku u ta kota ku kambela sweswo hi wexe, ku suka endzeni ka app kumbe ku suka eka theminali.

Swiaki leswi nga tlheriseriwaka

Ku aka app swi humesa a build-manifest.json leyi nga na xihlovo xa ku tinyiketela, a SHA-256 hash ya HTML yin’wana na yin’wana leyi tirhisiwaka, JavaScript na CSS asset, na yin’we bundleHash ehenhla ka sete yoleyo hinkwayo ya nhundzu.

Vuhumelerisi byi titshege ntsena hi nhundzu ya xihlovo — hambi ku ri nkarhi wo aka lowu rhekhodiweke i wa commit’s timestamp ku tlula nkarhi lowu ku aka ku tsutsumeke ha wona — kutani un’wana na un’wana loyi a pfuxetaka leswi fanaka commit yi kuma tifayela leti fanaka na byte na leswi fanaka bundleHash.

Xiendlo xa GitHub xi tlhela xi aka nakambe ku tinyiketela kun’wana na kun’wana hi ku tiyimela naswona xi sayina build-provenance switifikheti swa hash na manifest, kutani ku na rhekhodo leyi sayiniweke leyi bohaka a bundleHash ku ya eka ku tinyiketela eka vuhlayiselo, loku humesiweke hi nchumu wun’wana handle ka ku rhumeriwa ka swilo.

Leswi dialog ya About yi swi kambelaka

Hi eka nhlokomhaka ku fambisa cheke hi ku kongoma, eka browser ya wena.

Dialog ya Nymchat About, leyi kombisaka vuhundzuluxi, ku aka vutshembeki na ku tiyisisa xiyimo xa canary.
The About dialog: version, ku aka vutshembeki, warrant canary na layini yo kongoma eka muendli.

Yi tlhela yi teka rifuwo rin’wana ni rin’wana leri tluka ri ri tirhisaka hakunene, yi ri hash hi Web Crypto API, naswona yi pimanisa ni leswi vonakaka. Kutani — naswona lexi i xiphemu lexi nga xa nkoka — yona u tlhela a hlayela bundleHash ku suka eka ti-hash xona ntsena ku hlayeriwa, ku nga ri ku suka xin’wana na xin’wana lexi manifest yi xi vulaka, naswona yi languta sweswo eka switifikheti leswi sayiniweke swa vuhlayiselo hi ku tirhisa API ya GitHub.

Sweswo hi swona swi yimisaka ku tirhisiwa ku tiyiseka: ku tirhela tifayela leti cinciweke swin’we na manifest yo fambelana ya ha tsandzeka, hikuva hash leyi hlayiweke nakambe a yi na xitiyisekiso.

XiyimoVula
&cheka; App ya ximfumo leyi tiyisisiweke (n/n) .Nhundzu yin’wana na yin’wana ya fambelana, hash ya bundle leyi hlayiweke nakambe yi tiyisisiwa hi vuhlayiselo, . na pheji yi tirhisiwa ku suka eka domain ya ximfumo.
⚠ Ku aka loku tiyisisiweke · hayi app ya ximfumoKhodi i ya xiviri naswona yi tiyisisiwile, kambe leyi i xivoni eka domain yin’wana. Xivoni a xi nge swi koti ku susa xilemukiso lexi handle ko tsandzeka ku tiyisisiwa.
✗ Ku nga fambisaniNhundzu a yi hash eka leswi manifest yi swi vulaka.
✗ Ku aka loku nga riki ka ximfumoHash ya bundle leyi hlayiweke nakambe a yi na vumbhoni ku suka eka vuhlayiselo — manifest leyi tiendliweke hi yoxe.
⚠ Provenance a yi fikelelekiAPI ya GitHub a yi fikeleleki, hikwalaho xitiyisekiso a xi nga kamberiwanga hi ndlela yin’wana na yin’wana.

Ku swi tiyisekisa hi wexe

Aka nakambe ku tinyiketela mavito ya dialog ya Malunghana na ku pimanisa:

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 leyi kandziyisiweke yi fanele ku fambelana na leyi nga eka dialog ya About na leyi nga eka commit’s yoleyo nkatsakanyo wa ku tsutsuma ka build-provenance. U nga ha tlhela u kambela sayina hi ku kongoma hi GitHub CLI:

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

Xileriso xa xileriso xa canary

Warant canary i xitatimende, lexi kandziyisiweke hi xiyimiso lexi nga cinciki, lexi muendli wa xona a nga na xona ngavi va amukerile xileriso xa mfumo xa le xihundleni lexi va yirisiweke ku xi paluxa — a Papila ra Vuhlayiseki bya Rixaka, xileriso xa FISA. Muendli wa swilo a nga sindzisiwa ku miyela hi mhaka leyi xileriso xo tano, kambe a xi nge sindzisiwi ku hemba, hikwalaho canary leyi yaka yi nga ha tirhi kumbe ku nyamalala i tano hi yoxe i xikombiso.

Yi hanya eka canary.json eka rimitsu ra vuhlayiselo naswona yi tekiwa hi ku kongoma ku suka eka GitHub, kutani matimu ya yona ya oditiwa hi ku tiyimela hi yoxe eka xin’wana na xin’wana lexi sayiti leyi tirhisiweke yi xi vulaka. Dialog ya About yi yi colour-coder:

MuhlovoVula
Rihlaza — hinkwaswo swi le rivaleniKu sayiniwile, ka sweswi, na ku sayiniwa swi fambelana na xilotlelo xa muendli. Ku hava xileriso xa le xihundleni lexi amukeriweke.
Xitshopana — ku hundze nkarhi, kumbe a swi le rivaleni hinkwaswoA yi pfuxetiwanga hi siku ra yona leri boxiweke, kumbe ra yona allClear mujeko i mavunwa. Xileriso lexi miyetiweke a xi nge hlongoriwi.
Tshuka — sayina leyi nga tirhiki, kumbe yi fambileSayina a yi fambisani na xilotlelo xa muendli, kutani fayili yi susiwile hi ku helela. Khoma leswi tanihi xilemukiso lexikulu.

Xikhomela-ndhawu xa freshness

Canary leyi sayiniweke yi nghenisa ku leha ka block ya sweswinyana ya Bitcoin na hash hi nkarhi wa ku sayina. Hash yoleyo a yi nga ta tiviwa loko block yi nga si va kona, leswi kombisaka leswaku canary a yi tiviwa ku sayiniwile endzhaku nkarhi wo karhi ematshan’weni yo sayiniwa ka ha ri emahlweni hi vunyingi tin’hweti emahlweninyana. Dialog ya About yi hlanganisa anchor na block explorer leswaku u ta kota ku yi kambela.