Megjelent a ZeroNet 0.7, egy platform decentralizált webhelyek létrehozására

Egy év fejlesztés után megjelent egy decentralizált webes platform ZeroNet 0.7, amely a Bitcoin címzési és ellenőrzési mechanizmusainak és a BitTorrent elosztott kézbesítési technológiáinak együttes használatát javasolja olyan webhelyek létrehozására, amelyeket nem lehet cenzúrázni, hamisítani vagy blokkolni. Az oldalak tartalmát P2P hálózatban tárolják a látogatók gépein, és a tulajdonos digitális aláírásával ellenőrzik. A címzésre alternatív gyökér DNS-kiszolgálók rendszerét használják Namecoin. A projekt Python és forgalmazza GPLv2 licenccel.

Az oldalon közzétett adatok ellenőrzöttek és az oldal tulajdonosának fiókjához kapcsolódnak, hasonlóan a Bitcoin pénztárcák összekapcsolásához, ami szintén lehetővé teszi az információk relevanciájának ellenőrzését és a tartalom valós idejű frissítését. Az IP-címek elrejtésére az anonim Tor hálózat használható, melynek támogatása be van építve a ZeroNetbe. A felhasználó részt vesz az összes általa elért oldal terjesztésében. A helyi rendszerre való letöltés után a fájlok gyorsítótárba kerülnek, és elérhetővé teszik az aktuális gépről történő terjesztésre a BitTorrentre emlékeztető módszerekkel.

A ZeroNet webhelyek megtekintéséhez futtassa a zeronet.py szkriptet, amely után megnyithatja a webhelyeket a böngészőben a „http://127.0.0.1:43110/zeronet_address” URL-címen keresztül (például „http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”). Weboldal megnyitásakor a program megkeresi a közeli társakat, és letölti a kért oldalhoz kapcsolódó fájlokat (html, css, képek stb.).
Webhelyének létrehozásához futtassa a „zeronet.py siteCreate” parancsot, amely után egy webhelyazonosító és egy privát kulcs generálódik a szerzőség digitális aláírással történő megerősítéséhez.

A létrehozott webhelyhez egy üres könyvtár jön létre „data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D” formátumban. A könyvtár tartalmának módosítása után az új verziót hitelesíteni kell a „zeronet.py siteSign site_identifier” paranccsal és a privát kulcs megadásával. Az új tartalom ellenőrzése után a „zeronet.py sitePublish site_id” paranccsal be kell jelenteni, hogy a megváltozott verzió elérhetővé váljon a társak számára (a WebSocket API a változások bejelentésére szolgál). A lánc mentén a társak digitális aláírással ellenőrzik az új verzió sértetlenségét, letöltik az új tartalmat, és továbbítják más partnereknek.

A főbb lehetőségek:

  • Nincs egyetlen hibapont – a webhely elérhető marad, ha van legalább egy társ a terjesztésben;
  • Az oldal referenciatárának hiánya - az oldal nem zárható be a tárhely leválasztásával, mivel az adatok a látogatók minden gépén megtalálhatók;
  • Minden korábban megtekintett információ a gyorsítótárban található, és elérhető az aktuális gépről offline módban, a globális hálózathoz való hozzáférés nélkül.
  • Támogatja a valós idejű tartalomfrissítést;
  • Címzési lehetőség domain regisztrációval a „.bit” zónában;
  • Dolgozzon előzetes beállítás nélkül – csak csomagolja ki az archívumot a szoftverrel, és futtasson egy szkriptet;
  • Webhelyek klónozásának lehetősége egyetlen kattintással;
  • Formátum alapú jelszó nélküli hitelesítés BEEP32: a számla ugyanazzal a kriptográfiai módszerrel védett, mint a Bitcoin kriptovaluta;
  • Beépített SQL szerver P2P adatszinkronizálási funkciókkal;
  • A Tor névtelen használatának lehetősége, és teljes támogatás a Tor rejtett szolgáltatások (.onion) használatához IPv4-címek helyett;
  • TLS titkosítás támogatása;
  • Automatikus elérhetőség uPnP-n keresztül;
  • Lehetőség több, különböző digitális aláírással rendelkező szerző csatolására az oldalhoz;
  • Beépülő modul elérhetősége többfelhasználós konfigurációk létrehozásához (openproxy);
  • Támogatás a hírfolyamok sugárzásához;
  • Bármilyen böngészőben és operációs rendszerben működik.

Főbb változások a ZeroNetben 0.7

  • A kódot átdolgozták, hogy támogassa a Python3-at, biztosítva a Python 3.4-3.8-as verzióival való kompatibilitást;
  • Védett adatbázis-szinkronizálási mód került megvalósításra;
  • Ahol lehetséges, a harmadik féltől származó könyvtárak fő terjesztése megszűnt a külső függőségek javára;
  • A digitális aláírások ellenőrzésére szolgáló kódot 5-10-szer gyorsították fel (a libsecp256k1 könyvtárat használják;
  • A már generált tanúsítványok véletlenszerűsítése hozzáadva a szűrők megkerüléséhez;
  • A P2P kódot frissítettük a ZeroNet protokoll használatára;
  • Offline mód hozzáadva;
  • Hozzáadott UiPluginManager beépülő modul harmadik féltől származó beépülő modulok telepítéséhez és kezeléséhez;
  • Az OpenSSL 1.1 teljes támogatása biztosított;
  • Társakhoz való csatlakozáskor ál SNI- és ALPN-rekordokat használnak, hogy a kapcsolatok jobban hasonlítsanak a normál webhelyek HTTPS-en keresztüli hívásaihoz;

Ugyanazon a napon, amikor a ZeroNet 0.7.0 megjelent alakított 0.7.1-es frissítés, amely kiküszöböl egy veszélyes sebezhetőséget, amely potenciálisan kódfuttatást tesz lehetővé az ügyféloldalon. A sablonváltozók megjelenítési kódjának hibája miatt egy nyitott külső oldal korlátlan ADMIN/NOSANDBOX jogosultsággal tud kapcsolatot létesíteni a kliensrendszerrel a WebSocketen keresztül, ami lehetővé teszi a konfigurációs paraméterek megváltoztatását és a kód végrehajtását a felhasználó számítógépén keresztül. manipulációk az open_browser paraméterrel.
A sérülékenység a 0.7-es ágban, valamint a felülvizsgálattól kezdődő kísérleti buildekben jelenik meg 4188 (20 nappal ezelőtt történt változás).

Forrás: opennet.ru

Hozzászólás