ZeroNet software | |
---|---|
Genere | Peer-to-peer |
Sviluppatore | Tamas Kocsis |
Data prima versione | 12 gennaio 2015 |
Ultima versione | 0.7.1 (4 settembre 2019) |
Sistema operativo | Microsoft Windows |
Linguaggio | Python |
Licenza | GNU GPL v2 (licenza libera) |
Sito web | zeronet.io |
ZeroNet è un network decentralizzato basato sull'omonimo software creato nel 2015 da Tamas Kocsis. Il programma permette la creazione di siti web ospitati in una rete peer to peer simile alla rete Bittorrent in cui ogni nodo della rete possiede una copia dei siti che visita e ne garantisce la distribuzione agli altri utenti. Il programma è scritto in python ed è completamente open source, rilasciato nei termini della licenza GPL[1]. Al contrario dei normali siti web che sono identificabili tramite un indirizzo IP ed un nome di dominio, gli ziti (nome che hanno i siti ospitati su Zeronet) sono identificati da una chiave crittografica pubblica, mentre le chiavi private consentono ai singoli utenti di firmare i contenuti da loro pubblicati (funzionando in modo simile ad un indirizzo dei portafogli Bitcoin). Sono inoltre presenti dei tracker del tutto simili a quelli della rete Bittorrent per gestire le comunicazioni fra i nodi.
I siti ospitati su Zeronet sono come già detto ospitati dai singoli nodi, che possono accederci tramite qualunque browser web una volta che il programma è avviato. Zeronet non è anonimo di default, ma consente di instradare volendo il suo traffico dati nella rete TOR se è necessario essere protetti dall'anonimato[2].
Il sito web di Zeronet ed i tracker della rete sono bloccati nella Repubblica Popolare Cinese[3]; tale censura può tuttavia essere bypassata utilizzando la rete TOR tramite tunnel WireGuard.
Al momento è impossibile per chiunque oscurare uno sito web ospitato nella rete Zeronet, nemmeno tramite richieste di censura operate da governi o privati[4], in quanto questi siti sono ospitati da ogni computer della rete che li visita (pertanto è necessario "spegnere" tutte queste macchine per riuscire nell'intento). Tuttavia siti non più condivisi da nessuno possono risultare non più raggiungibili.
Uno zito di norma non può essere più grande di 10 MB, tuttavia questo limite può essere incrementato a piacimento (compare un alert quando questa azione è necessaria).
È possibile inoltre in ogni momento clonare un sito già esistente e gestirlo per conto proprio sulla propria macchina, diffondendo quindi a terzi la propria "versione" moderata in modo differente.
Esistono anche alcuni sistemi per rendere gli ziti visibili sul web in sola lettura, senza la necessità di scaricare il software (proxy).
Lo sviluppo del software è al momento fermo dall'inizio del 2020 ed attualmente utilizzando il client "ufficiale" non è possibile connettersi alla rete TOR tramite la nuova versione 3 degli hidden service, tuttavia la comunità di utenti dietro al progetto ha sviluppato una patch[5] per risolvere questo problema che è stata integrata in alcuni fork del progetto attualmente mantenuti (vedi link a fondo pagina). La versione di default per Android, mantenuta da uno sviluppatore terzo, integra anch'essa questa patch.
Dopo aver avviato il programma questo scaricherà in automatico dalla rete Zeronet lo zito ZeroHello che, oltre a fare da home page per la gestione dell'applicazione, fornirà già alcuni altri ziti e servizi a cui connettersi (molti di questi sono poi clonabili per creare propri servizi di forum, blog, ecc...):
Diversi utenti nel tempo si sono prodigati nel creare nuove tipologie di ziti, anch'esse clonabili ed open source; qui sotto quelle più rilevanti:
I siti su Zeronet possono essere scritti in HTML, CSS, JavaScript e CoffeeScript. Non è possibile invece utilizzare linguaggi lato server come il PHP. I siti possono inoltre interfacciarsi a database MySQL (distribuiti via P2P) per gestire il login e la registrazione degli utenti. Utilizzando appositi plugins ed API (ZeroFrame) i siti possono inoltre comunicare con la rete Zeronet richiamando codice Python via JavaScript.