Skip nav naverokê
Vegere Nymchat

Bingeha zanînê Di bin hood

Verastkirina avakirinê

Çavkaniya vekirî tenê dibe alîkar ku heke koda ku hûn dimeşînin ew koda ku bû ye weşandin. Nymchat bi determînîstî hatiye çêkirin, da ku hûn bi xwe, ji hundurê hundurê kontrol bikin app an ji termînalê.

Avakirinên dubare

Çêkirina sepanê derdixe a build-manifest.json commit çavkaniyê dihewîne, a SHA-256 hash ji her HTML, JavaScript û CSS-ya servekirî, û yek bundleHash li ser tevahiya wê komê sermayeyê.

Hilber tenê bi naveroka çavkaniyê ve girêdayî ye - tewra dema çêkirina tomarkirî jî ew e nîşana demê ya commit li şûna dema ku avahî dimeşe - ji ber vê yekê her kesê ku heman yekê ji nû ve ava dike commit pelên byte-hev û heman distîne bundleHash.

Dûv re Çalakiyek GitHub her peywirek serbixwe ji nû ve ava dike û avakirina-provenance îmze dike tesdîqên haş û manîfestoyê, ji ber vê yekê qeydek îmzekirî heye ku a bundleHash ji bo commit di depoyê de, ku ji hêla tiştek din ve hatî hilberandin bicihkirina.

Di derbarê diyalogê de çi kontrol dike

Ji dor di serî de, di geroka we de kontrolek zindî diherike.

Diyaloga Nymchat About, ku guhertoyê nîşan dide, yekitiyê ava dike û statûya canaryê garantî dike.
Diyaloga Derbarê: Versiyon, yekparebûna avakirinê, kanarya garantî û xêzek rasterast ji pêşdebir re.

Ew her malzemeya ku rûpel bi rastî tê xebitandin ji nû ve hildide, wê bi Web Crypto API-yê re dişewitîne, û li hember diyardeyê dide ber hev. Hingê - û ev beşa ku girîng e - ew e ji nû ve hesab dike bundleHash ji hespan ew tenê tê hesibandin, ne ji her tiştê ku eşkere îdîa dike, û wê di belgeyên îmzekirî yên depoyê de xuya dike bi rêya GitHub API.

Ya ku rê li ber danûstendinek ji bo xwe digire ev e: bi hev re bi pelên guhertî re xizmet dike manîfestoyek lihevhatî dîsa jî têk diçe, ji ber ku haşa ji nû ve tê hesab kirin bê belgeyek heye.

Means
&berçavkirin; Serlêdana fermî ya pejirandî (n/n)Her malûmatî li hev dike, haşa pakêtê ya ji nû ve hatî hesibandin ji hêla depoyê ve tê pejirandin, û rûpel ji domaina fermî tê pêşkêş kirin.
⚠ Avakirina pejirandî · ne sepana fermî yeKod resen û pejirandî ye, lê ev neynek li ser domainek din e. Neynikek nikare vê hişyariyê bêyî verastkirinê rake.
✗ NelihevkirinTaybetmendiyek bi tiştê ku manifest dibêje hej nake.
✗ Avakirina nefermîHeşeya pakêtê ya ji nû ve tê hejmartin ji depoyê tu belgeyek tune - diyardeyek ku bixwe hatî çêkirin.
⚠ Provenance negihiştiyeGitHub API nekare bigihîje, ji ber vê yekê erêkirin bi her awayî nayê kontrol kirin.

Bi xwe verastkirin

Navên diyalogê Derbarê commit ji nû ve ava bikin û bidin ber hev:

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

Divê haşa çapkirî hem bi ya di diyaloga Derbarê de hem jî ya di wê commitê de li hev bike build-provenance run summary. Her weha hûn dikarin rasterast bi GitHub CLI-ya îmzeyê kontrol bikin:

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

Serlêdanên Android û iOS

Kontrola li jor kontrolek serîlêdana webê ye, û sedem hêjayî gotinê ye: serîlêdanek xwecî nikare heman tiştî ji xwe re bike. Tiştê ku li ser têlefona we dimeşîne koda makîneya berhevkirî ye, ne ya çavkaniyê di depoyê de ye, û tiştek ku sepan nikare li ser cîhazê hesab bike yek bi wî re têkildar nake din.

