જ્ઞાનનો આધાર હૂડ હેઠળ
બિલ્ડની ચકાસણી કરી રહ્યા છીએ
ઓપન સોર્સ માત્ર ત્યારે જ મદદ કરે છે જો તમે જે કોડ ચલાવી રહ્યા છો તે કોડ છે પ્રકાશિત. Nymchat નિર્ધારિત રીતે બનાવવામાં આવ્યું છે જેથી તમે તેને અંદરથી જાતે જ ચકાસી શકો એપ્લિકેશન અથવા ટર્મિનલમાંથી.
આ પૃષ્ઠ સુવિધા માટે મશીન-અનુવાદિત છે. અંગ્રેજી મૂળ એ સંસ્કરણ છે જે લાગુ પડે છે.
પ્રજનનક્ષમ બિલ્ડ્સ
એપનું નિર્માણ એ ઉત્સર્જન કરે છે build-manifest.json સ્ત્રોત પ્રતિબદ્ધ, એ
દરેક સર્વ કરેલ HTML, JavaScript અને CSS એસેટ અને એક સિંગલનો SHA-256 હેશ
bundleHash તે સમગ્ર એસેટ સેટ ઉપર.
આઉટપુટ માત્ર સ્ત્રોત સામગ્રી પર આધાર રાખે છે — રેકોર્ડ બિલ્ડ સમય પણ છે
બિલ્ડ ચાલ્યાની ક્ષણને બદલે કમિટનો ટાઈમસ્ટેમ્પ — જેથી કોઈપણ તે જ પુનઃબીલ્ડ કરે
કમીટ બાઈટ-સમાન ફાઈલો મેળવે છે અને તે જ bundleHash.
GitHub એક્શન પછી દરેક કમિટને સ્વતંત્ર રીતે ફરીથી બનાવે છે અને બિલ્ડ-પ્રોવનન્સ પર સંકેત આપે છે
હેશ અને મેનિફેસ્ટ માટે પ્રમાણપત્રો, તેથી ત્યાં એક સહી કરેલ રેકોર્ડ છે
bundleHash રીપોઝીટરીમાં કમિટ કરવા માટે, સિવાયના કંઈક દ્વારા ઉત્પાદિત
જમાવટ
વિશે સંવાદ શું તપાસે છે
વિશે હેડરમાં ચેક લાઇવ ચાલે છે, તમારા બ્રાઉઝરમાં.
તે દરેક એસેટને ફરીથી મેળવે છે જે પૃષ્ઠ વાસ્તવમાં ચાલી રહ્યું છે, તેને વેબ ક્રિપ્ટો API સાથે હેશ કરે છે અને
મેનિફેસ્ટ સામે સરખાવે છે. પછી - અને આ તે ભાગ છે જે મહત્વપૂર્ણ છે - તે
ની પુનઃ ગણતરી કરે છે bundleHash હેશમાંથી તે માત્ર ગણતરી કરેલ છે, થી નહીં
જે પણ મેનિફેસ્ટ દાવો કરે છે, અને તે રીપોઝીટરીના હસ્તાક્ષરિત પ્રમાણપત્રોમાં દેખાય છે
GitHub API દ્વારા.
આ તે છે જે જમાવટને પોતાને માટે ખાતરી આપતા અટકાવે છે: સંશોધિત ફાઇલોને એકસાથે સેવા આપવી મેચિંગ મેનિફેસ્ટ હજુ પણ નિષ્ફળ જાય છે, કારણ કે પુનઃગણિત હેશ પાસે કોઈ પ્રમાણીકરણ નથી.
| સ્થિતિ | અર્થ |
|---|---|
| &તપાસ; ચકાસાયેલ સત્તાવાર એપ્લિકેશન (n/n) | દરેક સંપત્તિ મેળ ખાય છે, પુનઃગણિત બંડલ હેશ રિપોઝીટરી દ્વારા પ્રમાણિત કરવામાં આવે છે, અને પૃષ્ઠ સત્તાવાર ડોમેનમાંથી પીરસવામાં આવે છે. |
| ⚠ ચકાસાયેલ બિલ્ડ · સત્તાવાર એપ્લિકેશન નથી | કોડ અસલી અને પ્રમાણિત છે, પરંતુ આ બીજા ડોમેન પરનો અરીસો છે. ચકાસણી નિષ્ફળ થયા વિના અરીસો આ ચેતવણીને દૂર કરી શકતો નથી. |
| ✗ મેળ ખાતી નથી | સંપત્તિ મેનિફેસ્ટ જે કહે છે તેની સાથે હેશ થતી નથી. |
| ✗ બિનસત્તાવાર બિલ્ડ | પુનઃગણિત બંડલ હેશ પાસે રીપોઝીટરીમાંથી કોઈ પ્રમાણીકરણ નથી - એક સ્વ-નિર્મિત મેનિફેસ્ટ. |
| ⚠ ઉત્પત્તિ અગમ્ય | GitHub API સુધી પહોંચી શકાયું નથી, તેથી પ્રમાણીકરણ કોઈપણ રીતે તપાસી શકાયું નથી. |
તે જાતે ચકાસી રહ્યા છીએ
સંવાદ નામો વિશે કમિટ ફરીથી બનાવો અને સરખામણી કરો:
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>"
મુદ્રિત હેશ એ અબાઉટ ડાયલોગ અને તે કમિટમાંના એક સાથે મેળ ખાતી હોવી જોઈએ બિલ્ડ-પ્રોવનન્સ રન સારાંશ. તમે GitHub CLI સાથે સીધા હસ્તાક્ષર પણ ચકાસી શકો છો:
gh attestation verify dist/build-manifest.json --repo Spl0itable/NYM
Android અને iOS એપ
ઉપરોક્ત ચેક વેબ-એપ ચેક છે, અને તેનું કારણ સ્પષ્ટપણે જણાવવા યોગ્ય છે: એક મૂળ એપ્લિકેશન પોતાની સાથે સમાન વસ્તુ કરી શકતા નથી. તમારા ફોન પર જે ચાલે છે તે સંકલિત મશીન કોડ છે, નહીં રીપોઝીટરીમાં સ્ત્રોત, અને ઉપકરણ પર એપ્લિકેશન ગણતરી કરી શકે તેવું કંઈપણ એક સાથે સંબંધિત નથી અન્ય
Android આગામી શ્રેષ્ઠ વસ્તુ કરી શકે છે. ઇન્સ્ટોલ કરેલ .apk એપ્લિકેશન વાંચી શકે તેવી ફાઇલ છે
અને હેશ, અને દરેક પ્રકાશિત રીલીઝની હેશ પહેલાથી જ સાર્વજનિક છે: પર પ્રકાશન
Zapstore
APK ના SHA-256 અને તેના હસ્તાક્ષર પ્રમાણપત્રનું SHA-256 ધરાવતું Nostr ઇવેન્ટ પર સહી કરે છે. તેથી ધ
એન્ડ્રોઇડ વિશે સંવાદ એ APKને હેશ કરે છે જેનાથી તે ચાલી રહ્યું છે, તે સહી કરેલું મેળવે છે
ઇવેન્ટ્સ, ફક્ત ડેવલપરની કી દ્વારા હસ્તાક્ષરિતને જ રાખે છે અને સરખામણી કરે છે. તે બે બતાવે છે
હેશ પણ છે, જેથી તમે ઉપકરણની તપાસનું પુનરાવર્તન કરી શકો: પ્રકાશિત APK ડાઉનલોડ કરો, ચલાવો
sha256sum તેના પર, અને તે જ ઘટના જાતે જુઓ.
Google Play પરથી ઇન્સ્ટોલ કરેલી એપને આ રીતે ચેક કરી શકાતી નથી, અને તે કંઈપણ ખોટું છે તેનો સંકેત નથી. ગૂગલ દરેક અપલોડને તેની પોતાની કી સાથે ફરીથી સાઇન કરે છે અને દરેક ઉપકરણ માટે એક અલગ APK બનાવે છે, જેથી તમારા ફોન પર જે આવે છે તે વિકાસકર્તાએ બનાવેલી ફાઇલ નથી અને તેનું હેશ પ્રકાશિત કરી શકાય તેવી કોઈ વસ્તુ સાથે મેળ ખાતું નથી. એપ્લિકેશન પ્લે ઇન્સ્ટોલને ઓળખે છે અને નિષ્ફળતાની જાણ કરવાને બદલે કહે છે. બિલ્ડ જાતે તપાસવા માટે, સીધા પ્રકાશિત APK ઇન્સ્ટોલ કરો.
iOS બિલકુલ ચેક કરી શકાતું નથી. Apple દરેક ડાઉનલોડને એન્ક્રિપ્ટ કરે છે અને ફરીથી સાઇન કરે છે વ્યક્તિગત રીતે, તેથી તમારા iPhone પર ગણતરી કરેલ હેશ તમારા iPhone માટે અનન્ય છે અને કંઈપણ મેળ ખાતું નથી ગમે ત્યાં પ્રકાશિત. અબાઉટ ડાયલોગ આશ્વાસન આપવાને બદલે આ સ્પષ્ટપણે કહે છે સ્થિતિ જેનો કોઈ અર્થ નથી. જો તમે Nymchat ઇચ્છતા હોવ તો તમે Apple હાર્ડવેર પર ચકાસી શકો છો, વેબનો ઉપયોગ કરો એપ્લિકેશન, જે તે ચાલી રહી છે તે દરેક ફાઇલને તપાસે છે.
એપ પોતે જ ચાલે છે તે ચેક એ એપ પ્રમાણિક છે તે સાબિત કરી શકતું નથી - જેણે પણ તેમાં ફેરફાર કર્યો છે ચેક પણ દૂર કરી શકે છે. તે શું સાબિત કરે છે તે સામાન્ય કેસ છે: કે તમે નકલ કરો છો ઇન્સ્ટોલ કરેલી એ નકલ છે જે પ્રકાશિત કરવામાં આવી હતી. તે હોવા વર્થ છે કારણ કે તેનું મૂલ્ય છે સરખામણીઓ સાર્વજનિક છે, તેથી તમારા સિવાય અન્ય કોઈ તેમને તપાસી શકે છે અને અસંમત થઈ શકે છે.
વોરંટ કેનેરી
વોરંટ કેનેરી એ એક નિવેદન છે, જે નિશ્ચિત સમયપત્રક પર પ્રકાશિત થાય છે, જે વિકાસકર્તા પાસે છે નથી એક ગુપ્ત સરકારી આદેશ પ્રાપ્ત થયો છે જેને તેઓ જાહેર કરવા માટે પ્રતિબંધિત છે — એ રાષ્ટ્રીય સુરક્ષા પત્ર, FISA ઓર્ડર. વિકાસકર્તાને મૌન રહેવા માટે મજબૂર કરી શકાય છે આવો આદેશ, પરંતુ જૂઠું બોલવાની ફરજ પાડી શકાતી નથી, તેથી કેનેરી વાસી થઈ રહી છે અથવા અદૃશ્ય થઈ રહી છે પોતે જ સિગ્નલ.
તે રહે છે canary.json રીપોઝીટરીના રુટ પર અને સીધું મેળવવામાં આવે છે
GitHub માંથી, તેથી તેનો ઈતિહાસ તૈનાત કરેલ સાઇટ જે પણ કહે છે તેનાથી સ્વતંત્ર રીતે ઓડિટ કરી શકાય છે.
અબાઉટ ડાયલોગ તેને કલર-કોડ કરે છે:
| રંગ | અર્થ |
|---|---|
| લીલા - બધું સ્પષ્ટ | સહી કરેલ, વર્તમાન અને સહી વિકાસકર્તાની કી સાથે મેળ ખાય છે. કોઈ ગુપ્ત આદેશ મળ્યો નથી. |
| પીળો - મુદતવીતી, અથવા બધું સ્પષ્ટ નથી | તે તેની જણાવેલ તારીખ દ્વારા તાજું કરવામાં આવ્યું ન હતું, અથવા તેના allClear ધ્વજ ખોટો છે. મૌન ઓર્ડરને નકારી શકાય નહીં. |
| લાલ - અમાન્ય હસ્તાક્ષર, અથવા ગયા | સહી વિકાસકર્તાની કી સાથે મેળ ખાતી નથી, અથવા ફાઇલ સંપૂર્ણપણે દૂર કરવામાં આવી છે. આને ગંભીર ચેતવણી તરીકે માનો. |
તાજગી એન્કર
હસ્તાક્ષરિત કેનેરી હસ્તાક્ષર કરવાની ક્ષણે નવીનતમ બિટકોઇન બ્લોક ઊંચાઈ અને હેશને એમ્બેડ કરે છે. બ્લોક અસ્તિત્વમાં છે તે પહેલાં તે હેશ જાણી શકાયું ન હતું, જે સાબિત કરે છે કે કેનેરી હતી હસ્તાક્ષર કર્યા પછી જથ્થાબંધ મહિનાઓ અગાઉ પૂર્વ હસ્તાક્ષર કરવાને બદલે સમયનો ચોક્કસ મુદ્દો. વિશે સંવાદ એન્કરને બ્લોક એક્સપ્લોરર સાથે લિંક કરે છે જેથી તમે તેને ચકાસી શકો.