Holo i ka ʻike
Hoʻi iā Nymchat

kahua ʻike Ma lalo o ka pāpale

Ke hōʻoia nei i ke kūkulu ʻana

Kōkua wale ke kumu wehe inā ʻo ke code āu e holo nei ʻo ia ke code i hana ʻia paʻi ʻia. Kūkulu ʻia ʻo Nymchat me ka deterministically no laila hiki iā ʻoe ke nānā iā ʻoe iho, mai loko o ka app a i ʻole mai kahi pahu.

Hana hou ʻia

Ke kūkulu ʻana i ka app emit a build-manifest.json i loko o ke kumu commit, a SHA-256 hash o kēlā me kēia HTML lawelawe, JavaScript a me CSS waiwai, a me hoʻokahi bundleHash ma luna o kēlā hoʻonohonoho waiwai holoʻokoʻa.

Hoʻopili wale ka hopena i ka ʻike kumu - ʻo ka manawa kūkulu i hoʻopaʻa ʻia ʻo ia ka commit's timestamp ma mua o ka manawa i holo ai ke kūkulu - no laila ke kūkulu hou nei kekahi commit loaʻa nā faila like-byte a like bundleHash.

A laila kūkulu hou kahi hana GitHub i kēlā me kēia hana kūʻokoʻa a hōʻailona i ka build-provenance nā hōʻike no ka hash a me ka hōʻike, no laila aia kahi moʻolelo i hoʻopaʻa ʻia e hoʻopaʻa ʻia a bundleHash i kahi hana i loko o ka waihona, i hana ʻia e kekahi mea ʻē aʻe ma waho o ka hoʻokomo.

ʻO ka mea e nānā ʻia e ka About

E pili ana ma ke poʻomanaʻo e holo ka nānā ola, ma kāu polokalamu kele pūnaewele.

ʻO ke kamaʻilio ʻo Nymchat About, e hōʻike ana i ka mana, kūkulu i ka pono a me ke kūlana canary.
ʻO ke kamaʻilio About: version, kūkulu i ka pono, warrant canary a me kahi laina pololei i ka mea hoʻomohala.

E kiʻi hou i kēlā me kēia waiwai e holo maoli ana ka ʻaoʻao, hashes me ka Web Crypto API, a hoʻohālikelike i ka hōʻike. A laila - a ʻo kēia ka mea nui - ʻo ia helu hou i ka bundleHash mai nā hashes ia helu wale, aole mai ʻO nā mea a pau i ʻōlelo ʻia, a nānā ʻia i loko o nā hōʻike i kau inoa ʻia e ka waihona ma o ka GitHub API.

ʻO ia ka mea e hoʻōki ai i ka waiho ʻana mai ka hōʻoia ʻana iā ia iho: lawelawe pū me nā faila i hoʻololi ʻia ʻAʻole paʻa ka hōʻike hoʻohālikelike, no ka mea, ʻaʻohe hōʻoia o ka hash i helu hou ʻia.

KūlanaʻO ke ʻano
&nānā; Apono ʻia o ka polokalamu (n/n)Hoʻohālikelike ʻia kēlā me kēia waiwai, hōʻoia ʻia ka hash puʻupuʻu i helu hou ʻia e ka waihona, a lawelawe ʻia ka ʻaoʻao mai ke kahua kūhelu.
⚠ Kūkulu ʻia i hoʻopaʻa ʻia · ʻaʻole ka app manaHe ʻoiaʻiʻo a hōʻoia ʻia ke code, akā he aniani kēia ma kahi kikowaena ʻē aʻe. ʻAʻole hiki i ke aniani ke wehe i kēia ʻōlelo aʻo me ka ʻole o ka hōʻoia ʻana.
✗ Kūlike ʻoleʻAʻole pili ka waiwai i ka mea i ʻōlelo ʻia e ka hōʻike.
✗ Kūkulu kūhelu ʻoleʻAʻohe hōʻike hōʻoia mai ka waihona waihona i hoʻopaʻa hou ʻia - he hōʻike pilikino.
⚠ ʻAʻole hiki ke loaʻa ke kumuʻAʻole hiki ke kiʻi ʻia ka GitHub API, no laila ʻaʻole hiki ke nānā ʻia ka hōʻoia ʻana i kēlā me kēia ala.

Ke hōʻoia nei iā ʻoe iho

E kūkulu hou i ka commit i nā inoa kamaʻilio About a hoʻohālikelike:

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

Pono ka hash i pai ʻia me ka mea i loko o ke kamaʻilio About a me ka mea i loko o kēlā hana build-provenance run summary. Hiki iā ʻoe ke nānā pono i ka pūlima me ka GitHub CLI:

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

ʻO ka canary warrant

ʻO ka canary warrant he ʻōlelo ia, i paʻi ʻia ma kahi papa manawa paʻa, i loaʻa i ka mea hoʻomohala ʻaʻole ua loaa ke kauoha malu a ke aupuni, ua papaia lakou e hoike aku - a Leta Palekana Lahui, he kauoha FISA. Hiki ke koi ʻia ka mea hoʻomohala e noho mālie ʻO ia kauoha, akā ʻaʻole hiki ke koi ʻia e wahaheʻe, no laila ke hele a mae a nalo paha ka canary nona iho ka hoailona.

Noho ia ma canary.json ma ke kumu o ka waihona a kii pololei ia mai GitHub, no laila hiki ke hoʻopaʻa ʻia kona mōʻaukala i nā mea a ka pūnaewele i hoʻonohonoho ʻia. Hoʻokaʻawale ka ʻōlelo kalakala pili iā ia:

kalakalaʻO ke ʻano
ʻōmaʻomaʻo — maopopo loaʻO ka pūlima, ka manawa, a me ka pūlima pili i ke kī o ka mea hoʻomohala. ʻAʻohe kauoha huna i loaʻa.
Melemele - hala, a ʻaʻole maopopo loaʻAʻole i hōʻano hou ʻia e kona lā i ʻōlelo ʻia, a i ʻole kona allClear He wahahee ka hae. ʻAʻole hiki ke hoʻokuʻu ʻia kahi kauoha hāmau.
ʻulaʻula — kainoa pono ole, a i ole ua halaʻAʻole kūlike ka pūlima i ke kī o ka mea hoʻomohala, a i ʻole ua wehe ʻia ka faila. E mālama i kēia ma ke ʻano he ʻōlelo aʻo koʻikoʻi.

ʻO ka heleuma hou

Hoʻokomo ka canary i hoʻopaʻa ʻia i ka kiʻekiʻe o ka poloka Bitcoin hou loa a me ka hash i ka manawa o ke kau inoa ʻana. ʻAʻole hiki ke ʻike ʻia kēlā hash ma mua o ka noho ʻana o ka poloka, kahi e hōʻoiaʻiʻo ai ʻo ia ka canary kakauinoa mahope kahi kiko'ī i ka manawa ma mua o ke kau inoa mua ʻana i nā mahina nui ma mua. Hoʻopili ke kamaʻilio About i ka heleuma i kahi mea ʻimi poloka i hiki iā ʻoe ke nānā iā ia.