Visualizzazione post con etichetta p2p. Mostra tutti i post
Visualizzazione post con etichetta p2p. Mostra tutti i post

giovedì 20 giugno 2013

Esperimenti di Chrome: Cube Slam e WebRTC

Una quarantina di anni fa, quando i computer vivevano la loro età del rame e i videogiochi erano ancora in piena età della pietra, compariva sulla scena Pong, uno dei primi esemplari di gioco. Pong aveva una struttura molto semplice: due lineette verticali, una a destra e una a sinistra, si rilanciavano a vicenda un quadratino, potendosi muovere solo verso l’alto o verso il basso. Con una certa dose di fantasia, era una simulazione di ping-pong.
Curiosamente, proprio questo videogioco “preistorico” è stato scelto da Google, per essere utilizzato come cavia con cui testare e mostrare una nuova tecnologia per la comunicazione web: ne è nato così Cube Slam, uno degli ultimi esemplari appartenenti alla categoria dei Chrome Experiments, ossia applicazioni web sviluppate per mostrare quale sia il supporto offerto da Google Chrome a vari tipi di tecnologie sperimentali. Nel caso di Cube Slam, la tecnologia in questione è il WebRTC, che consente una comunicazione diretta da browser a browser, usando soltanto elementi nativi del browser stesso: niente Flash o altri tipi di plugin esterni, insomma. Ma guardiamo meglio cosa sia Cube Slam.
Questa è la schermata introduttiva, che apparirà se ci colleghiamo alla pagina con Google Chrome. Altri tipi di browser, come Firefox o Safari, potrebbero funzionare, ma non è garantito: dopotutto, è un progetto che serve a mostrare le funzionalità di Chrome e non ci si può aspettare che sia anche ottimizzato per funzionare altrettanto bene su altri browser.
Come possiamo vedere al centro, il campo di gioco è più o meno identico a quello del vecchio Pong, con una notevole variante: Cube Slam è tridimensionale, di conseguenza le due lineette sono sostituite da due parallelepipedi e il quadratino è adesso un cubo. Differenze marginali, si potrebbe dire. Una differenza più notevole è data dal contenuto del gioco, dove il semplice tic toc delle due lineette che si rilanciano l’un l’altra un quadratino è stato arricchito da svariati elementi extra, come campi gravitazionali, ostacoli, bombe e più o meno tutto l’armamentario che si può immaginare in un videogioco di questo tipo.
Sempre dalla schermata introduttiva, possiamo notare un altro particolare, cioè le due modalità di gioco offerte: contro un amico, oppure contro un orso. La seconda, per quanto possa suonare bizzarra, è soltanto un modo per dire che giocheremo contro il computer, ossia contro una tipica AI da videogioco, in questo caso impersonata da un orso. La prima opzione è invece molto più interessante, perché ci conduce al cuore dell’esperimento: la comunicazione diretta via browser, nel caso specifico tra il nostro browser e quello di un amico, contro il quale giocheremo.
WebRTC, ossia Web Real Time Communication, è una nuova tecnologia, per introdurre una comunicazione diretta tra browser, utilizzando solo le risorse a disposizione dei browser, senza appoggiarsi a programmi esterni. In particolare, il fine di WebRTC è quello di rendere la comunicazione audio e video, attraverso i browser, semplice e immediata quando la comunicazione testuale. Cube Slam utilizza WebRTC per collegarci direttamente col browser di un nostro amico, se scegliamo di giocare contro un amico e se l’amico è in linea (ovviamente), gestendo in modo diretto la comunicazione tra noi e lui: noi vedremo sullo schermo il nostro amico e lui vedrà noi. Niente di diverso da una normale video chat, da un certo punto di vista, ma la differenza sta nel modo in cui la comunicazione è realizzata: direttamente dal browser e non utilizzando un plugin di Skype, come ad esempio fa Facebook. peraltro, lo scopo stesso del gioco è proprio quello di abbattere lo schermo del nostro avversario, cosa che avverrà dopo che lo avremo colpito per tre volte.
Per essere giocato contro un amico, quindi, Cube Slam richiede la presenza di webcam e microfono (sì, oltre a vederci, possiamo anche insultarci in diretta, mentre giochiamo): se non utilizziamo un firewall (pessima abitudine), i dati saranno trasmessi direttamente dal nostro browser al browser del nostro amico, senza bisogno di un server, in un modo simile a quanto avviene con programmi P2P, come eMule o BitTorrent.
Per quanto riguarda la grafica, che è in 3D, può essere visualizzata in due modi: se il nostro browser supporta il WebGL, che è una grafica 3D nativa dei browser, il gioco sarà visualizzato utilizzando quella, dato che è stato prodotto con three.js, una libreria JavaScript per semplificare il ricorso alla grafica 3D; in assenza di WebGL, invece, ripiegherà sulla simulazione del 3D attraverso il CSS, così da garantire un risultato simile, anche se non proprio identico, anche su altri browser.

mercoledì 28 novembre 2012

RetroShare e la condivisione Friend-to-Friend

