Msingi wa maarifa Chini ya kofia
Kuthibitisha muundo
Chanzo huria husaidia tu ikiwa msimbo unaoendesha ni msimbo uliokuwa iliyochapishwa. Nymchat imeundwa kwa uthabiti ili uweze kujiangalia mwenyewe, kutoka ndani programu au kutoka kwa terminal.
Ukurasa huu umetafsiriwa kwa mashine kwa urahisi. Toleo la asili la Kiingereza ndilo linalotumika.
Miundo inayoweza kuzaliana
Kuunda programu hutoa a build-manifest.json iliyo na ahadi ya chanzo, a
SHA-256 heshi ya kila kipengee cha HTML, JavaScript na CSS, na moja
bundleHash juu ya seti nzima ya mali.
Matokeo hutegemea tu yaliyomo kwenye chanzo - hata wakati wa ujenzi uliorekodiwa ni
muhuri wa saa wa commit badala ya wakati ujenzi ulipoanza - kwa hivyo mtu yeyote anayeijenga tena
commit hupata faili zinazofanana na sawa bundleHash.
Kitendo cha GitHub kisha huunda tena kila ahadi kwa kujitegemea na kusaini uthibitisho wa kujenga
uthibitisho wa heshi na faili ya maelezo, kwa hivyo kuna rekodi iliyotiwa saini inayounganisha a
bundleHash kwa ahadi kwenye hazina, iliyotolewa na kitu kingine isipokuwa
kupelekwa.
Kidirisha cha Kuhusu hukagua nini
Kuhusu kwenye kichwa huendesha hundi moja kwa moja, kwenye kivinjari chako.
Inaleta tena kila kipengee ambacho ukurasa unaendeshwa, huiharakisha na API ya Crypto ya Wavuti, na
inalinganisha dhidi ya wazi. Kisha - na hii ndiyo sehemu ambayo ni muhimu - ni
inarudisha bundleHash kutoka kwa heshi hiyo tu mahesabu, si kutoka
chochote kinachodaiwa na faili ya maelezo, na huangalia hilo katika uthibitisho uliotiwa saini wa hazina
kupitia GitHub API.
Hilo ndilo linalozuia upelekaji kujihakikishia yenyewe: kutumikia faili zilizorekebishwa pamoja na faili ya maelezo inayolingana bado imeshindwa, kwa sababu heshi iliyorudishwa haina uthibitisho.
| Hali | Maana |
|---|---|
| &angalia; Programu rasmi iliyothibitishwa (n/n) | Kila kipengee kinalingana, heshi ya bando iliyorudishwa inathibitishwa na hazina, na ukurasa unatumiwa kutoka kwa kikoa rasmi. |
| ⚠ Muundo uliothibitishwa · si programu rasmi | Nambari hii ni ya kweli na imethibitishwa, lakini hii ni kioo kwenye kikoa kingine. Kioo hakiwezi kuondoa onyo hili bila uthibitisho wa kushindwa. |
| ✗ Kutolingana | Raslimali haiharakishwi kwa kile ambacho faili ya maelezo inasema. |
| ✗ Muundo usio rasmi | Heshi ya kifurushi kilichokokotwa tena haina uthibitisho kutoka kwa hazina - faili ya maelezo iliyojitayarisha yenyewe. |
| ⚠ Asili haipatikani | API ya GitHub haikuweza kufikiwa, kwa hivyo uthibitisho haungeweza kuangaliwa kwa njia zote mbili. |
Kuithibitisha mwenyewe
Jenga upya majina ya mazungumzo ya Kuhusu na ulinganishe:
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>"
Heshi iliyochapishwa inapaswa kufanana na ile iliyo kwenye mazungumzo ya Kuhusu na ile iliyo kwenye ahadi hiyo kujenga-provenance kukimbia muhtasari. Unaweza pia kuangalia saini moja kwa moja na GitHub CLI:
gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM
Programu za Android na iOS
Cheki hapo juu ni ukaguzi wa programu ya wavuti, na sababu inafaa kusema wazi: programu asili haiwezi kujifanyia kitu kimoja. Kinachotumika kwenye simu yako ni msimbo wa mashine uliokusanywa, sio chanzo kwenye ghala, na hakuna kitu ambacho programu inaweza kuhesabu kwenye kifaa kinahusiana moja na nyingine.
Android inaweza kufanya jambo bora zaidi. Iliyosakinishwa .apk ni faili ambayo programu inaweza kusoma
na heshi, na heshi ya kila toleo lililochapishwa tayari iko hadharani: kuchapishwa kwa
Zapstore
kutia saini tukio la Nostr linalobeba SHA-256 ya APK na SHA-256 ya cheti chake cha kusaini. Kwa hivyo
Android Kuhusu kidirisha huharakisha APK ambayo inaendeshwa, huleta zile zilizotiwa saini
matukio, huweka zile tu zilizotiwa saini na ufunguo wa msanidi programu, na kulinganisha. Inaonyesha hizo mbili
heshi pia, ili uweze kurudia kuangalia kifaa: pakua APK iliyochapishwa, endesha
sha256sum juu yake, na uangalie tukio hilo hilo wewe mwenyewe.
Programu iliyosakinishwa kutoka Google Play haiwezi kuangaliwa kwa njia hii, na hiyo sio ishara kwamba kitu chochote ni sahihi. Google inasajili tena kila upload na kifungo chake mwenyewe na kujenga APK tofauti kwa kila kifaa, hivyo kile kinachotokea kwenye simu yako sio faili iliyotengenezwa na mchanganyiko wake haina sawa na kitu chochote kinachoweza kuchapishwa. programu inatambua Play instal na anasema hivyo badala ya taarifa ya kushindwa. Ili kuangalia kujenga mwenyewe, kufunga APK iliyotolewa moja kwa moja.
iOS haiwezi kuangaliwa hata kidogo. Apple husimba kwa njia fiche na kusaini tena kila upakuaji kibinafsi, kwa hivyo heshi iliyokokotwa kwenye iPhone yako ni ya kipekee kwa iPhone yako na hailingani na chochote iliyochapishwa popote. Mazungumzo ya Kuhusu yanasema hili moja kwa moja badala ya kuonyesha uhakikisho hali ambayo haimaanishi chochote. Ikiwa unataka Nymchat unaweza kuthibitisha kwenye maunzi ya Apple, tumia wavuti app, ambayo huangalia kila faili inayofanya kazi.
Ukaguzi wa programu yenyewe hauwezi kuthibitisha kwamba programu ni mwaminifu - yeyote aliyeirekebisha inaweza kuondoa hundi pia. Kinachothibitisha ni kesi ya kawaida: kwamba nakala wewe iliyosakinishwa ni nakala iliyochapishwa. Hiyo inafaa kuwa nayo kwa sababu inathamini kulinganisha ni hadharani, kwa hivyo mtu mwingine isipokuwa wewe anaweza kuziangalia, na kutokubali.
Kibali cha canary
Hati ya kibali ni taarifa, iliyochapishwa kwa ratiba maalum, ambayo msanidi anayo sivyo walipokea amri ya siri ya serikali ambayo wamekatazwa kufichua - a Barua ya Usalama wa Kitaifa, agizo la FISA. Msanidi programu anaweza kulazimika kukaa kimya kuhusu amri hiyo, lakini haiwezi kulazimishwa kusema uongo, hivyo canary kwenda stale au kutoweka ni ishara yenyewe.
Inaishi ndani canary.json kwenye mzizi wa hazina na inachukuliwa moja kwa moja
kutoka kwa GitHub, kwa hivyo historia yake inaweza kukaguliwa bila kujali chochote tovuti iliyotumwa inasema.
Rangi ya kidirisha cha Kuhusu huiweka:
| Rangi | Maana |
|---|---|
| Kijani - yote wazi | Sahihi, sasa, na sahihi inalingana na ufunguo wa msanidi. Hakuna agizo la siri lililopokelewa. |
| Njano - imechelewa, au sio yote wazi | Haikuburudishwa na tarehe yake iliyotajwa, au yake allClear bendera ni uongo. Amri iliyonyamazishwa haiwezi kutengwa. |
| Nyekundu - saini batili, au imekwenda | Sahihi hailingani na ufunguo wa msanidi, au faili imeondolewa kabisa. Lichukulie hili kama onyo zito. |
Anga safi
Kanari iliyotiwa saini hupachika urefu wa hivi punde wa block ya Bitcoin na heshi wakati wa kutia saini. Hashi hiyo haikuweza kujulikana kabla ya kizuizi kuwepo, ambayo inathibitisha canary ilikuwa saini baada ya hatua mahususi kwa wakati badala ya kutiwa saini mapema kwa wingi wa miezi mapema. Kidirisha cha Kuhusu huunganisha nanga kwenye kichunguzi cha kuzuia ili uweze kukiangalia.