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.
O lenei itulau ua fa'aliliuina i masini mo le fa'afaigofieina. O le ulua'i fa'a-Peretania o le fa'amatalaga lea e fa'atatau.
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.
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.
| Tulaga | O 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 aloaia | O 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 fetaui | O se aseta e le fetaui i mea o loʻo fai mai ai le faʻaaliga. |
| ✗ Faiga lē aloaia | E 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 maua | Le 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
O polokalame Android ma iOS
O le siaki o lo'o i luga o se upegatafa'ilagi-app siaki, ma o le mafua'aga e tatau ona ta'u manino: o se fa'aoga masani e le mafai ona faia le mea lava e tasi ia te ia lava. O le mea o loʻo taʻavale i luga o lau telefoni o loʻo tuʻufaʻatasia le numera masini, ae le o le puna i totonu o le fale teu oloa, ma e leai se mea e mafai e le app ona faʻatusatusa i luga o le masini e faʻatatau le tasi i le isi.
E mafai e Android ona faia le isi mea sili. Le fa'apipi'i .apk o se faila e mafai e le app ona faitau
ma hash, ma le hash o fa'asalalauga ta'itasi uma ua fa'asalalauina fa'alaua'itele: fa'asalalau i le
Zapstore
saini se mea Nostr o lo'o tauaveina le APK a le SHA-256 ma lona saini SHA-256 tusi faamaonia. O lea la o le
Android E uiga i fa'atalanoaina le APK o lo'o tamo'e mai ai, aumai i latou na sainia
mea tutupu, na'o mea na sainia e le tagata e faia le ki, ma fa'atusatusa. O loʻo faʻaalia ai le lua
faʻapea foʻi ma hashes, ina ia mafai ona e toe faia le siaki mai le masini: download le APK lolomi, tamoe
sha256sum i luga, ma vaai i le mea lava e tasi na tupu.
E le mafai ona siaki se app fa'apipi'i mai le Google Play i lenei auala, ma e lē o se faailoga o loo sese se mea. E toe faatumuina e le Google le faailoga i setiapu upload i lona lava ki ma fausia se APK eseese mo masini taatasi, o lea le mea e oo atu i lau telefoni e lē o le failauga na fatuina e le tagata atia'e ma e lē tutusa lona hash ma se mea e mafai ona faasalalauina. E iloa e le polokalame le faaputuuga mai le Play ma faailoa atu lea nai lo le faailoa o se mea ua sese. Ina ia siaki lou lava le fausiina, faaputu le APK na faasalalauina sa'o.
iOS e le mafai ona siaki uma. E fa'ailoga ma toe saini a Apple i laiga ta'itasi ta'ito'atasi, o le mea lea o se hash computed i lau iPhone e tulaga ese i lau iPhone ma e leai se mea e fetaui lomia i soo se mea. O le tala fa'atatau e fai mai sa'o lenei mea nai lo le fa'aalia o se fa'amautinoaga tulaga e leai se uiga. Afai e te manaʻo i se Nymchat e mafai ona e faʻamaonia ile Apple hardware, faʻaoga le upega tafaʻilagi app, lea e siaki faila uma o loʻo taʻavale.
Ole siaki ole app e tamo'e lava e le mafai ona fa'amaonia le fa'amaoni o le app - po'o ai lava na suia e mafai foi ona aveese le siaki. O le mea e faamaonia ai o le tulaga masani: o le kopi o oe fa'apipi'i o le kopi na fa'asalalau. E taua le mauaina ona o le taua fa'atusatusaga fa'alaua'itele, o lea e mafai ai e se isi nai lo oe ona siaki i latou, ma le ioe.
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:
| Lanu | O lona uiga |
|---|---|
| Lanu meamata - manino uma | O 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 uma | E 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 alu | E 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.