Izdanje ZeroNet 0.7, platforme za izradu decentraliziranih web stranica

Nakon godinu dana razvoja, objavljeno je izdanje decentralizirane web platforme ZeroNet 0.7, koji predlaže korištenje Bitcoin-ovih mehanizama za adresiranje i provjeru u kombinaciji s BitTorrentovim distribuiranim tehnologijama isporuke za stvaranje stranica koje se ne mogu cenzurirati, krivotvoriti ili blokirati. Sadržaj web stranica pohranjuje se u P2P mreži na strojevima posjetitelja i provjerava se digitalnim potpisom vlasnika. Za adresiranje se koristi sustav alternativnih korijenskih DNS poslužitelja Namecoin. Projekt je napisan u Pythonu i distribuira licenciran pod GPLv2.

Podaci objavljeni na stranici provjeravaju se i povezuju s računom vlasnika stranice, slično povezivanju Bitcoin novčanika, što također omogućuje kontrolu relevantnosti informacija i ažuriranje sadržaja u stvarnom vremenu. Za skrivanje IP adresa može se koristiti anonimna mreža Tor čija je podrška ugrađena u ZeroNet. Korisnik sudjeluje u distribuciji svih stranica kojima je pristupio. Nakon preuzimanja na lokalni sustav, datoteke se pohranjuju u predmemoriju i stavljaju na raspolaganje za distribuciju s trenutnog stroja koristeći metode koje podsjećaju na BitTorrent.

Za pregled ZeroNet stranica samo pokrenite skriptu zeronet.py, nakon čega možete otvoriti stranice u pregledniku preko URL-a “http://127.0.0.1:43110/zeronet_address” (na primjer, “http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”) . Prilikom otvaranja web stranice, program pronalazi obližnje peere i preuzima datoteke povezane sa traženom stranicom (html, css, slike, itd.).
Da biste kreirali svoju stranicu, samo pokrenite naredbu “zeronet.py siteCreate”, nakon čega će se generirati identifikator stranice i privatni ključ za potvrdu autorstva pomoću digitalnog potpisa.

Za kreiranu stranicu, kreirat će se prazan imenik u obliku “data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D”. Nakon promjene sadržaja ovog direktorija, nova verzija mora biti certificirana pomoću naredbe “zeronet.py siteSign site_identifier” i unosom privatnog ključa. Nakon što je novi sadržaj verificiran, potrebno ga je najaviti naredbom “zeronet.py sitePublish site_id” tako da promijenjena verzija postane dostupna peerovima (WebSocket API koristi se za objavu promjena). U lancu će ravnopravni korisnici provjeravati integritet nove verzije pomoću digitalnog potpisa, preuzimati novi sadržaj i prenositi ga drugim ravnopravnim korisnicima.

Glavni prilike:

  • Ne postoji jedinstvena točka neuspjeha - stranica ostaje dostupna ako postoji barem jedan peer u distribuciji;
  • Nedostatak referentne pohrane za web mjesto - web mjesto se ne može zatvoriti isključivanjem hostinga, jer se podaci nalaze na svim računalima posjetitelja;
  • Sve prethodno pregledane informacije nalaze se u predmemoriji i dostupne su s trenutnog stroja u izvanmrežnom načinu rada, bez pristupa globalnoj mreži.
  • Podržava ažuriranje sadržaja u stvarnom vremenu;
  • Mogućnost adresiranja putem registracije domene u “.bit” zoni;
  • Radite bez preliminarnog podešavanja - samo raspakirajte arhivu sa softverom i pokrenite jednu skriptu;
  • Mogućnost kloniranja web stranica jednim klikom;
  • Provjera autentičnosti bez lozinke temeljena na formatu BIP32: račun je zaštićen istom kriptografskom metodom kao i kriptovaluta Bitcoin;
  • Ugrađeni SQL poslužitelj s P2P funkcijama sinkronizacije podataka;
  • Mogućnost korištenja Tor-a za anonimnost i punu podršku za korištenje Tor skrivenih usluga (.onion) umjesto IPv4 adresa;
  • podrška za TLS enkripciju;
  • Automatska dostupnost putem uPnP;
  • Mogućnost dodavanja više autora s različitim digitalnim potpisima na stranicu;
  • Dostupnost dodatka za stvaranje višekorisničkih konfiguracija (openproxy);
  • Podrška za emitiranje feedova vijesti;
  • Radi u svim preglednicima i operativnim sustavima.

Glavne promjene u ZeroNet 0.7

  • Kod je prerađen za podršku Python3, osiguravajući kompatibilnost s Python 3.4-3.8;
  • Implementiran je zaštićeni način sinkronizacije baze podataka;
  • Gdje je to bilo moguće, glavna distribucija biblioteka trećih strana prekinuta je u korist vanjskih ovisnosti;
  • Kod za provjeru digitalnog potpisa ubrzan je 5-10 puta (koristi se biblioteka libsecp256k1;
  • Dodana randomizacija već generiranih certifikata za zaobilaženje filtara;
  • P2P kod je ažuriran za korištenje ZeroNet protokola;
  • Dodan izvanmrežni način rada;
  • Dodan dodatak UiPluginManager za instaliranje i upravljanje dodacima trećih strana;
  • Osigurana je puna podrška za OpenSSL 1.1;
  • Pri povezivanju s peerovima, lažni SNI i ALPN zapisi koriste se kako bi veze bile sličnije pozivima na redovita mjesta preko HTTPS-a;

Isti dan kao i izdanje ZeroNet 0.7.0 formirana ažuriranje 0.7.1, koje uklanja opasnu ranjivost koja potencijalno dopušta izvršavanje koda na strani klijenta. Zbog greške u kodu za renderiranje varijabli predloška, ​​otvoreno vanjsko mjesto može uspostaviti vezu s klijentskim sustavom putem WebSocket-a s neograničenim ADMIN/NOSANDBOX pravima, što omogućuje promjenu konfiguracijskih parametara i postizanje izvršenja svog koda na korisničkom računalo kroz manipulacije parametrom open_browser.
Ranjivost se pojavljuje u grani 0.7, kao iu eksperimentalnim verzijama počevši od revizije 4188 (promjena prije 20 dana).

Izvor: opennet.ru

Dodajte komentar