Oggi tornerò a parlare di condivisione files, dedicandomi a un programma dalla storia abbastanza curiosa: RetroShare. RetroShare è un programma open-source, disponibile per i principali sistemi operativi (Windows, Macintosh e diverse distribuzioni di Linux), che funziona come piattaforma decentralizzata per la comunicazione e lo scambio di files. Detta in altri termini, con RetroShare potete scambiare files, in modo simile a quanto avviene con eMule o Torrent, ma potete anche chattare con gli amici o costruire un forum di discussione. Il che non sarebbe niente di particolare, dato che si può fare in molti altri modi, anche più semplici; la particolarità sta nel fatto che tutte le comunicazioni sono criptate. Come si autodefinisce nel suo sito, RetroShare è progettato per offrire un Secure Social Network, cioè un ambiente in cui ciò che decidi di condividere coi tuoi amici sarà davvero condiviso soltanto coi tuoi amici e inaccessibile ad altri. Ma vediamo più in dettaglio.
La condivisione di files, in un sistema peer-to-peer (P2P), avviene in forma uguale tra un numero imprecisato di sconosciuti: io inserisco un file in una rete P2P, come eMule, e chiunque potrà raggiungere quel file e scaricarlo. Inoltre, se sono presenti più copie di uno stesso file, sarà possibile scaricarne frammenti da ogni copia disponibile, così da velocizzare l’operazione. E fin qui niente di nuovo, perché chiunque abbia mai usato eMule (o Torrent) ne conosce anche, almeno in forma approssimativa, il funzionamento. Questo sistema introduce vari problemi di sicurezza, perché è relativamente facile localizzare chi stia scaricando cosa: ogni utente è collegato in modo diretto alla fonte da cui scarica e questo rende possibile localizzare l’indirizzo IP dell’utente in questione.
RetroShare passa da un sistema peer-to-peer a un sistema friend-to-friend: i files non sono più condivisi indiscriminatamente con chiunque, ma solo con una ristretta cerchia di persone, ossia quelli che io ho scelto come “amici”. Nella sua forma più semplice, dunque, possono utilizzare RetroShare per creare una ristretta cerchia di amici e scambiare con loro il materiale che voglio, attraverso canali criptati: organizziamo la nostra piccola comunità, ci scambiamo files in modo sicuro e protetto e tanti saluti al resto del mondo.
Esiste però anche una forma più “sociale”, basata sugli “amici di amici”, che porta RetroShare molto più vicino a eMule e Torrent, pur mantenendo un sistema friend-to-friend. Per spiegare meglio questa forma sociale, vediamo come funziona la ricerca di un file. Quando cerco un file, per prima cosa RetroShare guarderà tra i miei amici: se uno di loro lo possiede e lo ha messo in condivisione, allora lo riceverò da lui e la ricerca è finita. Se non lo possiede, RetroShare guarderà tra tutti gli amici di quell'amico  poi guarderà tra gli amici degli amici dell’amico, e così via, fino a che il file non è stato trovato o, in caso di risultati negativi, fino a che la ricerca non si fermerà per essersi spinta oltre una certa distanza. Una volta localizzato il file, non sarà trasferito direttamente a me, ma mi arriverà “saltellando” da un amico all'altro  seguendo la catena di amici che porta da me al file: in questo modo, il “distributore” del file non vedrà il destinatario, ma solo il suo amico più diretto.
Esempio concreto. Pincopallino possiede il file che mi interessa, ma non è un mio amico diretto. Il file sarà quindi trasferito a Tizio, che è amico di Pincopallino; Tizio lo trasferirà al suo amico Caio; Caio lo trasferirà al suo amico Sempronio; Sempronio è un mio amico, così lo trasferirà direttamente a me. In tutto questo giro, io non vedrò mai Pincopallino e Pincopallino non vedrà mai me, proprio come non vedremo le varie tappe intermedie. Ogni scambio avverrà poi attraverso un tunnel criptato, che collega i due amici tra cui lo scambio si verifica. Come è facile da intuire, questo percorso è molto più lento rispetto al normale peer-to-peer, ma ha il vantaggio di essere molto più sicuro: sta dunque agli utenti decidere tra la velocità e la sicurezza.
Gli amici sono persone di cui ti fidi e sono stabiliti attraverso uno scambio di “certificati di identità”. Quando utilizziamo RetroShare per la prima volta, ci sarà richiesto di generare una nostra identità, che si accompagna a due chiavi, utilizzate per gestire le connessioni criptate: l’aggiunta di un amico avviene mandandogli il mio certificato, per identificarmi, e lui potrà accettarla inviandomi a sua volta il suo certificato. In questo modo, entrambi potremo verificare l’identità dell’altro. Una cosa da tenere presente è che i miei amici sapranno sempre chi sono, per cui è opportuno che gli amici siano davvero amici, cioè persone fidate: l’essenza di RetroShare è questa, uno scambio protetto tra persone fidate.
Quale sarebbe la curiosità della storia di RetroShare, cui accennavo all'inizio? RetroShare è in vita da diversi anni e finora è stato ignorato da tutti o quasi: il suo stesso sviluppo è ancora alla versione 0.5.4c, cioè ancora piuttosto lontano da una versione stabile e definitiva. Dall'inizio dell’anno in corso, però, pare che la gente si sia accorta della sua esistenza e il suo utilizzo è aumentato di parecchio nel giro di pochi mesi. Staremo a vedere i successivi sviluppi.

