જ્ઞાનનો આધાર હૂડ હેઠળ
બિલ્ડની ચકાસણી કરી રહ્યા છીએ
ઓપન સોર્સ માત્ર ત્યારે જ મદદ કરે છે જો તમે જે કોડ ચલાવી રહ્યા છો તે કોડ છે પ્રકાશિત. 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
વોરંટ કેનેરી
વોરંટ કેનેરી એ એક નિવેદન છે, જે નિશ્ચિત સમયપત્રક પર પ્રકાશિત થાય છે, જે વિકાસકર્તા પાસે છે નથી એક ગુપ્ત સરકારી આદેશ પ્રાપ્ત થયો છે જેને તેઓ જાહેર કરવા માટે પ્રતિબંધિત છે — એ રાષ્ટ્રીય સુરક્ષા પત્ર, FISA ઓર્ડર. વિકાસકર્તાને મૌન રહેવા માટે મજબૂર કરી શકાય છે આવો આદેશ, પરંતુ જૂઠું બોલવાની ફરજ પાડી શકાતી નથી, તેથી કેનેરી વાસી થઈ રહી છે અથવા અદૃશ્ય થઈ રહી છે પોતે જ સિગ્નલ.
તે રહે છે canary.json રીપોઝીટરીના રુટ પર અને સીધું મેળવવામાં આવે છે
GitHub માંથી, તેથી તેનો ઈતિહાસ તૈનાત કરેલ સાઇટ જે પણ કહે છે તેનાથી સ્વતંત્ર રીતે ઓડિટ કરી શકાય છે.
અબાઉટ ડાયલોગ તેને કલર-કોડ કરે છે:
| રંગ | અર્થ |
|---|---|
| લીલા - બધું સ્પષ્ટ | સહી કરેલ, વર્તમાન અને સહી વિકાસકર્તાની કી સાથે મેળ ખાય છે. કોઈ ગુપ્ત આદેશ મળ્યો નથી. |
| પીળો - મુદતવીતી, અથવા બધું સ્પષ્ટ નથી | તે તેની જણાવેલ તારીખ દ્વારા તાજું કરવામાં આવ્યું ન હતું, અથવા તેના allClear ધ્વજ ખોટો છે. મૌન ઓર્ડરને નકારી શકાય નહીં. |
| લાલ - અમાન્ય હસ્તાક્ષર, અથવા ગયા | સહી વિકાસકર્તાની કી સાથે મેળ ખાતી નથી, અથવા ફાઇલ સંપૂર્ણપણે દૂર કરવામાં આવી છે. આને ગંભીર ચેતવણી તરીકે માનો. |
તાજગી એન્કર
હસ્તાક્ષરિત કેનેરી હસ્તાક્ષર કરવાની ક્ષણે નવીનતમ બિટકોઇન બ્લોક ઊંચાઈ અને હેશને એમ્બેડ કરે છે. બ્લોક અસ્તિત્વમાં છે તે પહેલાં તે હેશ જાણી શકાયું ન હતું, જે સાબિત કરે છે કે કેનેરી હતી હસ્તાક્ષર કર્યા પછી જથ્થાબંધ મહિનાઓ અગાઉ પૂર્વ હસ્તાક્ષર કરવાને બદલે સમયનો ચોક્કસ મુદ્દો. વિશે સંવાદ એન્કરને બ્લોક એક્સપ્લોરર સાથે લિંક કરે છે જેથી તમે તેને ચકાસી શકો.