Efter ett Ärs utveckling lanserades den decentraliserade webplattformen , som erbjuder att anvÀnda adresserings- och verifieringsmekanismer frÄn Bitcoin i kombination med teknologier för distribuerad leverans av BitTorrent för att skapa webbplatser som inte kan censureras, förfalskas eller blockeras. InnehÄllet pÄ webbplatserna lagras i ett P2P-nÀtverk pÄ besökares maskiner och verifieras med Àgarens digitala signatur. För adressering anvÀnds ett system av alternativa rotnamnservrar . Projektet Àr skrivet i Python och Àr under GPLv2-licensen.
Data som publiceras pÄ webbplatsen verifieras och kopplas till Àgarens konto, liknande kopplingen av Bitcoin-plÄnböcker, vilket ocksÄ gör det möjligt att kontrollera informationens aktualitet och uppdatera innehÄllet i realtid. För att dölja IP-adresser kan det anvÀndas ett anonymt nÀtverk som Tor, vilket Àr inbyggt i ZeroNet. AnvÀndaren deltar i distributionen av alla webbplatser som besökts. NÀr filer har laddats ner till det lokala systemet sparas de i cachen och blir tillgÀngliga för distribution frÄn den aktuella maskinen, med hjÀlp av metoder som liknar BitTorrent.
För att se ZeroNet-webbplatser Àr det tillrÀckligt att köra skriptet zeronet.py, varefter webbplatser kan öppnas i webblÀsaren via URL "http://127.0.0.1:43110/zeronet_adress" (till exempel "http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D"). NÀr en webbplats öppnas hittar programmet de nÀrmaste peer-er och laddar ner filer som Àr relaterade till den begÀrda sidan (html, css, bilder, osv.).
För att skapa sin egen webbplats Àr det tillrÀckligt att köra kommandot "zeronet.py siteCreate" efter vilket en webbplatsidentifierare och en privat nyckel för att bekrÀfta Àgandet genom digital signatur genereras.
För den skapade webbplatsen kommer en tom katalog att skapas av typen "data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D". Efter att innehÄllet i denna katalog har Àndrats krÀvs att den nya versionen intygas med kommandot "zeronet.py siteSign webbplatsidentifierare" och ange den privata nyckeln. NÀr det nya innehÄllet har intygats, krÀvs det att annonsera den med kommandot "zeronet.py sitePublish webbplatsidentifierare" sÄ att den Àndrade versionen blir tillgÀnglig för peers (för att annonsera Àndringar anvÀnds WebSocket API). Peer-er kommer att kontrollera integriteten för den nya versionen med den digitala signaturen, ladda ner det nya innehÄllet och vidarebefordra det till andra peers.
Huvud :
- Avsaknaden av en enhetlig felpunkt gör att webbplatsen förblir tillgÀnglig sÄ lÀnge det finns minst en peer i distributionen;
- Avsaknaden av en referenslager för webbplatsen gör att webbplatsen inte kan stÀngas av genom att stÀnga av hosting, eftersom data finns pÄ alla besökarnas maskiner;
- All tidigare granskad information finns i cachen och Àr tillgÀnglig frÄn den aktuella maskinen i offline-lÀge, utan att vara ansluten till det globala nÀtverket.
- Stöd för realtidsuppdatering av innehÄll;
- Möjlighet att adressera via registrering av domÀn i zonen «.bit»;
- Arbeta utan förkonfigurering â det rĂ€cker att packa upp arkivet med programvaran och köra ett skript;
- Möjlighet att klona webbplatser med ett klick;
- Lösenordsfri autentisering baserat pÄ formatet : kontot Àr skyddat av samma kryptografiska metod som kryptovalutan Bitcoin;
- Inbyggd SQL-server med P2P-datasyynkroniseringsfunktioner;
- Möjlighet att anvÀnda Tor för anonymitet och fullt stöd för anvÀndning av dolda Tor-tjÀnster (.onion) istÀllet för IPv4-adresser;
- Stöd för TLS-kryptering;
- Automatisk tillgÀnglighet genom uPnP;
- Möjlighet att koppla flera författare till webbplatsen, som har olika digitala signaturer;
- NÀrvaron av ett plugin för att skapa flerspelarkonfigurationer (openproxy);
- Stöd för överföring av nyhetsflöden;
- Fungerar i alla webblÀsare och operativsystem.
Huvudsakliga förÀndringar i ZeroNet 0.7
- Koden har omarbetats för att stödja Python3, sÀkerstÀlld kompatibilitet med Python 3.4-3.8;
- En sÀker synkroniseringsmod för databasen har implementerats;
- I möjligaste mÄn har leveransen av externa bibliotek i huvudsak avbrutits till fördel för externa beroenden;
- Koden för verifiering av digitala signaturer har hastighetsökats med 5-10 gÄnger (biblioteket libsecp256k1 har anvÀnts;
- Randomisering av redan genererade certifikat har lagts till för att kringgÄ filter;
- Kod för P2P har uppdaterats och omdirigerats till att anvÀnda protokollet ZeroNet;
- LÀget för offline-arbete har lagts till;
- Ett plugin, UiPluginManager, har lagts till för installation och hantering av externa plugins;
- Fullt stöd för OpenSSL 1.1 har sÀkerstÀllts;
- Vid anslutning till peers anvÀnds fiktiva SNI- och ALPN-poster för att göra anslutningarna mer liknande de till vanliga webbplatser via HTTPS;
Sammanföll med lanseringen av ZeroNet 0.7.0 Uppdatering 0.7.1, dÀr en kritisk sÄrbarhet har ÄtgÀrdats som potentiellt kan möjliggöra körning av kod pÄ klientsidan. PÄ grund av ett fel i rendering av variabler i mallar kan en öppen extern webbplats ansluta till klientens system via WebSocket med obegrÀnsade ADMIN/NOSANDBOX-rÀttigheter, vilket ger möjligheten att Àndra konfigurationsinstÀllningar och fÄ körning av egen kod pÄ anvÀndarens dator genom manipulation av parametern open_browser.
SÄrbarheten framtrÀder i version 0.7 samt i experimentella byggen frÄn revision. (Àndringen gjordes för 20 dagar sedan).
KĂ€lla: opennet.ru