Rischi legali?

Come avviene per qualsiasi sistema di scambio protetto, anche RetroShare può essere utilizzato per scambiare materiale più o meno illegale. A questo proposito, è bene segnalare quanto avvenuto di recente ad Amburgo, dove una sentenza alquanto discutibile ha evidenziato i rischi legali che si possono correre, utilizzando questi programmi. Qui potete trovare la storia completa, coi link alle ingiunzioni del tribunale (in tedesco) e a dibattiti in merito alla legittimità dell’ingiunzione stessa (sempre in tedesco). Non essendo io un esperto di diritto, men che meno tedesco, lascerò ad altri il compito di valutare il tipo di impatto che potrà avere questa ingiunzione.

martedì 8 maggio 2012

La condivisione anonima di dati con Freenet


Dopo diversi articoli sulla navigazione anonima con Tor, tornerò oggi a parlare di anonimato in Rete, ma in una prospettiva differente: non la navigazione tra siti (in chiaro o nascosti), ma la diretta condivisione di dati. Parlerò quindi di Freenet.
Freenet è un sistema per pubblicare e condividere dati in Rete ed è costituito da due parti: il database vero e proprio, suddiviso tra tutti i computer connessi alla sua rete, e gli strumenti per navigare il database e comunicare coi vari computer connessi. Se state pensando a una rete P2P, simile a quelle che si possono ottenere con eMule o i torrent, allora pensate bene: Freenet funziona più o meno così, ma con alcune differenze.
Come è spiegato nella sua documentazione, Freenet può essere immaginato come un enorme magazzino, distribuito su tutti i computer che appartengono alla sua rete. Quando noi inseriamo un file in questo magazzino, ne riceviamo in cambio una chiave (simile ai link che ci sono restituiti da siti di condivisione, quali MediaFire e il defunto Megaupload), mentre il file è collocato in uno o più computer presenti in rete. Ognuno di questi computer è detto “nodo”, perché costituisce un nodo della grande maglia formata da Freenet. Per recuperare il file, dovremo consegnare a Freenet la chiave e in cambio riceveremo il file corrispondente, scaricandolo dai vari nodi su cui è stato immagazzinato “a tranci”. E fin qui, cambia poco rispetto a una qualsiasi rete P2P.
Per entrare a fare parte di questa rete, dobbiamo installare Freenet sul nostro computer e diventare così un nodo della rete. Con l’installazione, cederemo una frazione del nostro disco fisso a Freenet, che la utilizzerà per immagazzinare i files condivisi da noi e da altri membri della rete, in una cartella “store” creata sul nostro computer; di conseguenza, anche una parte della nostra banda di connessione sarà utilizzata da Freenet, per mantenere la propria rete e gestire gli scambi di files. Il che, di nuovo, è identico a quanto accade con Emule e altri programmi di condivisione: scarichiamo files dai computer altrui e altri utenti scaricano files dal nostro computer. È l’essenza del peer-to-peer, dopotutto.
Una prima differenza di Freenet, rispetto ad altre reti di condivisione, è che noi non abbiamo alcun controllo sui files immagazzinati nel nostro computer. Non sappiamo neppure cosa sia stato immagazzinato sul nostro computer. Tutti i files inseriti in Freenet, infatti, sono prima di tutto frammentati in pezzi più piccoli, per agevolare lo scambio, e poi crittografati: soltanto l’utente con la chiave corrispondente sa quale file stia scaricando, mentre tutto il resto della Rete non ne saprà nulla. Ogni nodo, quindi, conterrà soltanto un cumulo più o meno grande di frammenti anonimi di files, crittografati e indistinguibili: in questo modo, nessuno può sapere quali files si trovino nel proprio computer e nessuno può formalmente essere ritenuto responsabile di ciò che è condiviso attraverso il suo nodo (almeno davanti al tribunale della propria coscienza).
Proprio perché nessuno sa dove si trovi esattamente un determinato file e in quante copie sia presente, non ci sono facili sistemi per rimuovere un file: ciò lo rende resistente alle censure ed è proprio uno degli obiettivi perseguiti dal creatore di Freenet. I files sono conservati in base alla loro popolarità, ossia alla frequenza con cui sono cercati e scaricati: un file popolare continuerà a rimanere attivo e disponibile in molte copie, mentre un file che non interessa più a nessuno, pian piano, diventerà sempre più raro fino a scomparire per “selezione naturale” dalla rete. Se si vuole eliminare un file, dunque, l’unico sistema è sperare che a nessuno interessi più.
Un’altra strategia utilizzata da Freenet per resistere alle censure è quella di essere strutturato come rete decentralizzata e composta da innumerevoli sottoreti più piccole. Ogni nodo conosce soltanto una ristretta cerchia di nodi a esso adiacenti e soltanto con loro si può collegare; questi nodi, a loro volta, conoscono soltanto una ristretta cerchia di altri nodi e si possono collegare soltanto con loro; e così via, fino a coprire l’intera rete. È superfluo specificare che ogni nodo è anonimo. Tutti i nodi, inoltre, hanno lo stesso valore: non esiste distinzione tra client e server, cioè fra un nodo che funge da deposito (server) e un altro che si collega per attingere (client), come avviene in altre reti. Tutti i nodi sono sia server che client; un nodo molto potente, ossia un nodo che cede molta banda di connessione e un grande spazio di deposito sul proprio disco fisso, può talvolta assumere un ruolo da server, ma ciò è dato solo dal maggiore contributo che riesce a dare alla rete.
La struttura composita della rete Freenet ne rende possibile due diversi utilizzi: come Darknet e come Opennet. Il Darknet è una sottorete composta soltanto da nodi in cui avete fiducia e che conoscete, creata manualmente da un utente, mentre l’Opennet è una sottorete composta da nodi qualsiasi e sconosciuti. In pratica, collegandoti in modalità darknet, tu puoi selezionare i tuoi vicini e collegarti solo a utenti che conosci e in cui hai fiducia, ottenendo il massimo livello di sicurezza; collegandoti in modalità opennet, invece, i tuoi vicini sono scelti “a caso”.
All’interno di Freenet, proprio come all'interno della rete Tor, è possibile anche creare veri e propri siti, denominati “freesites”, che funzionano come interfaccia per i dati accumulati nella rete. Per accedervi, può bastare anche un normale browser, purché si sia connessi a Freenet, e un freesite può contenere grossomodo tutto ciò che può trovarsi in un semplice sito web. Il tutto, ovviamente, senza l’uso di un server, come invece avviene per i siti normali. Sotto questo aspetto, un freesite funziona in modo simile a un sito creato con Osiris, in quanto esiste appoggiandosi alla rete P2P e non a una struttura centrale, come invece lo è un server tradizionale.
Ricapitolando, Freenet è una rete per la condivisione peer-to-peer decentralizzata e anonima, formata riunendo una porzione del disco fisso e della banda di connessione di tutti i computer che ne fanno parte. I suoi contenuti sono distribuiti in più copie tra i vari computer, crittografati e anonimi, e possono essere recuperati e scaricati attraverso una apposita chiave, che contraddistingue ogni file. Chiunque può caricare e condividere tutto ciò che gli pare, senza controlli e senza censure: a decidere la sopravvivenza dei contenuti è una sorta di “selezione darwiniana”, che fa sopravvivere e proliferare i contenuti più popolari e lascia pian piano cadere i contenuti che non interessano più.
Libertà di parola e anonimato sono alla base della filosofia di Freenet e dei suoi sviluppatori. Ogni utente ha il diritto di caricare e condividere tutto ciò che vuole, bello o brutto che sia, piacevole o spiacevole che sia, e lo può fare anonimamente. Se state pensando che può essere un ottimo strumento per pedofili, satanisti, terroristi, criminali e qualsiasi altro tipo di babau sociale, avete ragione: può essere utilizzato comodamente anche per diffondere materiali più o meno illegali, immorali e così via. Dopotutto, la libertà di parola è anche libertà di dire che a noi non piacciono, che offendono la nostra morale o che violano la legge: se poniamo limiti a ciò che si può e non si può dire, ricadiamo nella censura, perché ogni limite può essere stiracchiato fino a includere ogni cosa scomoda per noi. O almeno, questa è la filosofia di Freenet: se non la condividere, forse non è lo strumento che fa per voi. Siete avvisati.
Chiudendo con dettagli più tecnici e pratici, Freenet è sviluppato in Java, il che lo rende multipiattaforma: qualunque sia il vostro sistema operativo, finché avete installata una Java Virtual Machine, Freenet potrà funzionare. Nelle versioni precedenti era supportata soltanto la Java Virtual Machine fornita dalla versione ufficiale di Java, ossia la versione Sun Microsystem e poi Oracle, mentre dagli ultimi aggiornamenti è stata introdotta la possibilità di usarlo anche con l'OpenJDK, se preferite. In ogni caso, per usare Freenet dovete aver installato una qualche versione di Java.
Le prime volte che userete Freenet, sarà veloce come un regionale di Trenitalia quando nevica. Col passare dei giorni, poi, diventerà sempre più veloce, man mano che la sua rete personale si forme e il vostro disco fisso entra a far parte dell’ecosistema di Freenet, fino a raggiungere una velocità decente. Resterà sempre più lento di una connessione normale, ma questo vale per qualsiasi sistema analogo, da Tor ai VPN, data la loro natura “indiretta”.
In aggiunta al set di strumenti forniti al momento dell’installazione di Freenet, esistono poi svariati altri “optional” che possono essere aggiunti, per potenziarne o migliorarne l’utilizzo. Il set di base si occupa di connettersi alla rete e fungere da proxy, gestendo il traffico in entrata e in uscita, mentre altri componenti, installabili a parte (se si vuole), aggiungono funzionalità di chat, message board, creazione e gestione di freesites, eccetera. 

