Detsentraliseeritud veebisaitide loomise platvormi ZeroNet 0.7 väljalase

Pärast aastast arendustööd anti välja detsentraliseeritud veebiplatvorm ZeroNet 0.7, mis teeb ettepaneku kasutada Bitcoini adresseerimis- ja kontrollimehhanisme koos BitTorrenti hajutatud edastustehnoloogiatega, et luua saite, mida ei saa tsenseerida, võltsida ega blokeerida. Saitide sisu salvestatakse P2P-võrku külastajate masinatesse ja seda kontrollitakse omaniku digitaalallkirjaga. Adresseerimiseks kasutatakse alternatiivsete DNS-juurserverite süsteemi Namecoin. Projekt on kirjutatud Pythonis ja jaotatud litsentsitud GPLv2 alusel.

Saidile postitatud andmed kontrollitakse ja lingitakse saidi omaniku kontoga sarnaselt Bitcoini rahakottide linkimisega, mis võimaldab ka teabe asjakohasust kontrollida ja sisu reaalajas värskendada. IP-aadresside peitmiseks saab kasutada anonüümset Tor-võrku, mille tugi on ZeroNeti sisse ehitatud. Kasutaja osaleb kõigi saitide levitamises, millele ta juurde pääses. Pärast kohalikku süsteemi allalaadimist salvestatakse failid vahemällu ja tehakse BitTorrenti meenutavate meetodite abil praegusest masinast jagamiseks kättesaadavaks.

ZeroNeti saitide vaatamiseks käivitage lihtsalt skript zeronet.py, misjärel saate brauseris saite avada URL-i "http://127.0.0.1:43110/zeronet_address" kaudu (näiteks "http://127.0.0.1" :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”). Veebilehe avamisel otsib programm üles läheduses olevad kaaslased ja laadib alla soovitud lehega seotud failid (html, css, pildid jne).
Saidi loomiseks käivitage lihtsalt käsk "zeronet.py siteCreate", mille järel luuakse saidi identifikaator ja privaatvõti, mis kinnitab autorsuse digitaalallkirja abil.

Loodud saidi jaoks luuakse tühi kataloog kujul “data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D”. Pärast selle kataloogi sisu muutmist tuleb uus versioon sertifitseerida, kasutades käsku “zeronet.py siteSign site_identifier” ja sisestades privaatvõtme. Kui uus sisu on kinnitatud, tuleb sellest teada anda käsuga “zeronet.py sitePublish site_id”, et muudetud versioon muutuks kaaslastele kättesaadavaks (muudatustest teatamiseks kasutatakse WebSocket API-t). Ahela käigus kontrollivad partnerid digiallkirja abil uue versiooni terviklikkust, laadivad uue sisu alla ja edastavad selle teistele partneritele.

Kõik võimalusi:

  • Puudub üks tõrkepunkt – sait jääb ligipääsetavaks, kui distributsioonis on vähemalt üks partner;
  • Saidi võrdlussalvestusruumi puudumine - saiti ei saa hostimise katkestamisega sulgeda, kuna andmed asuvad kõigis külastajate masinates;
  • Kogu varem vaadatud teave on vahemälus ja on praegusest masinast võrguühenduseta režiimis juurdepääsetav ilma juurdepääsuta globaalsele võrgule.
  • Toetage sisu reaalajas värskendamist;
  • Adresseerimise võimalus domeeni registreerimise kaudu ".bit" tsoonis;
  • Töötage ilma eelhäälestuseta – lihtsalt pakkige arhiiv koos tarkvaraga lahti ja käivitage üks skript;
  • Võimalus ühe klõpsuga veebisaite kloonida;
  • Vormingupõhine paroolita autentimine BIP32: konto on kaitstud sama krüptomeetodiga nagu Bitcoini krüptovaluuta;
  • Sisseehitatud SQL-server P2P andmete sünkroonimisfunktsioonidega;
  • Võimalus kasutada Tori anonüümsuse tagamiseks ja täielik tugi Tori peidetud teenuste (.onion) kasutamiseks IPv4-aadresside asemel;
  • TLS-krüptimise tugi;
  • Automaatne juurdepääsetavus uPnP kaudu;
  • Võimalus lisada saidile mitu erineva digiallkirjaga autorit;
  • Plugina olemasolu mitme kasutaja konfiguratsioonide loomiseks (openproxy);
  • Uudistevoogude edastamise tugi;
  • Töötab kõigis brauserites ja operatsioonisüsteemides.

Suured muudatused ZeroNetis 0.7

  • Kood on ümber töödeldud Python3 toetamiseks, tagades ühilduvuse Python 3.4-3.8;
  • Rakendatud on kaitstud andmebaasi sünkroonimisrežiim;
  • Võimaluse korral on kolmandate osapoolte raamatukogude põhijaotus väliste sõltuvuste kasuks lõpetatud;
  • Digiallkirjade kontrollimise koodi on kiirendatud 5-10 korda (kasutatakse libsecp256k1 teeki;
  • Lisatud juba genereeritud sertifikaatide randomiseerimine filtritest möödaviimiseks;
  • P2P-koodi on värskendatud ZeroNeti protokolli kasutamiseks;
  • Lisatud võrguühenduseta režiim;
  • Lisatud UiPluginManageri pistikprogramm kolmandate osapoolte pistikprogrammide installimiseks ja haldamiseks;
  • OpenSSL 1.1 täielik tugi on tagatud;
  • Eakaaslastega ühenduse loomisel kasutatakse näivaid SNI- ja ALPN-kirjeid, et muuta ühendused sarnasemaks HTTPS-i kaudu tavalistele saitidele helistamisega;

Samal päeval kui ZeroNet 0.7.0 välja tuli moodustatud värskendus 0.7.1, mis kõrvaldab ohtliku haavatavuse, mis võib potentsiaalselt lubada koodi käivitamist kliendi poolel. Mallmuutujate renderdamise koodi vea tõttu saab avatud väline sait luua kliendisüsteemiga ühenduse WebSocketi kaudu piiramatute ADMIN/NOSANDBOX õigustega, mis võimaldab muuta konfiguratsiooniparameetreid ja käivitada selle koodi kasutaja arvutis läbi manipulatsioonid parameetriga open_browser.
Haavatavus ilmneb harus 0.7, aga ka eksperimentaalsetes versioonides alates versioonist 4188 (muudatus tehtud 20 päeva tagasi).

Allikas: opennet.ru

Lisa kommentaar