ZeroNet 0.7, platformas decentralizētu vietņu izveidei, izlaišana

Pēc gada izstrādes tika izlaista decentralizēta tīmekļa platforma ZeroNet 0.7, kurā ir ierosināts izmantot Bitcoin adresācijas un pārbaudes mehānismus kopā ar BitTorrent izplatītajām piegādes tehnoloģijām, lai izveidotu vietnes, kuras nevar cenzēt, viltot vai bloķēt. Vietņu saturs tiek glabāts P2P tīklā apmeklētāju iekārtās un tiek pārbaudīts, izmantojot īpašnieka ciparparakstu. Adresēšanai tiek izmantota alternatīvu saknes DNS serveru sistēma Namecoin. Projekts ir uzrakstīts Python un izplata licencēts saskaņā ar GPLv2.

Vietnē ievietotie dati tiek pārbaudīti un saistīti ar vietnes īpašnieka kontu, līdzīgi kā Bitcoin maciņu saistīšana, kas arī ļauj kontrolēt informācijas atbilstību un atjaunināt saturu reāllaikā. Lai paslēptu IP adreses, var izmantot anonīmo Tor tīklu, kura atbalsts ir iebūvēts ZeroNet. Lietotājs piedalās visu vietņu izplatīšanā, kurām viņš piekļuva. Kad faili ir lejupielādēti vietējā sistēmā, tie tiek saglabāti kešatmiņā un ir pieejami izplatīšanai no pašreizējās mašīnas, izmantojot metodes, kas atgādina BitTorrent.

Lai skatītu ZeroNet vietnes, vienkārši palaidiet skriptu zeronet.py, pēc kura varat atvērt vietnes pārlūkprogrammā, izmantojot URL “http://127.0.0.1:43110/zeronet_address” (piemēram, “http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”). Atverot vietni, programma atrod tuvumā esošos partnerus un lejupielādē failus, kas saistīti ar pieprasīto lapu (html, css, attēli utt.).
Lai izveidotu vietni, vienkārši palaidiet komandu “zeronet.py siteCreate”, pēc kuras tiks ģenerēts vietnes identifikators un privātā atslēga, lai apstiprinātu autorību, izmantojot digitālo parakstu.

Izveidotajai vietnei tiks izveidots tukšs direktorijs formā “data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D”. Pēc šī direktorija satura maiņas jaunā versija ir jāsertificē, izmantojot komandu “zeronet.py siteSign site_identifier” un ievadot privāto atslēgu. Kad jaunais saturs ir pārbaudīts, tas ir jāpaziņo ar komandu “zeronet.py sitePublish site_id”, lai mainītā versija būtu pieejama vienaudžiem (izmaiņu paziņošanai tiek izmantota WebSocket API). Visā ķēdē partneri pārbaudīs jaunās versijas integritāti, izmantojot digitālo parakstu, lejupielādēs jauno saturu un pārsūtīs to citiem vienaudžiem.

Galvenais spējas:

  • Nav viena kļūmes punkta — vietne paliek pieejama, ja izplatīšanā ir vismaz viens līdzinieks;
  • Vietnes atsauces krātuves trūkums - vietni nevar aizvērt, atvienojot mitināšanu, jo dati atrodas uz visām apmeklētāju iekārtām;
  • Visa iepriekš skatītā informācija atrodas kešatmiņā un ir pieejama no pašreizējās mašīnas bezsaistes režīmā, bez piekļuves globālajam tīklam.
  • Atbalstiet reāllaika satura atjaunināšanu;
  • Iespēja adresēt caur domēna reģistrāciju “.bit” zonā;
  • Strādājiet bez iepriekšējas iestatīšanas - vienkārši izpakojiet arhīvu ar programmatūru un palaidiet vienu skriptu;
  • Iespēja klonēt tīmekļa vietnes ar vienu klikšķi;
  • Uz formātu balstīta bezparoles autentifikācija BIP32: konts ir aizsargāts ar tādu pašu kriptogrāfijas metodi kā Bitcoin kriptovalūta;
  • Iebūvēts SQL serveris ar P2P datu sinhronizācijas funkcijām;
  • Iespēja izmantot Tor anonimitātei un pilnīgs atbalsts Tor slēpto pakalpojumu (.onion) izmantošanai IPv4 adrešu vietā;
  • TLS šifrēšanas atbalsts;
  • Automātiska pieejamība, izmantojot uPnP;
  • Iespēja pievienot vietnei vairākus autorus ar dažādiem ciparparakstiem;
  • Spraudņa pieejamība vairāku lietotāju konfigurāciju izveidei (openproxy);
  • Atbalsts ziņu plūsmu pārraidīšanai;
  • Darbojas jebkurā pārlūkprogrammā un operētājsistēmā.

Galvenās izmaiņas ZeroNet 0.7

  • Kods ir pārstrādāts, lai atbalstītu Python3, nodrošinot saderību ar Python 3.4-3.8;
  • Ir ieviests aizsargāts datu bāzes sinhronizācijas režīms;
  • Ja iespējams, trešo pušu bibliotēku galvenā izplatīšana ir pārtraukta par labu ārējām atkarībām;
  • Ciparparakstu pārbaudes kods ir paātrināts 5-10 reizes (tiek izmantota bibliotēka libsecp256k1;
  • Pievienota jau ģenerēto sertifikātu nejaušināšana, lai apietu filtrus;
  • P2P kods ir atjaunināts, lai izmantotu ZeroNet protokolu;
  • Pievienots bezsaistes režīms;
  • Pievienots UiPluginManager spraudnis trešo pušu spraudņu instalēšanai un pārvaldībai;
  • Tiek nodrošināts pilns OpenSSL 1.1 atbalsts;
  • Veidojot savienojumu ar vienaudžiem, tiek izmantoti fiktīvie SNI un ALPN ieraksti, lai padarītu savienojumus līdzīgākus zvaniem uz parastajām vietnēm, izmantojot HTTPS;

Tajā pašā dienā, kad izlaida ZeroNet 0.7.0 veidojas atjauninājums 0.7.1, kas novērš bīstamu ievainojamību, kas potenciāli pieļauj koda izpildi klienta pusē. Kļūdas dēļ veidņu mainīgo renderēšanas kodā atvērta ārējā vietne var izveidot savienojumu ar klienta sistēmu, izmantojot WebSocket ar neierobežotām ADMIN/NOSANDBOX tiesībām, kas ļauj mainīt konfigurācijas parametrus un izpildīt tā kodu lietotāja datorā, izmantojot manipulācijas ar parametru open_browser.
Ievainojamība parādās 0.7. nozarē, kā arī eksperimentālajās versijās, sākot no pārskatīšanas 4188 (izmaiņas veiktas pirms 20 dienām).

Avots: opennet.ru

Pievieno komentāru