venerdì 17 febbraio 2012

Burnbit e i file torrent

Molti di voi probabilmente conosceranno già BitTorrent e i file torrent. O almeno, mi auguro che molti di voi li conoscano già.
BitTorrent è una tecnologia per la distribuzione di contenuti in P2P, ossia un sistema per condividere files attraverso la rete del P2P (tipo eMule, per intenderci). I torrent sono piccoli files, caratterizzati dall’estensione .torrent, che contengono informazioni relative al file da condividere. Senza addentrarci nei dettagli tecnici su come funzioni il sistema, possiamo dire che la condivisione di un file consiste nello scaricare prima di tutto il torrent corrispondente al file che ci interessa e poi aprirlo con un programma come uTorrent: questo programma leggerà i dati contenuti nel torrent, si collegherà alla Rete per cercare copie del file che vogliamo scaricare e poi comincerà a scaricarlo, prelevandone un pezzo da ogni fonte. Come risultato, potremo scaricare il file da più punti, il che può assicurare una maggiore velocità di download, oltre a una maggiore stabilità.
Un torrent è utilizzato spesso come alternativa al download diretto, soprattutto per files di grandi dimensioni. Un download diretto consiste nello scaricare un file direttamente dal server s cui si trova: se sono in molti a voler scaricare quel file nello stesso periodo, è facile che si verifichino rallentamenti o altri problemi dovuti al traffico. Utilizzando un torrent, invece, solo una parte del file sarà scaricata direttamente dal server, mentre il resto pro verrà da chi ha già scaricato quel file e adesso lo condivide, con un notevole risparmio del server e una velocità maggiore di scaricamento.
Burnbit è un sito che si propone di facilitare questo procedimento.


