Bu’uura beekumsaa Hoodii jalatti
Ijaarsa mirkaneessuu
Open source kan gargaaru yoo koodii ati hojjechaa jirtu koodii ture ta'e qofa maxxanfame. Nymchat deterministically waan ijaarameef ofii keetii sana sakatta'uu dandeessa, keessaa app ykn tarminaala irraa.
Fuulli kun akka mijatutti maashiniin kan hiikamedha. Orijinaalli Ingiliffaa kan ilaallatudha.
Ijaarsa irra deebi’amee hojjetamuu danda’u
Appicha ijaaruun a build-manifest.json kan madda commit of keessaa qabu, a
SHA-256 hash qabeenya HTML, JavaScript fi CSS tajaajilame hunda, fi tokko
bundleHash qabeenya sana hunda irratti tuuta.
Bu'aan qabiyyee madda qofa irratti hundaa'a — yeroon ijaarsa galmaa'e illee kan
commit's timestamp yeroo ijaarsi sun fiige caalaa — kanaaf namni kamiyyuu kanuma deebisee ijaaru
commit faayilii baayitii walfakkaataa fi walfakkaataa argata bundleHash.
Sana booda Tarkaanfiin GitHub tokkoon tokkoon waadaa of danda'ee deebisee ijaara fi ijaarsa-madda mallatteessa
ragaa hash fi manifest, kanaaf galmee mallatteeffame kan a hidhu jira
bundleHash gara commit kuusaa keessa jirutti, kan waan biraatiin kan oomishame
bobbaa gochuudha.
Maal qaaqa Waa'ee sakatta'a
Waa'ee mataduree keessatti sakatta'iinsa kallattiin hojjeta, biraawzari kee keessatti.
Tokkoon tokkoon qabeenya fuul-barruun qabatamaan hojjechaa jiru irra deebi'ee fida, API Kiriiptoo Weebii waliin haash godha, fi
kan mul’ataa wajjin wal bira qaba. Sana booda — kutaan barbaachisaa ta’es kunis — it
irra deebi'ee shallaga bundleHash hashes irraa isa irraa miti kan shallagame qofa
waan manifestiin himatu kamiyyuu, fi sana ragaawwan mallattaa'an kuusaa keessatti ilaala
karaa API GitHub.
Kanatu bobbii ofii isaatiif akka hin mirkaneessine kan dhorkudha: faayiloota fooyya'an waliin tajaajiluu manifest walsimsiisaa ammallee ni kufa, sababni isaas haashiin irra deebi'amee shallagame ragaa hin qabu.
| Sadarkaa | Jechuun |
|---|---|
| &sakatta'uu; Appii ofiisaa mirkanaa'e (n/n) . | Qabeenyi hundi walsimsiisa, haashiin baandaa irra deebi'amee shallagame kuusaan mirkanaa'a, . fi fuul-barruun kan tajaajilamu domeenii ofiisaa irraati. |
| ⚠ Verified build · appii ofiisaa miti | Koodichi dhugaa fi mirkanaa'eedha, garuu kun daawwitii domeenii biraa irratti argamudha. Daawwitiin akeekkachiisa kana osoo mirkaneessuu hin kufin haquu hin danda'u. |
| ✗ Wal hin simne | Qabeenyi tokko waan manifest jedhutti hin hash godhu. |
| ✗ Ijaarsa ofiisaa hin taane | Haashiin baandaa irra deebi'amee shallagame kuusaa irraa ragaa hin qabu — manifest ofumaan hojjetame. |
| ⚠ Maddi isaa kan hin dhaqqabne | APIn GitHub bira ga'amuu hin dandeenye, kanaaf ragaan karaa lamaanuu sakatta'amuu hin dandeenye. |
Ofii keetii mirkaneessuu
Maqaa qaaqa waa'ee raawwachuu irra deebi'ii ijaariitii wal bira qabi:
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>"
Haashiin maxxanfame kan qaaqa Waa'ee keessa jiruu fi kan raawwachuu sana keessa jiru lamaan walsimsiisuu qaba gabaabduu fiigicha ijaarsa-madda. Akkasumas mallattoo kallattiin GitHub CLI waliin ilaaluu dandeessa:
gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM
Appilikeeshiniiwwan Andirooyidii fi iOS
Cheekiin armaan olii sakatta'iinsa web-app yoo ta'u, sababni isaas ifatti ibsuun barbaachisaadha: appii dhalootaa ofii isaatiis akkasuma gochuu hin danda’u. Wanti bilbila keessan irratti hojjetu koodii maashinii qindaa'eedha malee kan... madda kuusaa keessa jiru, fi wanti appichi meeshaa irratti shallaguu danda'u tokkollee tokko kan kan biroo.
Android waan itti aanu isa gaarii hojjechuu danda'a. Kan fe'ame .apk faayila appichi dubbisuu danda'uudha
fi hash, fi hash gadhiifama maxxanfame hunda duraanuu ummataaf ifa ta'a: maxxansuu gara
Zapstore
taatee Nostr kan APK's SHA-256 fi ragaa mallattoo isaa SHA-256 qabate mallatteessa. Kanaaf kan...
Android Waa'ee dialog APK irraa hojjechaa jiru hash godha, kanneen mallattaa'an fida
taateewwan, kanneen furtuu qopheessaatiin mallattaa'an qofa eega, fi wal bira qaba. Lamaan agarsiisa
hashes akkasumas, kanaaf check off meeshaa irra deebi'uu dandeessu: APK maxxanfame buufadhu, fiigi
sha256sum irratti, taatee wal fakkaatu ofuma keetii ilaali.
Appiin Google Play irraa install ta'e haala kanaan check gochuun hin danda'amu...kun immoo waan tokko dogoggora akka qabu agarsiisu miti. Google uffata (upload) hunda furtii mataa isaa qabuun deebisee mallatteessa, akkasumas meeshaa (device) tokko tokkoof APK adda addaa ijaara, kanaafuu bilbila kee irratti argamu faayilii ogeessi (developer) hojjetee dhiyeesse miti, 'hash' isaas waan dhiyeeffame kamiyyuu waliin wal hin simatu. Appilikeeshiniin kun fe'umsi Play irraa dhufe akka ta'e beeka, akkasumas dogoggora akka jiru namatti hin himu, garuu akka ta'e siif hima. Ijaarsa (build) ofii keetiif mirkaneeffachuuf, APK kan kallattiin dhiyeeffame fe'i (install).
iOS tasumaa sakatta'amuu hin danda'u. Applen tokkoon tokkoon buufannaa encrypt godhee irra deebi'ee mallatteessa dhuunfaan, kanaaf hash iPhone keessan irratti shallagame iPhone keessaniif adda waan ta'eef homaa wajjin wal hin simne bakka kamittuu maxxanfame. Qaaqa Waa'ee kanaa kan tasgabbeessuu agarsiisuu caalaa ifatti dubbata sadarkaa jechuun homaa jechuu miti. Yoo Nymchat kan Apple hardware irratti mirkaneessuu dandeessan barbaaddan web fayyadamaa app, kan faayilii hojjechaa jiru hunda sakatta'u.
Cheekiin appiin tokko ofuma isaatiin hojjetu appichi amanamaa ta'uu isaa mirkaneessuu hin danda'u — eenyullee fooyyesse cheekichas balleessuu danda’a ture. Wanti inni mirkaneessu dhimma idileedha: akka waraabbii si install ta'e waraabbii maxxanfamedha. Sun qabaachuu kan malu sababni isaas gatii isaaf kenna wal bira qabamee kan ilaalamu ummataaf waan ta'eef, namni si ala ta'e isaan sakatta'uu danda'a, fi walii hin galle.
Waraanticha kanaarii
Warrant canary jechuun ibsa, sagantaa murtaa’een maxxanfame, kan misoomsaan qabudha miti ajaja mootummaa dhoksaa akka hin ibsine dhorkaman argatan — a Xalayaa Nageenya Biyyaalessaa, ajaja FISA. Misoomsaan waa'ee isaa callisee akka turu dirqisiifamuu danda'a ajaja akkasii, garuu sobuuf dirqisiifamuu hin danda’u, kanaaf kanaariin going stale ykn baduu ta’a ofii isaatii mallattoo.
Keessa jiraata canary.json hundee kuusaa irratti kan argamu yoo ta'u kallattiin kan fidamudha
GitHub irraa, kanaaf seenaan isaa waan marsariitiin bobbaafame jedhu irraa walaba ta'ee odiitii ta'a.
Qaaqa Waa'ee halluu-koodii itti godha:
| Halluu | Jechuun |
|---|---|
| Magariisa — hunduu ifa | Mallatteeffame, ammaa, fi mallattoon furtuu qopheessaa wajjin walsima. Ajajni dhoksaa hin geenye. |
| Keelloo — yeroon isaa darbe, ykn hunduu ifa miti | Guyyaa ibsameen hin haaromfamne, ykn isaa allClear alaabaa soba. Ajajni callisee kennamu haaluun hin danda’amu. |
| Diimaa — mallattoo sirrii hin taane, ykn bade | Mallattoon furtuu guddiftuu wajjin wal hin simne, ykn faayilii guutummaatti haqameera. Kana akka akeekkachiisa cimaatti ilaalaa. |
Anchor haaraa ta'uu
Kanaariin mallatteeffame kun yeroo mallatteessetti olka'iinsa bilookii Bitkoyin isa haaraa fi haashiin itti galcha. Haashiin sun osoo bilookichi hin jiraatin beekamuu hin danda'u ture, kunis kanaariin akka ture mirkaneessa mallatteesse booda ji’oota dura baay’inaan dursanii mallattaa’uu caalaa yeroo murtaa’e. Qaaqa Waa'ee ankuraa qorataa ugguraa waliin walqabsiisa kanaaf akka ati sakatta'uu dandeessuuf.