Izdaja ZeroNet 0.7, platforme za ustvarjanje decentraliziranih spletnih mest

Po letu razvoja je izšla izdaja decentralizirane spletne platforme ZeroNet 0.7, ki predlaga uporabo Bitcoinovih mehanizmov za naslavljanje in preverjanje v kombinaciji s tehnologijami porazdeljene dostave BitTorrent za ustvarjanje spletnih mest, ki jih ni mogoče cenzurirati, ponarejati ali blokirati. Vsebina spletnih mest je shranjena v omrežju P2P na računalnikih obiskovalcev in je preverjena z digitalnim podpisom lastnika. Za naslavljanje se uporablja sistem alternativnih korenskih DNS strežnikov Namecoin. Projekt je napisan v Pythonu in distributer licenciran pod GPLv2.

Podatki, objavljeni na spletnem mestu, so preverjeni in povezani z računom lastnika spletnega mesta, podobno kot pri povezovanju Bitcoin denarnic, kar omogoča tudi nadzor nad ustreznostjo informacij in posodabljanje vsebin v realnem času. Za skrivanje naslovov IP je mogoče uporabiti anonimno omrežje Tor, katerega podpora je vgrajena v ZeroNet. Uporabnik sodeluje pri distribuciji vseh strani, do katerih dostopa. Ko so datoteke prenesene v lokalni sistem, se shranijo v predpomnilnik in so na voljo za skupno rabo s trenutnega računalnika z uporabo metod, ki spominjajo na BitTorrent.

Če si želite ogledati spletna mesta ZeroNet, zaženite skript zeronet.py, po katerem lahko odprete spletna mesta v brskalniku prek URL-ja »http://127.0.0.1:43110/zeronet_address« (na primer »http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”). Ko odpre spletno stran, program poišče bližnje vrstnike in prenese datoteke, povezane z zahtevano stranjo (html, css, slike itd.).
Če želite ustvariti svoje spletno mesto, zaženite ukaz »zeronet.py siteCreate«, po katerem bosta ustvarjena identifikator mesta in zasebni ključ za potrditev avtorstva z uporabo digitalnega podpisa.

Za ustvarjeno spletno mesto bo ustvarjen prazen imenik v obliki “data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D”. Po spremembi vsebine tega imenika je treba novo različico potrditi z ukazom “zeronet.py siteSign site_identifier” in vnosom zasebnega ključa. Ko je nova vsebina preverjena, jo je treba najaviti z ukazom “zeronet.py sitePublish site_id”, tako da spremenjena različica postane na voljo vrstnikom (za objavo sprememb se uporablja WebSocket API). Vzdolž verige bodo vrstniki preverili celovitost nove različice z digitalnim podpisom, prenesli novo vsebino in jo prenesli drugim vrstnikom.

Glavni možnosti:

  • Ni ene same točke napake - spletno mesto ostane dostopno, če je v distribuciji vsaj en vrstnik;
  • Pomanjkanje referenčnega pomnilnika za spletno mesto - spletnega mesta ni mogoče zapreti z odklopom gostovanja, saj se podatki nahajajo na vseh strojih obiskovalcev;
  • Vse predhodno ogledane informacije so v predpomnilniku in so dostopne s trenutnega računalnika v načinu brez povezave, brez dostopa do globalnega omrežja.
  • Podpira posodobitev vsebine v realnem času;
  • Možnost naslavljanja preko registracije domene v “.bit” coni;
  • Delajte brez predhodne nastavitve - samo razpakirajte arhiv s programsko opremo in zaženite en skript;
  • Možnost kloniranja spletnih strani z enim klikom;
  • Preverjanje pristnosti brez gesla na podlagi formata BIP32: račun je zaščiten z enako kriptografsko metodo kot kriptovaluta Bitcoin;
  • Vgrajen SQL strežnik s funkcijami P2P sinhronizacije podatkov;
  • Možnost uporabe Tor za anonimnost in popolno podporo za uporabo skritih storitev Tor (.onion) namesto naslovov IPv4;
  • podpora za šifriranje TLS;
  • Samodejna dostopnost prek uPnP;
  • Možnost pripenjanja več avtorjev z različnimi digitalnimi podpisi na stran;
  • Razpoložljivost vtičnika za ustvarjanje večuporabniških konfiguracij (openproxy);
  • Podpora za oddajanje virov novic;
  • Deluje v vseh brskalnikih in operacijskih sistemih.

Večje spremembe v ZeroNet 0.7

  • Koda je bila predelana za podporo Python3, kar zagotavlja združljivost s Python 3.4–3.8;
  • Implementiran je zaščiten način sinhronizacije baze podatkov;
  • Kjer je bilo mogoče, je bila glavna distribucija knjižnic tretjih oseb prekinjena v korist zunanjih odvisnosti;
  • Koda za preverjanje digitalnega podpisa je pospešena 5-10 krat (uporablja se knjižnica libsecp256k1;
  • Dodana randomizacija že ustvarjenih certifikatov za obhod filtrov;
  • Koda P2P je bila posodobljena za uporabo protokola ZeroNet;
  • Dodan način brez povezave;
  • Dodan vtičnik UiPluginManager za namestitev in upravljanje vtičnikov tretjih oseb;
  • Zagotovljena je polna podpora za OpenSSL 1.1;
  • Pri povezovanju z vrstniki se uporabljajo navidezni zapisi SNI in ALPN, da so povezave bolj podobne klicem običajnih spletnih mest prek HTTPS;

Isti dan kot izdaja ZeroNet 0.7.0 oblikovana posodobitev 0.7.1, ki odpravlja nevarno ranljivost, ki potencialno omogoča izvajanje kode na strani odjemalca. Zaradi napake v kodi za upodabljanje spremenljivk predloge lahko odprto zunanje mesto vzpostavi povezavo s sistemom odjemalca prek WebSocket z neomejenimi pravicami ADMIN/NOSANDBOX, kar omogoča spreminjanje konfiguracijskih parametrov in izvajanje njegove kode na uporabnikovem računalniku prek manipulacije s parametrom open_browser.
Ranljivost se pojavi v veji 0.7, pa tudi v eksperimentalnih zgradbah, ki se začnejo od revizije 4188 (sprememba narejena pred 20 dnevi).

Vir: opennet.ru

Dodaj komentar