Siccome soltanto alcuni siti ci offrono la possibilità di scaricare tramite torrent, come alternativa al download diretto, Burnbit si propone come mezzo per risolvere questo problema, permettendoci di creare una versione torrent per qualsiasi file scaricabile via HTTP. In teoria. In pratica non ci si riesce proprio con tutti i file, ma il sito è ancora allo stadio sperimentale, per cui è possibile che in futuro il servizio migliori e funzioni davvero per qualsiasi file.
A ogni modo, se abbiamo bisogno di scaricare un file particolarmente pesante e il download diretto non ci dà affidamento, oppure non è la soluzione ottimale per noi, possiamo utilizzare Burnbit per crearne una versione torrent e poi scaricare quella. Il procedimento è comunque piuttosto semplice e permette anche di controllare se il file che ci interessa esiste già in formato torrent, per evitare doppioni e soprattutto lavoro superfluo. In fondo, è proprio il motto del sito: “se un file esiste, c’è la sua versione torrent. Altrimenti, la produrremo noi.”
Se vogliamo inserire un file, dunque, la prima cosa da fare è cercare se esiste già. basta inserire il nome del file nel riquadro di ricerca e vedere cosa ne esce. Se otteniamo il risultato che ci interessa, allora basta scaricare il suo torrent e aprirlo con uTorrent o qualsiasi altro programma stiamo utilizzando per i file torrent. Se il file non esiste ancora, allora lo creeremo noi.
La prima cosa da fare è copiare il link per il download diretto del file, che nella maggior parte dei casi possiamo ottenere con un semplice “tasto destro del mouse + copia link” nel sito distributore del file che ci interessa. Dopo aver incollato il link, clicchiamo il pulsante “Burn” e aspettiamo. Il tempo di attesa è variabile e dipende da molti fattori: può bastare un minuto come può volerci un quarto d’ora, insomma. Alla fine, Burnbit avrà prodotto il torrent corrispondente al nostro file. A questo punto, basterà cliccare su “Download torrent”, scaricare il file torrent, aprirlo col programma che utilizziamo e poi goderci lo scaricamento.

Tutto questo a cosa serve?
Per chi distribuisce un file, creare un torrent e appoggiarsi alla rete P2P per distribuire i propri files è un ottimo sistema per alleggerire il traffico sul proprio server. Lo scaricamento di un file, infatti, avverrà solo in parte dal sito che lo ospita, mentre il resto sarà fornito dagli altri utenti che condividono il torrent.
Per chi scarica, invece, dovrebbe essere possibile ottenere una velocità maggiore di download, proprio perché il traffico si diluisce ed è possibile scaricare il file da più punti contemporaneamente. In ogni caso, la velocità minima non sarà mai inferiore a quella di un download diretto, per cui vale sempre la pena di fare un tentativo: se troveremo altri utenti che stanno condividendo quel file, la velocità a cui lo riceveremo aumenterà; se non li troveremo, lo scaricheremo comunque dal server principale, per cui ci arriverà alla stessa velocità di un download diretto.
Naturalmente, in un periodo di caccia alle streghe come il nostro, rimane sempre la domanda: tutto ciò è legale? E la risposta è molto semplice: sì, il torrent è legale. La tecnica di condivisione tramite torrent è legale; semmai, può essere illegale il contenuto che stiamo condividendo. Se siamo legittimi proprietari di qualcosa, nulla ci vieta di condividerlo con altri; se cerchiamo di condividere qualcosa che non ci appartiene legittimamente (il concetto di “legittimo” è parecchio aleatorio e discutibile, ma non è questa la sede adatta per farlo...), invece, è un altro paio di maniche.
Proprio per questo Burnbit vieta esplicitamente l’inserimento di file coperti da copyright, ma anche di file pornografici, e si impegna a rimuovere questi contenuti anche su richiesta dei detentori del copyright. Questo almeno come dichiarazione di intenti, poi si vedrà.

