İçeriğe atla
Nymchat'e geri dön

Bilgi tabanı Kaputun altında

Yapıyı doğrulama

Açık kaynak yalnızca çalıştırdığınız kodun daha önce çalıştırdığınız kod olması durumunda yardımcı olur. yayınlandı. Nymchat deterministik olarak inşa edilmiştir, böylece bunu içeriden kendiniz kontrol edebilirsiniz. uygulamadan veya bir terminalden.

Tekrarlanabilir yapılar

Uygulamayı oluşturmak bir yayar build-manifest.json kaynak taahhüdünü içeren bir Sunulan her HTML, JavaScript ve CSS varlığının SHA-256 karması ve tek bir bundleHash tüm varlık kümesinin üzerinde.

Çıktı yalnızca kaynak içeriğe bağlıdır; kaydedilen derleme süresi bile yapının çalıştırıldığı an yerine taahhüt zaman damgası - yani aynı şeyi yeniden inşa eden herkes taahhüt baytla aynı dosyaları alır ve aynı bundleHash.

Bir GitHub Eylemi daha sonra her bir işlemi bağımsız olarak yeniden oluşturur ve derleme kaynağını imzalar hash ve manifest için tasdikler var, dolayısıyla bir imzayı bağlayan imzalı bir kayıt var bundleHash dışında başka bir şey tarafından üretilen, depodaki bir taahhüde dağıtım.

Hakkında iletişim kutusunun kontrol ettiği şeyler

Hakkında başlıkta kontrolü tarayıcınızda canlı olarak çalıştırır.

Sürümü, yapı bütünlüğünü ve garanti kanarya durumunu gösteren Nymchat Hakkında iletişim kutusu.
Hakkında iletişim kutusu: sürüm, yapı bütünlüğü, garanti kanaryası ve geliştiriciye doğrudan hat.

Sayfanın gerçekte çalıştırdığı her varlığı yeniden getirir, Web Crypto API ile karma hale getirir ve manifestoyla karşılaştırır. Sonra - ve önemli olan da bu - yeniden hesaplar bundleHash karmalardan BT sadece hesaplandı, şuradan değil Bildirgenin iddia ettiği her şey ve bunu deponun imzalı onaylarında arar GitHub API'si aracılığıyla.

Bir dağıtımın kendisini onaylamasını engelleyen şey budur: değiştirilmiş dosyaların birlikte sunulması yeniden hesaplanan karmanın hiçbir onayı olmadığından eşleşen bir bildirim hala başarısız oluyor.

DurumAraç
&kontrol etmek; Doğrulanmış resmi uygulama (n/n)Her varlık eşleşir, yeniden hesaplanan paket karması depo tarafından onaylanır, Ve sayfa resmi alan adından sunulmaktadır.
⚠ Doğrulanmış yapı · resmi uygulama değilKod orijinal ve onaylanmıştır ancak bu, başka bir alanın yansımasıdır. Bir ayna, doğrulama başarısız olmadan bu uyarıyı kaldıramaz.
✗ UyumsuzlukBir varlık, manifestonun söylediklerine uymaz.
✗ Resmi olmayan yapıYeniden hesaplanan paket karmasının depodan herhangi bir onayı yoktur; kendi kendine oluşturulmuş bir bildirimdir.
⚠ Kaynağına ulaşılamıyorGitHub API'sine ulaşılamadığı için doğrulama her iki şekilde de kontrol edilemedi.

Kendiniz doğrulamak

Hakkında iletişim kutusu adlarını yeniden oluşturun ve karşılaştırın:

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

Yazdırılan karma, hem Hakkında iletişim kutusundaki hem de söz konusu taahhütteki karma değerle eşleşmelidir. derleme-kanıt çalıştırma özeti. İmzayı doğrudan GitHub CLI ile de kontrol edebilirsiniz:

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

Emri kanaryası

Garanti kanaryası, geliştiricinin sabit bir programda yayınlanan bir beyanıdır. Olumsuz ifşa etmeleri yasak olan gizli bir hükümet emri aldılar - bir Ulusal Güvenlik Mektubu, bir FISA emri. Geliştirici bu konuda sessiz kalmaya zorlanabilir Böyle bir emir vardır ama yalan söylemeye zorlanamaz, dolayısıyla kanaryanın bayatlaması ya da ortadan kaybolması kendisi sinyaldir.

İçinde yaşıyor canary.json havuzun kökünde bulunur ve doğrudan getirilir GitHub'dan olduğundan geçmişi, konuşlandırılan sitenin söylediklerinden bağımsız olarak denetlenebilir. Hakkında iletişim kutusu bunu renk kodlarıyla kodlar:

RenkAraç
Yeşil - her şey açıkİmzalı, geçerli ve imza, geliştiricinin anahtarıyla eşleşir. Gizli bir emir alınmadı.
Sarı - gecikmiş veya her şey net değilBelirtilen tarihe kadar yenilenmemiş veya allClear bayrak sahtedir. Susturulmuş bir emir göz ardı edilemez.
Kırmızı — geçersiz imza veya gittiİmza, geliştiricinin anahtarıyla eşleşmiyor veya dosya tamamen kaldırılmış. Bunu ciddi bir uyarı olarak değerlendirin.

Tazelik çapası

İmzalı kanarya, imza anında en son Bitcoin blok yüksekliğini ve hash değerini gömer. Bu karma, blok var olmadan önce bilinemezdi, bu da kanaryanın imzalanmış sonrasında aylar öncesinden toplu olarak önceden imzalanmak yerine belirli bir zamanda. Hakkında iletişim kutusu, bağlantıyı kontrol edebilmeniz için bir blok gezginine bağlar.