Fa'ase'e i le anotusi
Toe foʻi i Nymchat

Fa'avae poto I lalo o le pulou

Fa'amaonia le fausiaina

Na'o le fa'amatalaga tatala e fesoasoani pe afai o le code o lo'o e fa'atinoina o le code lea sa i ai lomia faasalalau. Nymchat ua fausia deterministically ina ia mafai ona e siakiina oe lava, mai totonu o le app pe mai se nofoaga.

Fausia toe gaosia

Fausiaina o le app emiti a build-manifest.json o loo i ai le puna commit, a SHA-256 hash o HTML uma, JavaScript ma CSS aseta, ma se tasi bundleHash i luga o lena seti aseta atoa.

E fa'alagolago na'o le mea o lo'o maua mai ai - e o'o lava i le taimi fa'amaumau fau o le commit's timestamp nai lo le taimi na fau ai le fale - o lea e toe fausia e se tasi commit e maua faila e tutusa lelei ma tutusa bundleHash.

O le GitHub Action ona toe fausia ai lea o mea ta'itasi ta'ito'atasi ma fa'ailoga fau-fuafuaga fa'amaoniga mo le hash ma le fa'aaliga, o lea o lo'o i ai se fa'amaumauga sainia e fusia ai a bundleHash i se tautinoga i totonu o le fale teu oloa, gaosia e se mea e ese mai i le fa'atinoina.

O le a le mea e siaki e le About dialog

E uiga i i le ulutala o loʻo faʻatautaia le siaki ola, i lau suʻega.

O le Nymchat About dialog, faʻaalia le faʻamatalaga, fausia le amiosaʻo ma faʻamaonia tulaga canary.
O le Fa'amatalaga Fa'amatalaga: fa'aliliuga, fausia le fa'amaoni, saisai canary ma se laina sa'o i le fa'atupuina.

E toe aumai aseta ta'itasi o lo'o tamo'e moni ai le itulau, fa'asalaina i le Web Crypto API, ma faatusatusa i le faaaliga. Ona - ma o le vaega lea e taua - o toe faitau le bundleHash mai fa'ailoga lea na ona fuafua, ae le mai so'o se mea o lo'o ta'u mai e le fa'aaliga, ma va'ai i luga i fa'amaumauga saini a le faleteuoloa e ala i le GitHub API.

O le mea lena e taofia ai se fa'agaioiga mai le fa'amaonia mo ia lava: tu'uina atu faila fa'aopoopo fa'atasi ma e le'i manuia lava se fa'aaliga fa'atusa, ona e leai se fa'amaoniga o le hash toe fa'atulagaina.

TulagaO lona uiga
&sia; Talosaga aloa'ia fa'amaonia (n/n)So'o se aseta e fetaui, o le fa'asologa o fusi fa'amau e fa'amaonia e le fale teu oloa, ma o le itulau e tautuaina mai le vaega aloa'ia.
⚠ Fausia faʻamaonia · e le o le app aloaiaO le code e moni ma faʻamaonia, ae o se faʻata i luga o se isi vaega. E le mafai e se fa'ata ona aveese lenei lapataiga e aunoa ma le fa'amaoniaina.
✗ Le fetauiO se aseta e le fetaui i mea o loʻo fai mai ai le faʻaaliga.
✗ Faiga lē aloaiaE leai se fa'amaoniga mai le fale teu oloa - o se fa'aaliga na faia e le tagata lava ia.
⚠ Fa'atupuina e le mafai ona mauaLe GitHub API e leʻi mafai ona oʻo i ai, o lea e le mafai ai ona siaki le faʻamaoniga.

Fa'amaonia e oe lava

Toe fausia le ta'utinoga e uiga i igoa talatalanoaga ma fa'atusatusa:

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

O le hash lolomi e tatau ona fetaui ma le tasi i le About dialog ma le tasi i lena tautinoga build-provenance run summary. E mafai foi ona e siaki saʻo le saini i le GitHub CLI:

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

Le saisai canary

O le tusi saisai canary o se faʻamatalaga, faʻasalalau i luga o se taimi faʻatulagaina, o loʻo i ai i le tagata atiaʻe e leai maua se poloaiga faalilolilo a le malo ua faasaina ona latou faailoa atu - a National Security Letter, o se poloaiga a le FISA. E mafai ona fa'amalosia le fa'atupuina e nofo filemu o se fa'atonuga fa'apea, ae le mafai ona fa'amalosi e pepelo, o le mea lea o le canary o lo'o mapu pe mou atu lava ia le faailo.

E nofo i totonu canary.json i le a'a o le faleteuoloa ma e aumai sa'o mai GitHub, o lona talaʻaga e mafai ona suʻeina tutoatasi mai soʻo se mea e fai mai ai le upega tafaʻilagi. O le About dialog color-codes:

LanuO lona uiga
Lanu meamata - manino umaO le saini, o lo'o iai, ma le saini e fetaui ma le ki a le tagata atia'e. E leai se poloaiga faalilolilo ua maua.
Lanu samasama - tuai, pe le manino umaE leʻi faʻafouina i lona aso taʻua, poʻo lona allClear e pepelo le fu'a. E le mafai ona fa'ate'aina se fa'atonuga fa'alologo.
Lanu mumu — le saini saini, pe ua aluE le fetaui le saini ma le ki a le tagata atia'e, pe ua aveese atoa le faila. Ia fai lenei mea o se lapataiga ogaoga.

O le taula fou

O le canary ua sainia e faʻapipiʻi ai le maualuga o poloka Bitcoin lata mai ma le hash i le taimi o le saini. E le mafai ona iloa lena hash a'o le'i i ai le poloka, lea e faamaonia ai sa iai le canary sainia mulimuli ane se vaega patino i le taimi nai lo le saini muamua i le tele o masina muamua atu. O le Tala Fa'atatau e feso'ota'i le taula i se poloka su'esu'e ina ia mafai ona e siakiina.