Izdanje ZeroNet 0.7, platforme za kreiranje decentralizovanih 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 verifikaciju u kombinaciji sa BitTorrent-ovim tehnologijama distribuirane isporuke za kreiranje stranica koje ne mogu biti cenzurirane, krivotvorene ili blokirane. Sadržaj stranica pohranjuje se u P2P mrežu na strojevima posjetitelja i provjerava se digitalnim potpisom vlasnika. Za adresiranje se koristi sistem alternativnih root DNS servera Namecoin. Projekat je napisan na Python-u i distribuira licenciran pod GPLv2.

Podaci objavljeni na sajtu su verifikovani i povezani sa nalogom vlasnika sajta, slično povezivanju Bitcoin novčanika, što takođe omogućava kontrolu relevantnosti informacija i ažuriranje sadržaja u realnom vremenu. Za skrivanje IP adresa može se koristiti anonimna Tor mreža čija je podrška ugrađena u ZeroNet. Korisnik učestvuje u distribuciji svih stranica kojima je pristupio. Kada se preuzmu na lokalni sistem, fajlovi se keširaju i stavljaju na raspolaganje za distribuciju sa trenutnog računara koristeći metode koje podsećaju na BitTorrent.

Da biste pregledali ZeroNet stranice, samo pokrenite zeronet.py skriptu, nakon čega možete otvoriti web lokacije u pretraživaču putem URL-a “http://127.0.0.1:43110/zeronet_address” (na primjer, “http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”) . Kada otvorite web stranicu, program pronalazi obližnje kolege 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 direktorij 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 potvrđen, potrebno ga je najaviti naredbom “zeronet.py sitePublish site_id” kako bi promijenjena verzija postala dostupna kolegama (za najavu promjena koristi se WebSocket API). U lancu, kolege će provjeriti integritet nove verzije pomoću digitalnog potpisa, preuzeti novi sadržaj i prenijeti ga drugim kolegama.

Glavni mogućnosti:

  • Ne postoji jedinstvena tačka kvara - lokacija ostaje dostupna ako postoji barem jedan peer u distribuciji;
  • Nedostatak referentne memorije za stranicu - stranica se ne može zatvoriti isključivanjem hostinga, jer se podaci nalaze na svim mašinama posjetitelja;
  • Sve prethodno pregledane informacije nalaze se u keš memoriji i dostupne su sa trenutnog uređaja u offline modu, bez pristupa globalnoj mreži.
  • Podrška ažuriranju sadržaja u realnom vremenu;
  • Mogućnost adresiranja putem registracije domena u “.bit” zoni;
  • Radite bez preliminarne postavke - samo raspakujte arhivu sa softverom i pokrenite jednu skriptu;
  • Mogućnost kloniranja web stranica jednim klikom;
  • Provjera autentičnosti bez lozinke zasnovana na formatu BIP32: račun je zaštićen istom kriptografskom metodom kao i Bitcoin kriptovaluta;
  • Ugrađeni SQL server sa P2P funkcijama sinhronizacije podataka;
  • Mogućnost korištenja Tor-a za anonimnost i punu podršku za korištenje Tor skrivenih servisa (.onion) umjesto IPv4 adresa;
  • podrška za TLS enkripciju;
  • Automatska dostupnost putem uPnP-a;
  • Mogućnost dodavanja više autora sa različitim digitalnim potpisima na stranicu;
  • Dostupnost dodatka za kreiranje višekorisničkih konfiguracija (openproxy);
  • Podrška za emitiranje vijesti;
  • Radi u svim pretraživačima i operativnim sistemima.

Velike promjene u ZeroNet 0.7

  • Kod je prerađen da podržava Python3, osiguravajući kompatibilnost sa Python 3.4-3.8;
  • Implementiran je način sinkronizacije zaštićene baze podataka;
  • Gdje je to moguće, glavna distribucija biblioteka trećih strana je prekinuta u korist vanjskih ovisnosti;
  • Kod za provjeru digitalnih potpisa je ubrzan 5-10 puta (koristi se biblioteka libsecp256k1;
  • Dodano nasumično odabiranje već generiranih certifikata radi zaobilaženja filtera;
  • P2P kod je ažuriran da koristi ZeroNet protokol;
  • Dodan način rada van mreže;
  • Dodan dodatak UiPluginManager za instaliranje i upravljanje dodacima trećih strana;
  • Obezbeđena je puna podrška za OpenSSL 1.1;
  • Prilikom povezivanja s ravnopravnim korisnicima, lažni SNI i ALPN zapisi se koriste da bi veze bile sličnije pozivima na obične stranice preko HTTPS-a;

Isti dan kada i ZeroNet 0.7.0 izdanje formirana ažuriranje 0.7.1, koje eliminiše opasnu ranjivost koja potencijalno dozvoljava izvršavanje koda na strani klijenta. Zbog greške u kodu za iscrtavanje varijabli šablona, ​​otvoreni eksterni sajt može uspostaviti vezu sa klijentskim sistemom preko WebSocket-a sa neograničenim ADMIN/NOSANDBOX pravima, što omogućava promenu konfiguracionih parametara i izvršavanje svog koda na računaru korisnika putem manipulacije sa parametrom open_browser.
Ranjivost se pojavljuje u grani 0.7, kao iu eksperimentalnim verzijama počevši od revizije 4188 (promjena napravljena prije 20 dana).

izvor: opennet.ru

Dodajte komentar