venerdì 7 ottobre 2011

Aggirare la censura con Osiris e Isis

In un periodo in cui, tra leggi bavaglio e minacce di carcere, il governo del nostro paese sembra prendere sempre più una piega autoritaria e repressiva (alla faccia delle “libertà” che ha nel nome), è forse utile tornare a parlare di Osiris, che proprio alla fine di settembre ha visto il rilascio della sua ultima versione, la 0.14, compatibile anche coi sistemi Macintosh, oltre ai “vecchi” Windows e Linux, supportati anche dalle precedenti versioni.

Che cos’è Osiris? Una descrizione di Osiris e una breve guida alla sua installazione sono state argomento di due miei articoli precedenti, per cui oggi mi limiterò a un rapido riassunto. Osiris è un sistema per creare e condividere siti senza usare un server. Il che forse non vi dirà molto, per cui vediamo di precisare.
Ogni sito è ospitato su un server, che possiamo immaginare come una specie di computer-deposito, nella cui memoria si trova il sito. Quando accediamo a un sito, di fatto il nostro computer si sta collegando al server su cui il sito si trova e le pagine che vogliamo visitare sono copiate all’interno del nostro browser (ossia il programma con cui navighiamo in Rete). I siti più grandi dispongono di più server, per gestire il traffico, ma il concetto di base è lo stesso ed è che ogni sito si trova su un server. Per bloccare un sito, si blocca l’accesso al server su cui il sito si trova: a volte solo per gli utenti di una certa zona geografica, a volte per tutti gli utenti
Tutto ciò, detto in modo molto sommario, vale per i siti tradizionali. Osiris è un programma nato per aggirare questo sistema, proponendo la creazione di siti che non richiedono un server, ma che si trasmettono direttamente da un computer all'altro. Un concetto simile a quello di eMule e del P2P in generale, insomma: i siti non si trovano su server distanti e fuori dal controllo diretto degli utenti e degli amministratori di un sito, ma sono sui computer stessi di chi condivide il sito. Chi si collega al sito ne scaricherà una copia sul proprio computer, esattamente come scaricherebbe un MP3 o un video con eMule.
Quali sono i vantaggi? Senza un server fisso, su cui si trova il sito, diventa parecchio difficile poter censurare un sito o farlo sparire dalla circolazione, proprio come è parecchio difficile eliminare tutte le copie di un MP3, una volta che abbiamo cominciato a condividerlo su eMule (o Torrent, o il sistema che preferite). Ogni volta che un utente si collegherà a un sito creato con Osiris, si produrrà una nuova copia (totale o parziale) del sito, aumentandone così le aspettative di vita. Esistono poi molti altri vantaggi offerti da Osiris, come un maggiore controllo sulla propria riservatezza, o una struttura “anarchica” priva di un controllo centrale, eccetera eccetera, ma i dettagli li potrete trovare (in italiano) sul sito stesso di Osiris: Osiris è un progetto italiano, per cui tutta la documentazione è disponibile in italiano, oltre che in inglese.
Se non avete voglia di leggere, potete guardarvi anche i video tutorial, presenti sul canale di YouTube:

Come si può dunque aggirare la censura con Osiris? Beh, più o meno nello stesso modo in cui si usa il P2P. Se vogliamo pubblicare qualcosa che, temiamo, potrebbe darci problemi legali, oppure se vogliamo condividere notizie e informazioni che, se pubblicate su un sito normale, avrebbero alte probabilità di finire rimosse od oscurate, allora potrebbe essere utile creare un nostro portale con Osiris (sì, i siti creati con Osiris si chiamano “portali”) e servircene per condividere ciò che vogliamo. La condivisione del sito e dei suoi contenuti avverrà quindi da computer e computer, in forma diretta, e senza passare attraverso la Rete tradizionale.

Isis

Per visitare un portale creato con Osiris, e interagire coi suoi contenuti, è normalmente necessario aver installato Osiris sul nostro computer. Se per qualsiasi ragione, però, non vogliamo o non possiamo installarlo, allora esiste un sistema alternativo, che permette di “agganciare” un portale di Osiris alla Rete tradizionale: si tratta di Isis.
Isis è un programma gratuito che funziona come una sorta di proxy. Senza dilungarmi su dettagli tecnici, che potrete comunque trovare sulla sezione apposito del loro siti, diciamo che Isis è un ponte, che collega i portali creati con Osiris alla Rete tradizionale, gestendo gli accessi e dando la possibilità di indicizzare i contenuti del portale sui motori di ricerca. Normalmente, infatti, un portale creato con Osiris non comparirebbe sui motori di ricerca come Google, proprio perché è staccato dalla Rete tradizionale: Isis permette di effettuare questo collegamento. Il sito in sé continuerà a possedere tutte le sue caratteristiche, ma in più avrà un oblò che si affaccia sui motori di ricerca.
Con Isis, è dunque possibile accedere a un portale di Osiris anche senza aver installato Osiris, ma la modalità di accesso sarà di semplice visione: potremo accedere come spettatori e osservatori, per leggere i contenuti, ma non li potremo modificare. Per questo motivo, se possibile, è sempre meglio utilizzare Osiris; Isis, però, resta fondamentale per mostrare i contenuti del sito anche agli “altri”, cioè alla maggioranza della popolazione di internet (se vogliamo che siano visibili anche agli altri, ovvio). Il sito stesso del progetto Osiris è un portale creato con Osiris, che si collega alla Rete attraverso Isis e, di fatto, si comporta come un sito normale. Maggiori dettagli li troverete sul loro sito, come già detto, incluse le guide alla installazione.

