Išleista „ZeroNet 0.7“, platforma decentralizuotoms svetainėms kurti

Po metų kūrimo buvo išleista decentralizuota žiniatinklio platforma ZeroNet 0.7, kuriame siūloma naudoti Bitcoin adresavimo ir tikrinimo mechanizmus kartu su BitTorrent paskirstytomis pristatymo technologijomis, siekiant sukurti svetaines, kurių negalima cenzūruoti, padirbti ar blokuoti. Svetainių turinys saugomas P2P tinkle lankytojų įrenginiuose ir patikrinamas naudojant savininko skaitmeninį parašą. Adresavimui naudojama alternatyvių šakninių DNS serverių sistema Namecoin. Projektas parašytas Python ir išplatino licencijuota pagal GPLv2.

Svetainėje paskelbti duomenys yra tikrinami ir susiejami su svetainės savininko paskyra, panašiai kaip susiejant Bitcoin pinigines, kas taip pat leidžia kontroliuoti informacijos aktualumą ir atnaujinti turinį realiuoju laiku. Norint paslėpti IP adresus, galima naudoti anoniminį „Tor“ tinklą, kurio palaikymas yra integruotas į „ZeroNet“. Vartotojas dalyvauja platinant visas svetaines, kurias jis pasiekė. Atsisiuntę į vietinę sistemą, failai yra talpykloje ir pasiekiami platinimui iš dabartinio kompiuterio, naudojant metodus, primenančius BitTorrent.

Norėdami peržiūrėti „ZeroNet“ svetaines, tiesiog paleiskite scenarijų zeronet.py, po kurio galėsite atidaryti svetaines naršyklėje naudodami URL „http://127.0.0.1:43110/zeronet_address“ (pvz., „http://127.0.0.1“ :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D“). Atidarius svetainę, programa suranda netoliese esančius bendraamžius ir atsisiunčia failus, susijusius su prašomu puslapiu (html, css, vaizdai ir kt.).
Norėdami sukurti svetainę, tiesiog paleiskite komandą „zeronet.py siteCreate“, po kurios bus sugeneruotas svetainės identifikatorius ir privatus raktas, patvirtinantis autorystę naudojant skaitmeninį parašą.

Sukurtai svetainei bus sukurtas tuščias „data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D“ formos katalogas. Pakeitus šio katalogo turinį, nauja versija turi būti sertifikuota naudojant komandą „zeronet.py siteSign site_identifier“ ir įvedant privatų raktą. Patvirtinus naują turinį, jį reikia paskelbti komanda „zeronet.py sitePublish site_id“, kad pakeista versija taptų prieinama kolegoms (pakeitimams paskelbti naudojama WebSocket API). Per grandinę bendraamžiai tikrins naujos versijos vientisumą naudodami skaitmeninį parašą, atsisiųs naują turinį ir perduos jį kitiems lygiaverčiams.

pagrindinis galimybės:

  • Nėra vieno gedimo taško – svetainė išlieka prieinama, jei paskirstyme yra bent vienas partneris;
  • Svetainės nuorodų saugyklos trūkumas - svetainės negalima uždaryti atjungiant prieglobą, nes duomenys yra visuose lankytojų įrenginiuose;
  • Visa anksčiau peržiūrėta informacija yra talpykloje ir pasiekiama iš dabartinio įrenginio neprisijungus, be prieigos prie pasaulinio tinklo.
  • Palaikykite turinio atnaujinimą realiuoju laiku;
  • Galimybė kreiptis per domeno registraciją „.bit“ zonoje;
  • Dirbkite be išankstinio nustatymo – tiesiog išpakuokite archyvą su programine įranga ir paleiskite vieną scenarijų;
  • Galimybė klonuoti svetaines vienu paspaudimu;
  • Formatas pagrįstas autentifikavimas be slaptažodžio BIP32: sąskaita yra apsaugota tuo pačiu kriptografiniu metodu kaip ir Bitcoin kriptovaliuta;
  • Integruotas SQL serveris su P2P duomenų sinchronizavimo funkcijomis;
  • Galimybė naudoti Tor anonimiškumui užtikrinti ir visiškas palaikymas naudojant Tor paslėptas paslaugas (.onion) vietoj IPv4 adresų;
  • TLS šifravimo palaikymas;
  • Automatinis pasiekiamumas per uPnP;
  • Galimybė prie svetainės prijungti kelis autorius su skirtingais skaitmeniniais parašais;
  • Įskiepio, skirto kelių vartotojų konfigūracijoms kurti (openproxy), prieinamumas;
  • Naujienų kanalų transliavimo palaikymas;
  • Veikia visose naršyklėse ir operacinėse sistemose.

Pagrindiniai ZeroNet 0.7 pakeitimai

  • Kodas buvo perdarytas, kad palaikytų Python3, užtikrinant suderinamumą su Python 3.4-3.8;
  • Įdiegtas apsaugotas duomenų bazės sinchronizavimo režimas;
  • Jei įmanoma, pagrindinis trečiųjų šalių bibliotekų platinimas buvo nutrauktas, o išorinės priklausomybės;
  • Skaitmeninių parašų tikrinimo kodas buvo paspartintas 5–10 kartų (naudojama biblioteka libsecp256k1;
  • Pridėtas jau sugeneruotų sertifikatų atsitiktinis atskyrimas siekiant apeiti filtrus;
  • P2P kodas buvo atnaujintas, kad būtų naudojamas ZeroNet protokolas;
  • Pridėtas režimas neprisijungus;
  • Pridėtas UiPluginManager įskiepis, skirtas trečiųjų šalių įskiepiams įdiegti ir tvarkyti;
  • Suteikiamas visas OpenSSL 1.1 palaikymas;
  • Jungiantis prie bendraamžių, naudojami netikri SNI ir ALPN įrašai, kad ryšiai būtų panašesni į skambučius į įprastas svetaines per HTTPS;

Tą pačią dieną, kai buvo išleista ZeroNet 0.7.0 susiformavo naujinimas 0.7.1, kuris pašalina pavojingą pažeidžiamumą, kuris potencialiai leidžia vykdyti kodą kliento pusėje. Dėl šablono kintamųjų atvaizdavimo kodo klaidos atvira išorinė svetainė gali užmegzti ryšį su kliento sistema per WebSocket su neribotomis ADMIN/NOSANDBOX teisėmis, o tai leidžia keisti konfigūracijos parametrus ir vykdyti jos kodą vartotojo kompiuteryje per manipuliacijos su parametru open_browser.
Pažeidžiamumas atsiranda 0.7 šakoje, taip pat eksperimentinėse versijose, pradedant nuo peržiūros 4188 (pakeitimas atliktas prieš 20 dienų).

Šaltinis: opennet.ru

Добавить комментарий