Sidzedze ƒe gɔmeɖoanyi Le ʋuƒoa te
Xɔtutua ƒe kpeɖodzinana
Ne code si zãm nèle lae nye code si nɔ anyi ko hafi open source kpena ɖe ame ŋu wotae. Wotu Nymchat deterministically ale be wò ŋutɔ nàte ŋu akpɔe ɖa, tso ememe app alo tso terminal aɖe dzi.
Woɖe axa sia gɔme to mɔ̃ dzi be wòanɔ bɔbɔe. Eŋlisigbe me gbãtɔae nye gɔmeɖeɖe si sɔ.
Tu siwo woate ŋu agbugbɔ awɔ
App la tutu doa a build-manifest.json si me dzɔtsoƒe ƒe commit, a
SHA-256 hash na HTML, JavaScript kple CSS nunɔamesi ɖesiaɖe si wosubɔ, kple ɖeka
bundleHash le nunɔamesi blibo ma si woɖo ɖi dzi.
Nusi dona la nɔ te ɖe dzɔtsoƒe me nyawo dzi ko — xɔtutu ƒe ɣeyiɣi si woŋlɔ ɖi gɔ̃ hãe nye
commit ƒe ɣeyiɣi ƒe dzesi tsɔ wu ɣeyiɣi si me xɔtutua ƒu du — eyata amesiame si le nu ma ke gbugbɔ tum
commit xɔa byte-identical files kple esiwo sɔ bundleHash.
Emegbe GitHub Action gbugbɔ tua commit ɖesiaɖe le eɖokui si eye wòdea asi build-provenance te
ɖaseɖiɖiwo na hash kple manifest la, eyata nuŋlɔɖi si wode asi ete si bla a
bundleHash na commit le nudzraɖoƒea, si wowɔ to nane si menye
dɔwɔwɔ ɖe dɔ me.
Nusi About ƒe nyatakakadzraɖoƒea léa ŋku ɖe eŋu
Ku ɖe le tanya la me la, ewɔa check la live, le wò browser me.
Egaxɔa nunɔamesi ɖesiaɖe si axaa le dɔ wɔm ŋutɔŋutɔ, tsɔa Web Crypto API wɔa hash nɛ, eye
tsɔe sɔ kple esi dze ƒã. Emegbe — eye esiae nye akpa si le vevie — eyae
gbugbɔ bu akɔnta le bundleHash tso hashes-awo me e ɖeko wobu akɔnta, ke menye tso o
nusianu si manifest la gblɔ, eye wòdia ema le nudzraɖoƒea ƒe ɖaseɖiɖi siwo wode asi na me
to GitHub API dzi.
Emae nye nusi xea mɔ na dɔwɔwɔ be wòagaɖo kpe eɖokui dzi o: subɔsubɔ faɛl siwo ŋu wotrɔ asi le ɖekae kple a matching manifest gakpɔtɔ do kpo nu, elabena hash si wogbugbɔ bu akɔnta la mekpɔ kpeɖodzi aɖeke o.
| Ɖoƒe | Gᴐme nye |
|---|---|
| &le ŋku ɖe eŋu; Dɔdamɔnu si dziɖuɖua ɖo kpee (n/n) . | Nu ɖesiaɖe si sɔ la, nudzraɖoƒea ɖo kpe bundle hash si wogbugbɔ bu akɔnta le la dzi, . kple wosubɔa axaa tso dziɖuɖua ƒe domenyinyi dzi. |
| ⚠ Verified build · menye app si dziɖuɖua da asi ɖo o | Kɔdasia nye nyateƒe eye woɖo kpe edzi, gake esia nye ahuhɔ̃e le domenyiŋusẽfianu bubu dzi. Ahuhɔ̃e mate ŋu aɖe nuxlɔ̃ame sia ɖa ne medo kpo kpeɖodzinana o. |
| ✗ Masɔmasɔ | Nunɔamesi aɖe mewɔa hash ɖe nusi manifest gblɔ ŋu o. |
| ✗ Xɔ si womewɔ le se nu o | Bundle hash si wogbugbɔ ŋlɔ la mekpɔ kpeɖodzi aɖeke tso nudzraɖoƒea o — manifest si wowɔ le wo ɖokui si. |
| ⚠ Womate ŋu aɖo afisi wotso o | Wometeŋu ɖo GitHub API gbɔ o, eyata wometeŋu lé ŋku ɖe ɖaseɖiɖia ŋu le mɔ eveawo siaa nu o. |
Wò ŋutɔ nàɖo kpe edzi
Gbugbɔ tu commit si nye About dialog ŋkɔwo eye nàtsɔe asɔ kple wo nɔewo:
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>"
Ele be hash si wota la nasɔ kple esi le About ƒe nyatakaka me kple esi le commit ma me siaa build-provenance duƒuƒu ƒe kpukpui. Àteŋu akpɔ asidede agbalẽ te tẽ hã kple GitHub CLI:
gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM
Mɔɖegbalẽa canary
Warrant canary nye nya aɖe, si wota ɖe ɖoɖowɔɖi aɖe si woɖo ɖi dzi, si le ewɔla si o woxɔ dziɖuɖu ƒe sedede aɖe si woxe mɔ na wo be woagaɖee afia o — a Dukɔa ƒe Dedienɔnɔ Ŋuti Lɛta, si nye FISA ƒe sedede. Woate ŋu azi ewɔla dzi be wòazi ɖoɖoe le eŋu sedede sia tɔgbe, gake womate ŋu azi edzi be wòada alakpa o, eyata canary si le gbegblẽm alo le bubum la nye ŋutɔe nye dzesi.
Enɔa agbe le canary.json le nudzraɖoƒea ƒe ke me eye woxɔnɛ tẽ
tso GitHub gbɔ, eyata woateŋu adzro eƒe ŋutinya me le eɖokui si le nusianu si nyatakakadzraɖoƒe si woɖo la agblɔ me.
About ƒe nyatakakadzraɖoƒea dea amadede-kɔdae be:
| Amadede | Gᴐme nye |
|---|---|
| Gbemu — wo katã me kɔ | Wode asi ete, fifia, kple asidede ete sɔ kple amesi wɔe ƒe safui. Womexɔ sedede aɖeke le adzame o. |
| Aŋgbaɖiɖi — ɣeyiɣi si va yi, alo menye wo katã me kɔ o | Wometsɔ ŋkeke si wogblɔ, alo eƒe allClear aflaga nye alakpa. Womate ŋu agbe sedede si wozi ɖoɖoe o. |
| Dzẽ — asidede agbalẽ te si mesɔ o, alo dzo | Asidede agbalẽa te mewɔ ɖeka kple amesi wɔe ƒe safui o, alo woɖe faɛl la ɖa keŋkeŋ. Bu esia abe nuxlɔ̃ame vevi aɖe ene. |
Freshness ƒe seke la
Canary si wode asi ete la tsɔa Bitcoin block ƒe kɔkɔme kple hash yeyetɔ dea eme le ɣeyiɣi si me wode asi ete. Womate ŋu anya hash ma hafi block la nanɔ anyi o, si ɖo kpe edzi be canary la nɔ anyi wode asi ete emegbe ɣeyiɣi aɖe koŋ tsɔ wu be woade asi ete do ŋgɔ le agbɔsɔsɔ gã me ɣleti aɖewo do ŋgɔ. Nyatakakadzraɖoƒea doa ka kple sekea kple block explorer ale be nàte ŋu akpɔe ɖa.