Merkezi olmayan web siteleri oluşturmaya yönelik bir platform olan ZeroNet 0.7'nin piyasaya sürülmesi

Bir yıllık geliştirme sürecinin ardından merkezi olmayan bir web platformu piyasaya sürüldü SıfırNet 0.7Sansürlenemeyecek, sahtesi yapılamayacak veya engellenemeyecek siteler oluşturmak için Bitcoin'in adresleme ve doğrulama mekanizmalarının BitTorrent'in dağıtılmış dağıtım teknolojileriyle birlikte kullanılmasını öneriyor. Sitelerin içeriği, ziyaretçilerin makinelerinde bir P2P ağında depolanır ve sahibinin dijital imzası kullanılarak doğrulanır. Adresleme için alternatif kök DNS sunucularından oluşan bir sistem kullanılır Namecoin. Proje Python'da yazılmıştır ve tarafından dağıtıldı GPLv2 altında lisanslanmıştır.

Sitede yayınlanan veriler doğrulanır ve Bitcoin cüzdanlarının bağlanmasına benzer şekilde site sahibinin hesabına bağlanır; bu da bilgilerin alaka düzeyinin kontrol edilmesini ve içeriğin gerçek zamanlı olarak güncellenmesini mümkün kılar. IP adreslerini gizlemek için, desteği ZeroNet'te yerleşik olan anonim Tor ağı kullanılabilir. Kullanıcı eriştiği tüm sitelerin dağıtımına katılır. Yerel sisteme indirildikten sonra dosyalar önbelleğe alınır ve BitTorrent'i anımsatan yöntemler kullanılarak mevcut makineden dağıtıma sunulur.

ZeroNet sitelerini görüntülemek için, sadece Zeronet.py betiğini çalıştırın, ardından siteleri tarayıcıda “http://127.0.0.1:43110/zeronet_address” URL'si (örneğin, “http://127.0.0.1) aracılığıyla açabilirsiniz. :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”) . Bir web sitesini açarken, program yakındaki eşleri bulur ve istenen sayfayla ilişkili dosyaları (html, css, resimler vb.) indirir.
Sitenizi oluşturmak için “zeronet.py siteCreate” komutunu çalıştırmanız yeterlidir; ardından dijital imza kullanarak yazarlığı onaylamak için bir site tanımlayıcısı ve özel bir anahtar oluşturulacaktır.

Oluşturulan site için “data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D” şeklinde boş bir dizin oluşturulacaktır. Bu dizinin içeriğini değiştirdikten sonra “zeronet.py siteSign site_identifier” komutu kullanılarak ve özel anahtar girilerek yeni sürümün sertifikalandırılması gerekir. Yeni içerik doğrulandıktan sonra, değiştirilen sürümün eşlerin kullanımına sunulması için "zeronet.py sitePublish site_id" komutuyla duyurulması gerekir (değişiklikleri duyurmak için WebSocket API kullanılır). Zincir boyunca eşler, dijital imza kullanarak yeni sürümün bütünlüğünü kontrol edecek, yeni içeriği indirecek ve diğer eşlere aktaracak.

Ana yetenekleri:

  • Tek bir hata noktası yoktur; dağıtımda en az bir eş varsa site erişilebilir kalır;
  • Site için referans depolama eksikliği - veriler ziyaretçilerin tüm makinelerinde bulunduğundan site, barındırma bağlantısı kesilerek kapatılamaz;
  • Daha önce görüntülenen tüm bilgiler önbellekte bulunur ve mevcut makineden, küresel ağa erişim olmadan çevrimdışı modda erişilebilir.
  • Gerçek zamanlı içerik güncellemesini destekleyin;
  • “.bit” bölgesinde alan adı kaydı yoluyla adresleme imkanı;
  • Ön kurulum olmadan çalışın - arşivi yazılımla birlikte açın ve bir komut dosyasını çalıştırın;
  • Tek tıklamayla web sitelerini klonlama yeteneği;
  • Format tabanlı şifresiz kimlik doğrulama BIP32: hesap, Bitcoin kripto para birimiyle aynı şifreleme yöntemiyle korunmaktadır;
  • P2P veri senkronizasyon işlevlerine sahip yerleşik SQL sunucusu;
  • Tor'u anonimlik için kullanma yeteneği ve IPv4 adresleri yerine Tor gizli hizmetlerinin (.onion) kullanılmasına yönelik tam destek;
  • TLS şifreleme desteği;
  • uPnP aracılığıyla otomatik erişilebilirlik;
  • Siteye farklı dijital imzalara sahip birden fazla yazarın eklenmesi imkanı;
  • Çok kullanıcılı yapılandırmalar (openproxy) oluşturmak için bir eklentinin varlığı;
  • Haber akışlarını yayınlama desteği;
  • Tüm tarayıcılarda ve işletim sistemlerinde çalışır.

ZeroNet 0.7'deki büyük değişiklikler

  • Kod Python3'ü destekleyecek şekilde yeniden düzenlendi ve Python 3.4-3.8 ile uyumluluk sağlandı;
  • Korumalı bir veritabanı senkronizasyon modu uygulandı;
  • Mümkün olduğu durumlarda, üçüncü taraf kütüphanelerin ana dağıtımı, dış bağımlılıklar lehine durdurulmuştur;
  • Dijital imzaları doğrulama kodu 5-10 kat hızlandırıldı (libsecp256k1 kitaplığı kullanıldı;
  • Filtreleri atlamak için önceden oluşturulmuş sertifikalara rastgele seçim eklendi;
  • P2P kodu ZeroNet protokolünü kullanacak şekilde güncellendi;
  • Çevrimdışı mod eklendi;
  • Üçüncü taraf eklentileri yüklemek ve yönetmek için UiPluginManager eklentisi eklendi;
  • OpenSSL 1.1 için tam destek sağlanmaktadır;
  • Eşlere bağlanırken, bağlantıları HTTPS üzerinden normal sitelere yapılan çağrılara daha benzer hale getirmek için sahte SNI ve ALPN kayıtları kullanılır;

ZeroNet 0.7.0 sürümüyle aynı gün oluşturulan İstemci tarafında kod yürütülmesine izin verebilecek tehlikeli bir güvenlik açığını ortadan kaldıran 0.7.1 güncellemesi. Şablon değişkenlerini işleme kodundaki bir hata nedeniyle, açık bir harici site, sınırsız ADMIN/NOSANDBOX haklarına sahip WebSocket aracılığıyla istemci sistemiyle bağlantı kurabilir, bu da yapılandırma parametrelerini değiştirmeyi ve kodunu kullanıcının bilgisayarında yürütmeyi mümkün kılar. open_browser parametresiyle yapılan manipülasyonlar.
Güvenlik açığı, 0.7 şubesinde ve revizyondan itibaren deneysel yapılarda ortaya çıkıyor 4188 (değişiklik 20 gün önce yapıldı).

Kaynak: opennet.ru

Yorum ekle