Publikimi i ZeroNet 0.7, një platformë për krijimin e faqeve të decentralizuara të internetit

Pas një viti zhvillimi, u publikua një platformë e decentralizuar në internet ZeroNet 0.7, i cili propozon përdorimin e mekanizmave të adresimit dhe verifikimit të Bitcoin në kombinim me teknologjitë e shpërndarjes së BitTorrent për të krijuar faqe që nuk mund të censurohen, falsifikuara ose bllokohen. Përmbajtja e faqeve ruhet në një rrjet P2P në makinat e vizitorëve dhe verifikohet duke përdorur nënshkrimin dixhital të pronarit. Për adresim përdoret një sistem i serverëve alternative rrënjë DNS Namecoin. Projekti është shkruar në Python dhe shperndare nga licencuar sipas GPLv2.

Të dhënat e postuara në faqe verifikohen dhe lidhen me llogarinë e pronarit të faqes, ngjashëm me lidhjen e kuletave të Bitcoin, gjë që bën të mundur gjithashtu kontrollin e rëndësisë së informacionit dhe përditësimin e përmbajtjes në kohë reale. Për të fshehur adresat IP, mund të përdoret rrjeti anonim Tor, mbështetja për të cilën është e integruar në ZeroNet. Përdoruesi merr pjesë në shpërndarjen e të gjitha faqeve në të cilat ka akses. Pasi të shkarkohen në sistemin lokal, skedarët ruhen dhe vihen në dispozicion për shpërndarje nga makina aktuale duke përdorur metoda që të kujtojnë BitTorrent.

Për të parë faqet ZeroNet, thjesht ekzekutoni skriptin zeronet.py, pas së cilës mund të hapni faqet në shfletues përmes URL-së "http://127.0.0.1:43110/zeronet_address" (për shembull, "http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”) . Kur hapni një faqe interneti, programi gjen kolegë të afërt dhe shkarkon skedarë të lidhur me faqen e kërkuar (html, css, imazhe, etj.).
Për të krijuar faqen tuaj, thjesht ekzekutoni komandën "zeronet.py siteCreate", pas së cilës do të gjenerohet një identifikues i faqes dhe një çelës privat për të konfirmuar autorësinë duke përdorur një nënshkrim dixhital.

Për faqen e krijuar, do të krijohet një direktori boshe e formës “data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D”. Pas ndryshimit të përmbajtjes së kësaj drejtorie, versioni i ri duhet të certifikohet duke përdorur komandën "zeronet.py siteSign site_identifier" dhe duke futur çelësin privat. Pasi përmbajtja e re të jetë verifikuar, ajo duhet të shpallet me komandën "zeronet.py sitePublish site_id" në mënyrë që versioni i ndryshuar të bëhet i disponueshëm për kolegët (API WebSocket përdoret për të njoftuar ndryshimet). Përgjatë zinxhirit, kolegët do të kontrollojnë integritetin e versionit të ri duke përdorur një nënshkrim dixhital, do të shkarkojnë përmbajtjen e re dhe do ta transferojnë atë te kolegët e tjerë.

Kryesore mundësitë:

  • Nuk ka asnjë pikë të vetme dështimi - faqja mbetet e aksesueshme nëse ka të paktën një koleg në shpërndarje;
  • Mungesa e ruajtjes së referencës për sitin - faqja nuk mund të mbyllet duke shkëputur hostin, pasi të dhënat ndodhen në të gjitha makinat e vizitorëve;
  • Të gjitha informacionet e shikuara më parë janë në cache dhe janë të aksesueshme nga makina aktuale në modalitetin offline, pa qasje në rrjetin global.
  • Mbështet përditësimin e përmbajtjes në kohë reale;
  • Mundësia e adresimit nëpërmjet regjistrimit të domenit në zonën “.bit”;
  • Punoni pa konfigurim paraprak - thjesht shpaketoni arkivin me softuerin dhe ekzekutoni një skript;
  • Aftësia për të klonuar faqet e internetit me një klik;
  • Autentifikimi pa fjalëkalim i bazuar në format BIP32: llogaria mbrohet me të njëjtën metodë kriptografike si kriptomonedha Bitcoin;
  • Server i integruar SQL me funksione të sinkronizimit të të dhënave P2P;
  • Aftësia për të përdorur Tor për anonimitet dhe mbështetje të plotë për përdorimin e shërbimeve të fshehura Tor (.onion) në vend të adresave IPv4;
  • mbështetje për kriptim TLS;
  • Aksesueshmëri automatike përmes uPnP;
  • Mundësia e bashkëngjitjes së disa autorëve me nënshkrime dixhitale të ndryshme në sajt;
  • Disponueshmëria e një shtojce për krijimin e konfigurimeve me shumë përdorues (openproxy);
  • Mbështetje për transmetimin e burimeve të lajmeve;
  • Punon në çdo shfletues dhe sistem operativ.

Ndryshime të mëdha në ZeroNet 0.7

  • Kodi është ripunuar për të mbështetur Python3, duke siguruar përputhshmëri me Python 3.4-3.8;
  • Është zbatuar një mënyrë e mbrojtur e sinkronizimit të bazës së të dhënave;
  • Aty ku është e mundur, shpërndarja kryesore e bibliotekave të palëve të treta është ndërprerë në favor të varësive të jashtme;
  • Kodi për verifikimin e nënshkrimeve dixhitale është përshpejtuar 5-10 herë (përdoret biblioteka libsecp256k1;
  • Shtimi i rastësishëm i certifikatave të krijuara tashmë për të anashkaluar filtrat;
  • Kodi P2P është përditësuar për të përdorur protokollin ZeroNet;
  • U shtua modaliteti offline;
  • U shtua shtojca UiPluginManager për instalimin dhe menaxhimin e shtojcave të palëve të treta;
  • Ofrohet mbështetje e plotë për OpenSSL 1.1;
  • Kur lidheni me kolegët, rekordet dummy SNI dhe ALPN përdoren për t'i bërë lidhjet më të ngjashme me thirrjet në sajte të rregullta përmes HTTPS;

Në të njëjtën ditë me lëshimin e ZeroNet 0.7.0 formuar përditësimi 0.7.1, i cili eliminon një cenueshmëri të rrezikshme që potencialisht lejon ekzekutimin e kodit në anën e klientit. Për shkak të një gabimi në kodin për paraqitjen e variablave shabllone, një faqe e jashtme e hapur mund të krijojë një lidhje me sistemin e klientit nëpërmjet WebSocket me të drejta të pakufizuara ADMIN/NOSANDBOX, gjë që bën të mundur ndryshimin e parametrave të konfigurimit dhe ekzekutimin e kodit të tij në kompjuterin e përdoruesit përmes manipulime me parametrin open_browser.
Dobësia shfaqet në degën 0.7, si dhe në ndërtimet eksperimentale duke filluar nga rishikimi 4188 (ndryshimi i bërë 20 ditë më parë).

Burimi: opennet.ru

Shto një koment