GeTThings: a P2P application

Realizzato da:


GeTThings è un client server distribuito per la condivisione di file.
Le caratterisitiche di questo nuovo software sono simili a quelle dei famosissimi e ricchissimi software peer-to-peer che realizzano già file sharing sulla rete. Esistono però delle differenze:
  1. GeTThings non è propriamente peer-to-peer in quanto i file condivisi non risiedono sulla memoria di massa del client che intende metterli a disposizione degli utenti, ma sono copiati sui server su cui gira GeTThings. Questo implica che un utente che voglia condividere pippo.txt debba farne esplicita richiesta al server
  2. GeTThings mette a disposizione dell'utenza la condivisione di file criptati. La crittazione avviene mediante l'algoritmo 3DES uno dei più sicuri ed efficienti algoritmi di crittazione a chiave simmetrica. Le chiavi inserite all'atto della richiesta di condivisione non viaggiano sulla rete con maggiore sicurezza per i dati condivisi. L'uso del 3DES porta con sè chiaramente tutti gli svantaggi di un sistema di crittazione a chiave simmetrica
  3. GeTThings è realizzato in Perl per sistemi Linux. L'uso del Perl implica la necessità per chi voglia usare il client e per chi voglia mettere a disposizione un server di avere installato un interprete Perl sulla propria macchina.
  4. L'interfaccia grafica è realizzata mediante Tcl/Tk ed in particolare mediante l'uso di un modulo per il Perl Perl/Tk Anche qui è quindi richiesto per il client l'installazione di tale modulo per godere al meglio nell'uso di GeTThings (per maggiori informazioni sul modulo Perl/Tk vedere il sito ufficiale del Perl nella sezione CPAN). Per chi non volesse perdere tempo e pazienza con download e installazioni varie è diponibile anche una semplice, veloce ed efficiente versione testo del client
A consolazione dei più pigri diciamo che dalla versione 7.0, in poi l'installazione della SuSe provvede di default ad installare i moduli richiesti per far girare l'interfaccia grafica GeTThings. A sfavore dei più pigri diciamo invece che si rende necessaria l'installazione del modulo Crypt::DES (fornito con GeTThings) per poter utilizzare la condivisione criptata (in questo caso bisogna cambiare però la linea BEGIN del client). La versione fornita ha una linea simile alla seguente:

BEGIN { push @INC, qw(/export/home/users/reti/gencor/perl5/DES/lib/site_perl/5.005/i586-linux /export/home/users/reti/gencor/perl5/DES/lib/site_perl/5.005/i586-linux/auto/) }

Chi ha un pò di dimistecchezza con il Perl sa che il tutto va necessariamente sulla stessa linea. Nel caso in cui non ci sia bisogno di Crypt::DES basta commentare la linea riportata e la linea seguente:

use Crypt::DES;

L'ingresso di un nuovo utente è sottoposto ad una veloce e semplice registrazione. Una volta regitrato l'utente può: Una delle caratteristiche migliori di GeTThings è la consistenza delle operazioni effettuate anche in presenza di continue cadute e risalite dei server. L'unica eccezione è per l'operazione di registrazione di un nuovo utente la cui funzionalità è sottoposta all'assunzione che la rete dei server non venga spezzata in due sottoreti da una eventuale caduta. Un ultimo aspetto merita di essere sottolineato; come detto i file condivisi risiedono sui server. Questo può portare ad avere server con molti file e altri con pochi, con un notevole aggravio di richieste per i server più carichi. Per questo motivo viene effettuato periodicamente il bilanciamento del carico tra i server. Aggiungiamo infine che nella prossima versione saranno disponibili numerose funzionalità aggiuntive a partire dall'utile Resume per i file il cui download è stato interrotto.

Per approfondire la conoscenza di GeTThings è disponibile un'utile presentazione realizzata con il presenter di StarOffice con le specifiche tecniche di questo nuovo software.

Puoi scaricare il codice sorgente cliccando qui. Puoi anche fare il download della sola documentazione (in formato ssd). Torna alla mia home cliccando qui.


Realizzato da DVL group il 14 marzo 2001