venerdì 25 febbraio 2011

Come installare e usare Osiris

Nell'articolo precedente, abbiamo presentato Osiris, il programma gratuito per creare e condividere siti internet in forma anonima, libera e attraverso la rete peer-to-peer, invece che attraverso un server fisso; ne abbiamo anche descritto le principali caratteristiche. Oggi, per completare il discorso, vedremo come installare e usare Osiris in concreto.
Il primo passaggio è il più semplice: scaricarlo. Dal sito ufficiale, potete scaricarlo al momento in una versione per Windows e una per Linux; o meglio, in tre versioni per Windows e due per Linux. Osiris esiste infatti sia in versione installabile sul computer, sia in versione "portatile"; in più, c'è anche una estensione per Firefox. Noi ci concentreremo sulla versione da installare.
Scarichiamo dunque Osiris, installiamo il programma (e fin qui basta seguire le indicazioni, non c'è nulla di particolare da dire: normale processo di installazione di un programma) e avviamolo per la prima volta. Ci comparirà adesso una finestra con il wizard per configurarlo.
Osiris wizard
Cliccando su "Avanti", la finestra successiva ci chiederà di scegliere quale lingua usare per Osiris: suppongo che sceglierete l'italiano, visto che è presente tra le possibilità... ed è ovvio, essendo un programma sviluppato da italiani. Possiamo anche scegliere se eseguirlo in automatico all'avvio del computer. Per non rallentare l'avvio del computer, suggerisco di non eseguirlo in automatico: basterà cliccare poi sull'icona del programma per caricarlo.
Arriviamo così a un'altra finestra che potrebbe spaventare qualcuno:
Osiris wizard
In questa finestra, possiamo scegliere le porte da abbinare a Osiris ed eventualmente l'attivazione del servizio di UPnP (Universal Plug and Play). Se siamo in difficoltà, lasciamo le impostazioni così come sono e limitiamoci a testare le porte, per verificare che funzionino, cliccando sul tasto che troviamo accanto alle voci corrispondenti. Con lo UPnP attivato, dovrebbero funzionare.
Ultimo passaggio, la configurazione di un eventuale proxy, se lo usiamo:
Osiris wizard
Se non usiamo un proxy, e se non intendiamo usare un proxy per connetterci con Osiris, allora lasciamo tutto così com'è e passiamo oltre. Se invece usiamo un proxy, dovremo selezionare prima di tutto il tipo di proxy, cliccando sulla freccia in basso nella zona dove, in questa immagine, compare la parola "Nessuno". Poi, dovremo inserire l'indirizzo IP del proxy alla voce "Indirizzo", la porta a cui si connette alla voce "Porta", più l'eventuale nome utente e password, se si tratta di un proxy protetto da password. Tutte informazioni che dovrebbero essere in vostro possesso, se usate quel proxy.
Con questo, abbiamo concluso l'installazione e la configurazione di Osiris.

Come usarlo

Dopo averlo configurato a dovere, si aprirà la finestra principale del programma:
Osiris interfaccia
In alto a destra, troviamo alcuni pulsanti. Quello più grande, con la freccia che punta verso il logo di Osiris, serve ad aprire l'interfaccia web del programma. Dei tre pulsanti sotto, i primi due servono ad attivare o disattivare lo scambio di informazioni attraverso Osiris, mentre il terzo (quello con la chiave inglese) serve a modificare le impostazioni di Osiris e ci riporta alle finestre che abbiamo visto in precedenza.
Cliccando sul pulsante in alto a destra, con la freccia che punta verso il logo di Osiris, apriremo l'interfaccia web di Osiris.
Osiris interfaccia
Cliccando su "Crea un portale", possiamo creare un sito internet privo di server.
Cliccando su "Iscriviti a un portale", possiamo entrare a far parte di un sito già esistente e condividerlo, oltre a contribuire ai contenuti del sito. Per farlo, però, abbiamo bisogno di un link di invito : se siamo iscritti a qualche portale, ci apparirà nella pagina di ingresso e basterà cliccare il link corrispondente per entrare. Per cercare link di invito, potete controllare il forum di Osiris, sul sito ufficiale.
Osiris è un sistema che funziona attraverso al condivisione di contenuti: più utenti condividono un sito (o portale, come sono chiamati qui), più il sito sarà stabile e attivo. Se volete quindi aprire un sito con Osiris, vi consiglio prima di tutto di trovare altri utenti che vi supporteranno: creare un sito per se stessi, sconosciuto a tutti, non è proprio in linea con la filosofia di base di Osiris.
Se deciderete di aprire un nuovo portale, ecco la pagina che vi troverete davanti:
Osiris portale
Vi spaventa? Nessun problema! Osiris vi mette a disposizione un video tutorial, ossia una guida che vi spiegherà come fare per creare un portale. La trovate qui: Video Tutorial.

mercoledì 23 febbraio 2011

Osiris, per creare siti peer-to-peer

I normali siti internet, così come i forum, i blog e quant'altro, si basano su un sistema centralizzato: quando si vuole aprire uno spazio internet, bisogna appoggiarsi a un gestore, che ci metta a disposizione il luogo in cui collocare il nostro sito, spesso a pagamento. Dovremo registrarlo e il sito sarà intestato a noi: chiunque potrà così sapere chi abbia aperto un sito e chi lo stia gestendo. Il sito, inoltre, sarà ospitato su un server centrale (o più di uno, a seconda delle dimensioni del sito), che funzionerà da "motore" e si occuperà di gestire il traffico degli utenti sul sito.
Osiris nasce per rivoluzionare questa concezione. Seguendo la filosofia del P2P (il peer-to-peer, ossia la condivisione libera di contenuti - la stessa che ha dato origine a eMule, per intenderci), Osiris è un programma gratuito, e prossimamente anche open source e multipiattaforma, il cui obbiettivo è di permettere a chiunque di creare e mantenere un sito internet "peer-to-peer", ossia senza ricorrere a un server centrale, senza pagare l'affitto a un gestore, senza bisogno di registrarsi ed essere schedati come proprietari del sito.
Osiris logo
Sito ufficiale (in italiano e in inglese):

Come funziona?

Per i dettagli tecnici e per tutte le caratteristiche, vi rimando al sito ufficiale, che potete consultare in italiano e che vi spiegherà, in modo abbastanza chiaro, cosa sia possibile ottenere con Osiris e come funzionino i siti creati con Osiris.
La differenza principale, rispetto a un sito internet normale, è che un sito creato con Osiris si trova fisicamente nel computer di chi lo visita e lo utilizza: non è da qualche parte nella Rete, mail suo contenuto è ospitato per intero nel computer dei suoi utenti. Proprio come succede coi files scambiati attraverso eMule, il sito viene condiviso tra gli utenti che sono connessi e registrati al sito. Ognuno ha la sua copia e ognuno può modificarla, liberamente, per poi condividerla con gli altri.
Non esiste infatti un amministratore centrale, per i siti creati con Osiris. O meglio, è possibile anche creare siti normali, con un'amministrazione centrale, ma la filosofia di Osiris è orientata verso l'anarchia: gli utenti di un sito si autoregolano a propria scelta e il sito stesso è, a tutti gli effetti, un sito autogestito dalla collettività che ne fa parte. Non c'è censura dei contenuti, è la comunità nel suo insieme che decide cosa inserire e cosa non inserire.
Oltre che anarchico, Osiris è anche anonimo. Non è infatti possibile risalire all'identità di chi ha aperto il sito e di chi compone la sua comunità, grazie al sistema in cui il sito stesso è progettato. In questo, non è molto diverso dalla rete Tor: ogni utente di Osiris costituisce un nodo, o anche più nodi, e l'uso di chiavi digitali di crittografia, assieme all'impossibilità di associare un nodo al suo indirizzo IP, rendono inattuabile l'identificazione degli utenti.
Come è ovvio, Osiris funziona meglio quando è distribuito tra molti utenti: più i nodi sono numerosi, più i contenuti sono distribuiti e minore è il traffico per ogni nodo. Lo abbiamo già visto anche parlando di Tor ed è ancora più vero nel caso di Osiris, in quanto si tratta di condividere interi siti. Allo stesso modo, un alto numero di partecipanti contribuisce a migliorarne la sicurezza, sempre per il principio della distribuzione dei contenuti.

A cosa serve?

Come per Tor, un uso tipico di Osiris è per sfuggire alla censura. Non esistendo un server centrale su cui si trova il sito, non è possibile chiudere o bloccare l'accesso a un sito basato su Osiris, proprio perché si trova su tutti i computer degli utenti che lo condividono. L'unico sistema sarebbe quello di rintracciare ogni utente e sequestrare il suo stesso computer, ma di nuovo questo è ostacolato dalla struttura di Osiris, che impedisce di collegare un utente (ossia un nodo) al suo indirizzo IP. Se gli utenti di un sito sono 100, allora esisteranno 100 copie di quel sito su altrettanti computer, da cercare e distruggere a uno a uno; se gli utenti sono 1000, le copie saranno altrettante. più la comunità di Osiris è grande, più diventa inarrestabile. Lo stesso principio su cui si basa il P2P di eMule, insomma: più copie esistono di uno stesso file e più sarà folle un tentativo di farle sparire tutte.
Con Osiris è possibile creare qualsiasi tipo di sito internet, forum, galleria di immagini e quant'altro. E ogni cosa sarà condivisa liberamente tra tutti gli utenti che ne fanno parte, tutti potranno contribuire allo stesso modo. Per ogni altro dettaglio, poi, vi rimando al sito ufficiale, nonché alla pagina di Wikipedia, dove potrete leggere a una a una le caratteristiche di Osiris.