Android dikare baştirîn tiştê din bike. The sazkirî .apk pelek e ku app dikare bixwîne û hash, û haşa her serbestberdana çapkirî jixwe gelemperî ye: weşandina ji bo Zapstore bûyerek Nostr ku APK-ya SHA-256 û sertîfîkaya îmzekirina wê SHA-256 hildigire, îmze dike. Ji ber vê yekê Android Ji dor APK-ya ku ew jê dimeşîne haşeyên diyalogê digire, yên ku hatine îmzekirin tîne bûyeran, tenê yên ku ji hêla mifteya pêşdebir ve hatî îmze kirin digire û berhev dike. Ew du nîşan dide hashes jî, da ku hûn dikarin kontrolkirina cîhazê dubare bikin: APK-ya weşandî dakêşin, bimeşînin sha256sum li ser wê, û bi xwe li heman bûyerê binêrin.

Serlêdanek ku ji Google Play hatî saz kirin bi vî rengî nayê kontrol kirin, û ev ne nîşana tiştekî xirab e. Google her barkirinê bi kuncê xwe re dîsa îmze dike û ji bo her amorakî APK-ekî cuda çêdike, lewma tiştê ku dikeve ser telefona te ne ew faill e ku pêşveber amade kiriye û hashê wê bi tiştekî ku dikare were weşandin re nakeve. Bername nîşaneya serîkirina Play dibîne û li şûna ku rapor bide xistina, vê yekê dibêje. Ji bo ku tu bi xwe kontrol bikî, APK-ê ku rasterast hatî weşandin nas bike.

iOS qet nayê kontrol kirin. Apple her dakêşanê şîfre dike û ji nû ve îmze dike ferdî, ji ber vê yekê hashek ku li ser iPhone-ya we tê hesibandin ji bo iPhone-ya we yekta ye û bi ti tiştî re hev nagire li her derê hatiye weşandin. Diyaloga Derbarê de li şûna ku dilnizmek nîşan bide vê yekê eşkere dibêje statûya ku tiştek nayê wateya. Heke hûn Nymchat dixwazin hûn dikarin li ser hardware Apple verast bikin, tevneyê bikar bînin sepanê, ku her pelê ku tê xebitandin kontrol dike.

Tiştê ku yek ji van îspat nake

Kontrolek ku sepanek li ser xwe dimeşîne nikare îspat bike ku sepan rast e - yê ku ew guhertiye dikare kontrolê jî rake. Tiştê ku ew îsbat dike doza asayî ye: ku we kopî dike hatiye sazkirin nusxeya ku hatiye weşandin e. Ew hêja ye ku hebe ji ber ku nirx dike berhevdan gelemperî ne, ji ber vê yekê ji bilî we kesek din dikare wan kontrol bike, û li hev nekin.

The warrant canary

Kanaryek destûr daxuyaniyek e, ku li ser nexşeyek diyarkirî hatî weşandin, ku pêşdebir heye ne fermanek veşartî ya hukûmetê wergirtiye ku ew qedexe ye ku eşkere bikin - a Nameya Ewlekariya Neteweyî, fermanek FISA. Pêşvebir dikare neçar bimîne ku li ser bêdeng bimîne fermanek wisa ye, lê meriv nikare bi derewan were mecbûr kirin, ji ber vê yekê kanarya westiyaye an winda dibe xwe sînyala.

Ew tê de dijî canary.json di koka depoyê de ye û rasterast tê girtin ji GitHub-ê, ji ber vê yekê dîroka wê ji her tiştê ku malpera hatî veqetandin dibêje serbixwe tê guhdarî kirin. Diyaloga Derbarê reng-kod dike:

RengMeans
Kesk - hemû zelalÎmzekirî, heyî û îmze bi mifteya pêşdebir re hevaheng dike. Ti fermanek veşartî nehatiye wergirtin.
Zer - dereng, an jî ne diyar eEw ji hêla tarîxa xwe ya diyarkirî, an jî ya wê ve nehatiye nûve kirin allClear ala derewîn e. Fermanek bêdeng nayê derxistin.
Sor - îmzeya nederbasdar, an çûÎmze bi mifteya pêşdebir re nagire, an jî pel bi tevahî hatiye rakirin. Vê yekê wekî hişyariyek cidî derman bikin.

Ankera tazebûnê

Kanarya îmzekirî di dema îmzekirinê de bilindahiya bloka Bitcoin ya herî dawî û haş vedigire. Ew haş berî hebûna blokê nedihat zanîn, ku îspat dike ku kanarya bû îmze kirin piştî xalek taybetî di wextê de ji dêvla ku bi mehan berê bi girseyî hatî îmze kirin. Diyaloga About lengerê bi gerokek blokê ve girêdide da ku hûn wê kontrol bikin.