Freenet - Università degli Studi di Parma

Transcript

Freenet - Università degli Studi di Parma
Università Degli Studi Di Parma.
Corso di Laurea Ing. Informatica.
Insegnamento: Reti di Calcolatori A
Autori : Salvatore Pellitteri, Marco Gigliarano.
●
Freenet
● Che cos'è Freenet.
● Come Funziona.
● Le Chiavi.
● Utility; Alcune applicazioni particolari.
● Come Installare un nodo Freenet.
● Implementare un client per Freenet.
● FCPlib
●
Frost
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
Che cos'è Frost?
Sharing.
Boards.
Interfaccia.
Preferences.
Configurare le Boards.
Leggere i messaggi.
Messaggi con Allegati.
Scrivere Messaggi.
Allegare Files.
Nuovo Messaggio.
PGP.
Ricerche.
Alcune FAQ.
Link Utili
Freenet
Che cos'è Freenet?
Freenet è una rete di nodi peer­to­peer che permette di pubblicare ed ottenere informazioni su internet senza timori di censura. Per ottenere questo livello di 'libertà' la rete è completamente decentralizzata, criptata e i publishers e consumers delle informazioni possono rimanere anonimi.
La comunicazione tra i nodi di Freenet è criptata e deve attraversare diversi altri nodi prima di arrivare a destinazione, tutto questo per rendere estremamente difficile tracciare le richieste degli utenti e il tipo di contenuto ricercato.
La rete Freenet offre diversi servizi di comunicazione come se fosse una Internet dentro Internet.
E' possibile, rimanendo nell'anonimato:
–
–
–
Publicare siti web, chiamati 'freesites'.
Comunicare tramite message boards.
Distribuire contenuti (file­sharing).
Freenet è utilizzata da milioni di persone e ha permesso di distribuire informazioni censurate, per esempio nei paesi dell'est e in China, devo vigono politiche ingiustamente restrittive.
Come funzina.
Il fine ultimo di un network Freenet è di immagazzinare documenti e di permettere che essi siano recuperati successivamente mediante l'uso di una chiave, in maniera molto simile a quello che è ora possibile con protocolli come l'HTTP. Un network viene definito come una serie di Nodi che si passano messaggi tramite collegamenti Peer­
to­Peer. Alcuni di questi nodi possono diventare punti di accesso per gli utenti finali della rete, nodi in cui sarà possibile richiedere documenti e ottenerli in una forma umanamente leggibile. Questi nodi però comunicano tra loro e con nodi intermedi nello stesso modo: non ci sono nodi client o nodi server dedicati nella rete Freenet.
Freenet è una rete a topologia complessa. Il FreenetNetworkProtocol (FNP) prevede che ogni nodo "conosce" solo alcuni altri nodi che può raggiungere direttamente (in un certo senso i suoi "vicini"), ma ogni nodo può essere il vicino di ogni altro; non esiste una gerarchia dei nodi o ogni altro tipo di struttura. Ogni messaggio viene fatto circolare in Freenet attraverso tutta la rete, passando di vicino in vicino fino a raggiungere la sua destinazione. Nel passare un messaggio al proprio vicino, un nodo non si preoccupa di sapere se il vicino sia un altro nodo intermedio che gira l'informazione a sua volta ad un altro nodo, o un nodo che presenterà il documento ad un utente finale. Tutto questo è intenzionale, ed è pensato per garantire l'anonimità sia del produttore dell'informazione che dell'utente che la cerca.
Ogni nodo conserva un una serie di documenti, associati a chiavi, in un data­store. Insieme ad ogni documento immagazzina anche l'indirizzo di un altro nodo da cui ha ricevuto il documento.
Per trovare un documento nella rete avendo la sua chiave, un utente manda un messaggio ad un nodo freenet richiedendo il documento e fornendo anche la chiave.
Il nodo a cui è stata passata la richiesta ripete il processo fino a che non viene trovata la chiave richiesta o fino a che gli hop compiuti sono in numero tale da indicare il fallimento della richiesta. Se un nodo viene visitato una seconda volta nel percorso di ricerca (e il nodo se ne accorge perché si ricorda di aver fatto circolare una richiesta per quella chiave una prima volta) allora il nodo interrompe il circolo vizioso, mandando un messaggio al nodo che gli ha fatto la seconda richiesta in cui gli comunica di passare la richiesta al successivo nodo con la chiave cercata.
Alla fine il documento viene trovato oppure viene superato il limite di hop e il nodo emette un risposta alla richiesta che viene fatta tornare fino all'utente originario lungo il percorso specificato dalla registrazione da parte dei nodi intermedi delle richieste in attesa di risposta. I nodi intermedi possono decidere di memorizzare anch'essi il documento per ottimizzare future richieste dello stesso.
Lo stesso processo avviene quando si cerca di inserire un documento nella rete, in genere il documento viene diviso in n blocchi ed ogni blocco viene immagazzinato in diversi nodi lungo il percorso.
I documenti più richiesti saranno anche i documenti più ridondanti, quindi l'efficienza della rete converge continuamente verso uno stato di 'esigenza collettiva'.
Non è possibile eliminare documenti dalla rete ne tanto meno da uno specifico nodo. E' il singolo nodo a decidere quando eliminare un blocco, magari perchè la cache è piena e il blocco non è richiesto da tanto tempo può essere scartato.
Il FreenetNetworkProtocol prevede solo 2 tipi di operazioni: Handshake e Richiesta dati(Insert e Request). Il set di messaggi associati a questi 2 tipi di operazioni è veramente ridotto:
HandshakeRequest e HandshakeReply.
Il messaggio HandshakeRequest dovrebbe essere mandato dopo la connessione.
Permette ai nodi di testare se un altro sia attivo o meno e se le versioni del protocollo
coincidano.
Un HandshakeReply viene spedito in risposta ad un HandshakeRequest.
DataRequest, InsertRequest, DataReply e DataInsert.
Questi messaggi devono contenere la SearchKey, una chiave espressa in esadecimale.
Quando un nodo riceve un messaggio DataRequest dovrebbe cercare all'interno del suo
data store un documento corrispondente a quella chiave. Se esiste replica con un
messaggio di DataReply contenente il documento. Se il documento non viene trovato si
dovrebbe inoltrare la richiesta ad un altro nodo.
InsertRequest e DataInsert permettono di immagazzinare uno o più blocchi
di documento nel grande data store di freenet.
Le Chiavi
Le chiavi vengono utilizzate per identificare i dati, per controllare l'integrità, e per criptare tutto quello che circola sulla rete. Con tecniche a chiave pubblica, n­utenti che possiedono le chiavi, possono condividere informazioni (boards, file­sharing, ecc.) mantenendo la riservatezza.
CHK (Content Hash Key)
Sono semplicemente un hash SHA1 di un documento e quindi un nodo può controllare
che il documento restituito sia quello giusto calcolando l'hash e confrondandolo con la
chiave. Una CHK è unica per definizione e prova l'integrità del contenuto dei file.
Un cancer node che sporca i dati sotto una CHK viene immediatamente scoperto dal
prossimo nodo o dal client. Le CHK riducono inoltre la ridondanza dei dati poiché agli
stessi dati corrisponderà una stessa CHK e la collisione sarà individuata all'inserimento.
Però è possibile controllare l'hash solo se si possiede l'intero documento. Questo è buono
per piccoli documenti, ma per i più grandi potrebbe essere un inutile spreco di banda
effettuare il download dell'intero documento solo per provare che non sia stato alterato.
CHK progressive vengono usate per controllare i blocchi di documento ad ogni passo,
dunque eventuali problemi possono essere scoperti nel momento in cui si incontra il
blocco di dati errato.
SVKs, SSKs e KSKs
SVKs (Signature Verification Keys), SSKs (SVK Subspace Keys) e KSKs (Keyword
Signed Keys) sono tutte basate sulla crittografia a chiave pubblica utilizzando il DSA.
Una KSK si differenzia dalla SVK per il fatto che la coppia di chiavi viene generata a partire da una stringa.
Le SSK sono semplicemente la rappresentazione client­side di una SVK più il nome del
documento.
Esempio di SSK public key per accedere in lettura ad una board protetta:
SSK@AJrJHZd~­nwATC3YKiD7bzK­TIdZ
Esempio di Firma:
bananajoh@079K6Qh_Lh7yCC6bAaM4zjunQgg
Esempio di key che identifica un file:
CHK@FhRradpxqEft9wIGusBpYdbwe­
cOAwI,cHZRQzxJ8t9ihaGCCvYYUg/Beet
hovenPianoSonatas30_31_32_Gould.tar.bz2
Utility:
http://freeweb.sourceforge.net/ ­ Permette di creare e mantenere freesites in modo molto semplice.
http://jtcfrost.sourceforge.net/ ­ Frost è un client di file­sharing e Boarder per Freenet.
Alcune applicazioni particolari:
http://sourceforge.net/projects/freenetmta – Mail Transfer Agent che archivia le e­mail in freenet per poi permettere al destinatario di scaricarle. Il messaggio viene criptato con la chiave pubblica dell destinatario, quindi solo il destinatario potrà decriptare e leggere tale messaggio. http://www.storrow.org/code.php ­ FreeNews e un server NNTP, in fase di sperimentazione, che usa Freenet come data store. E utilizzabile con i client NNTP più comuni come Outlook o Tin.
Come Installare un Nodo Freenet sulla propria macchina (Unix/Linux).
Prerequisiti: Il software in questione è stato scritto in Java quindi è necessario un Java Runtime
Environment installato e funzionante.
1) Scaricare dal sito http://freenetproject.org/ l'ultima release dell'implementazione standard (forse l'unica) di nodo Freenet. Nella sezione download sono disponibili anche le versioni per i sistemi Windows. Il link consigliato è http://freenetproject.org/snapshots/freenet­latest.tgz
2) Una volta completato il dowload scompattare l'archivio, fare upgrade e avviare il nodo: $ tar xfz freenet­latest.tgz
$ cd freenet
$ sh preconfig.sh
$ sh update.sh
$ sh start­freenet.sh
3) Dopo alcuni secondi è possibile accedere all'interfaccia web del nodo con il proprio browser all'indirizzo http://127.0.0.1:8888/.
4) Per permettere ai nodi 'vicini' di comunicare con il nostro nodo una certa porta TCP deve essere accessibile dall'esterno. E' quindi necessario configurare eventuali Firewall o Router della vostra rete per permettere l'accesso esterno alla porta specificata nel file freenet.conf con la direttiva 'listenPort'.
Dall'interfaccia web è possibile monitorare tutti i parametri del nodo, le connessioni ai nodi 'vicini', l'utilizzo della banda, accedere a freesites, ecc.
Per esempio se si vuole raggiungere il freesite The Freedom Engine, uno dei tanti index site: http://127.0.0.1:8888/SSK@rBjVda8pC­Kq04jUurIAb8IzAGcPAgM/TFE//
Implementare un Client per Freenet
Per la comunicazione tra client e nodo freenet si utilizza il protocollo FreenetClientProtocol (FCP).
Questo protocollo è stato studiato per nascondere le complessità del FreenetNetworkProtocol (FNP) e facilitare l'implementazione di clients.
FCP per questo non utilizza canali cryptati e non può essere utilizzato al di fuori del loopback, questo implica che sulla macchina locale deve anche essere installato un nodo freenet, almeno per adesso.
La porta TCP di default su cui i nodi accettano richieste, solo locali, è la 8481.
E' consentita una sola transazione per connessione e all'inizio di ogni connessione il client deve inviare 4byte che identificano sessione e presentazione: 00 00 00 02 HEX
Dopo di che il client può inviare la sua richiesta, una sequenza di righe di testo ASCII terminate dai caratteri LF o CRLF. Il messaggio deve avere questa forma:
Header
[Field1=Value1]
.
.
[FieldN=ValueN]
EndMessage
Ogni tipo di messaggio ha un numero variabile di campi specifico ( per maggiori dettagli sui campi fare riferimento alle specifiche di FPC).
Il set di messaggi disponibile è stato concepito per poter eseguire le operazioni di Handshaking, Querying the Node's Status, Requesting, Inserting e Key Operations.
Il set completo dei messaggi, con possibile risposta è questo:
●
●
●
●
ClientHello ● NodeHello ClientInfo ● NodeInfo ClientGet ● URIError ● Restarted ● DataNotFound ● RouteNotFound ● DataFound ● DataChunk ClientPut ● URIError ● Restarted ● RouteNotFound ● KeyCollision Pending ● Success GenerateCHK ● Success GenerateSVKPair ● Success ClientDelete ● Success InvertPrivateKey ● Success GetSize ● Success ●
●
●
●
●
●
Altri 2 tipi di messaggi (Node ­> Client) sono 'Failed' e 'FormatError'. Il client deve sempre essere pronto a gestire questi messaggi di risposta che potrebbe ricevere in ogni momento, Failed indica un errore interno al nodo, mentre FormatError indica che la richiesta ha una sintassi sbagliata.
Failed
[Reason=<descriptive string>]
EndMessage
FormatError
[Reason=<descriptive string>]
EndMessage
Per una completa descrizione dei messaggi, e rispettivi campi, é possibile consultare le specifiche del protocollo FCP al seguente link:
http://freenet.sourceforge.net/index.php?page=fcp
FCPlib FCPlib è una libreria platform independent, scritta in ANSI C, che implementa il protocollo FCP.
E' possibile compilare la libreria nelle piattaforme GNU/Linux, BSD, Sun Solaris, MacOSX e Win32.
Le routine esportate dalla libreria permettono di muovere dati dal disco locale a Freenet, e viceversa, e dalla memoria a Freenet, e viceversa. Per eseguire queste operazioni è necessario chiamare pochissime routine.
FCPlib è contenuta all'interno dei FCPTools, programmi command­line che permettono di di copiare file da e verso Freenet. Per ottenere l'ultima versione degli FCPtools e possibile scaricare da cvs la versione di sviluppo con il seguente comando:
$ cvs ­z3 ­d:pserver:[email protected]:/cvsroot/freenet co Contrib/fcptools
Mentre dalla pagina http://freenetproject.org/snapshots/ è possibile scaricare versioni già compilate dei FCPTools.
Una volta ottenuta una copia di FCPlib abbiamo a disposizione una libreria e un header da includere nei nostri progetti C/C++:
Nei sistemi Unix­like: ezFCPlib.h, ezFCPlib.a
mentre in Win32: ezFCPlib.h, ezFCPlib.lib
La documentazione della libreria è disponibile al seguente link:
http://freeweb.sourceforge.net/spec.html
http://freenetproject.org/index.php?page=FCPlib
Per mostrare quanto poco codice è necessario, nelle prossime 2 pagine stampabili, sono stati riportati 2 esempi di utilizzo di FCPlib. Storing Files To Freenet with fcpPutKeyFromFile
//­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
#include "ezFCPlib.h"
int main(int argc, char* argv[])
{
hFCP *hfcp;
/* set the log reporting to Verbose (user friendly output) */ if (fcpStartup(stdout, FCP_LOG_VERBOSE) != 0)
return ­1;
/* Connect to localhost, port 8481, hops to live 3,
and 0 for the optmask */
hfcp = fcpCreateHFCP("127.0.0.1", 8481, 3, 0);
/* insert the key. CHK@ means "calculate the CHK".
NULL for no metadata */
if (fcpPutKeyFromFile(hfcp, "CHK@",
"/home/hapi/message.txt", NULL) != 0)
return ­1;
/* call to delete temp files and free memory */
fcpDestroyHFCP(hfcp);
free(hfcp);
/* The final shutdown for FCPLib */
fcpTerminate();
return 0;
}
//­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
Retrieving Files From Freenet with fcpGetKeyToFile
//­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
#include "ezFCPlib.h"
int main(int argc, char* argv[])
{
hFCP *hfcp;
/* set the log reporting to Verbose (user friendly output) */ if (fcpStartup(stdout, FCP_LOG_VERBOSE) != 0)
return ­1;
/* Connect to localhost, port 8481, hops to live 3,
and 0 for the optmask */
hfcp = fcpCreateHFCP("127.0.0.1", 8481, 3, 0);
/* get the key and store it in the file message.txt.
NULL for no metadata */
if (fcpGetKeyToFile(hfcp,
"[email protected]",
"/home/hapi/message.txt", NULL) != 0)
return ­1;
/* call to delete temp files and free memory */
fcpDestroyHFCP(hfcp);
free(hfcp);
/* The final shutdown for FCPLib */
fcpTerminate();
return 0;
}
//­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
Frost
Che cos'è Frost?
Frost è una applicazione p2p che lavora sopra freenet. Per usare Frost è necessario che un nodo freenet locale sia in esecuzione. Frost permette di rimanere anonimi anche se è possibile avere un'identità firmata utilizzando una public key, questo permette di poter inviare e ricevere messaggi in completa fiducia, realizzando reti di utenti fidati.
Sharing
E' possibile condividere file come su qualsiasi altro client p2p, ma l'utilizzo risulta differente. Upload di un file non è diretto ad altri client ma su freenet. Infatti i file o i direttori da condividere vengono mostrati da Frost agli altri utenti e quando sono richiesti, vengono prima caricati in Freenet e prelevati da lì. In questo modo viene protetto l’anonimato. Alcuni file possono apparire “offline”, questo vuol dire che ancora non sono caricati in Freenet, perciò Frost invierà all’utente che li condivide la richiesta di “Upload” dando così la possibilità di essere scaricati, tutto ciò perché alcuni file solitamente impiegano più tempo per far iniziare il download. Freenet divide i file più grossi in parti più piccole e aggiunge una parte extra per rendere il download del file più veloce. E’ possibile allegare files ai messaggi, in questo caso Frost fa immediatamente l’upload a Freenet, questo perché se si vede un file allegato a un messaggio si sa già per certo il relativo “uploaded” e il download inizierà prima. Lo spazio su Freenet relativo ai files in Upload è limitato, perciò è necessario caricare pochi files alla volta, infatti raggiunta la capità disponibile i files più vecchi vengono sostituiti dai nuovi. Lo spazio a disposizione dipende proprio da quello “donato” dai nodi (degli utenti) di Freenet. Boards
Con Frost è possibile comunicare con gli altri utenti tramite Message Board. Le Board sono dei posti in cui gli utenti si possono scambiare messaggi e file, un po' nei forum e nei newsgroup. Le Board possono essere pubbliche o protette, quelle protette hanno una coppia di chiavi, una per scrivere è una per leggere. Se si possiede la chiave di lettura è possibile vedere i messaggi o file che le persone hanno postato, invece la chiave di scrittura permette di inviare messaggi e condividere file.
Utilizzare Board protette condividendo la chiave di scrittura solo con utenti fidati, permette di essere sicuri che la board non sarà spammata. Anche in questo caso si utilizzano una coppia di chiavi, pubblica e privata, la chiave pubblica viene utilizzata per leggere mentre la chiave privata per scrivere i messaggi e inviare i file. Un'altra differenza tra la board pubblica e protetta, di cui si conosce la chiave di scrittura, è che se la board protetta inizia a ricevere spam, la chiave di scrittura può essere cambiata per fermare lo spam, la board pubblica non può fare altro che cambiare il suo nome per disfarsi dello spamming indesiderato, è più facile cambiare la chiave che il nome!
Con Frost è possibile creare un messaggio, inserire in esso informazioni della propria board, e inviare tale messaggio ad altre board, inserendo eventualmente anche la chiave di scrittura. E' possibile criptare il messaggio per permettere solo ad una specifica persona di vederlo. Questo è utile quando si ha una board protetta e si vuole invitare un'altra persona ad unirsi.
Il contenuto di freenet non è indicizzato, questo non permette di effetturare ricerche veloci, ma è possibile inoltrare richieste hai nodi vicini.
Interfaccia
FROST consta di 2 parti: TOF e downloads. Nella finestra principale si vede il "‘Frost Message System"’ con struttura ad albero. L’albero è costituito da "Boards", che è possibile ordinare in gruppi. I messaggi ricevuti in una board sono archiviati in locale e sono sempre disponibili.
La parte download è anch'essa organizzata in modo board­oriented. Questo significa che ogni board mantiene un indice dei file scaricabili.
Preferences
Dal menù Opzioni­Preferenze è possibile impostazioni un gran numero di parametri di Frost:
Download directory (downloads):
Minimum HTL (5):
Maximum HTL (25):
Numero di downloads simultanei (3):
Numero di blocchi in cui spezzare il file (3):
Rimuovi i downloads teminati ogni 5 minuti.(off)
Upload HTL (5):
Numero di uploads simultanei (3):
Intervallo di ricarica (8 giorni):
Messaggio inviato HTL (5):
Messaggio scaricato HTL(15):
Numero di giorni da mostrare (10):
Numero di giorni per scaricare all’indietro (3):
Messaggio base (news):
Firma
Blocco messaggi:
Chiave del file in upload HTL (5):
Chiave del file in download HTL (15):
Indirizzo del nodo (127.0.0.1):
Porta del nodo (8481):
Massimo numero di chiavi da memorizzare (100000):
Consenti 2 byte di caratteri
Usa skins, ricarica Frost dopo averla cambiata.(off)
Dove vorresti che i downloads siano salvati
Settare Hops­to­live per downloads
Max Hops
Da non settare troppo elevato
Libera sempre la lista dei downloads terminati
Può essere settato elevato
Ripete l’uploads, usarlo per migliorare la disponibilità
Potrebbe essere basso
Se settato troppo alto rallenterà gli aggiornamenti delle boards
Lo standard del messaggio base è news
Setta una firma da appendere a tutti I tuoi messaggi
Caratteri o stringhe per bloccare i messaggi(anti­
spam)
La chiave del file contiene l’indice delle chiavi
Sempre localhost
Porta standard
Per utenti giapponesi
currently not updated
E' possibile specificare i parametri anche nel file di configurazione frost.ini:
downloadDirectory=downloads
lastUsedDirectory=c:
messageBase=news
blockMessage=
htl=5
htlMax=250
htlUpload=5
uploadThreads=3
downloadThreads=3
tofUploadHtl=5
tofDownloadHtl=15
keyUploadHtl=5
keyDownloadHtl=15
userName=Anonymous
maxMessageDisplay=10
maxMessageDownload=3
removeFinishedDownloads=false
splitfileUploadThreads=3
splitfileDownloadThreads=3
nodeAddress=127.0.0.1
nodePort=8481
uploadInterval=8
maxKeys=100000
messageBase=news
blockMessage=porn; spam
maxAge=21
tofTreeSelectedRow=2
tofFontSize=12.0
allowEvilBert=false
downloadingActivated=true
uploadingActivated=true
searchAllBoards=false
automaticUpdate=true
Configurare le Boards
In FROST si trovano alcune boards preconfigurate come frost o freenet.
Si possono aggiungere nuove boards attraverso il click destro del mouse su "Frost Message System" o usare il Menu: New Board
Configure Board
Crea una nuova board
Scegliere tra public o secure board, default è public board
Rename board
Remove board
Cut , Copy, Paste board
Operazioni per organizzare le proprie boards
Le stesse operazioni possono essere fatte attraverso il tasto destro del mouse sulla board selezionata. Per creare folders basta aggiungere boards a quelle esistenti.
Esempio:
•
tasto destro del mouse su "‘Frost messaging system"’ •
Seleziona "‘add new board/folder"’ •
scegli un nome: "‘entertainment"’ •
tasto destro su "‘entertainment"’ e ripeti la creazione di una board •
hai appena creato una struttura ad albero Nota: Si possono solo usare Boards per messaggi/files non Folders. Leggere i Messaggi
Metodo Update – Cliccando su aggiornamento automatico di boards sotto il menu News.
E’ anche possibile aggiornare una specifica board selezionandola e cliccando il bottone Update.
L’intervallo d’aggiornamento è “hard­coded”, perchè potrebbero esserci troppe board che rallentano l’ updating. A volte è consigliabile il metodo manuale.
A volte comparirà la scritta RTM1, RTM2 o RTM3 nel titolo della pagina. Questo significa Reduced Thread Managment e rimarrà finchè si continuerà ad usare FROST.
Il suggerimento è quello di chiudere e riavviare FROST di tanto in tanto. E’ possibile anche salvare il messaggio in memoria: semplicemente col tasto destro del mouse sul messaggio stesso.
Messaggi con allegati
Spesso compaiono messaggi in blu, vuol dire che questi contengono un allegato. Si vedrà qualcosa come <attached> .
Questi allegati sono direttamente scaricabili con tasto destro del mouse sul messaggio o usando il bottone di download.
Scrivere messaggi
Dopo aver letto i messaggi c’è la possibilità di rispondere, cliccando sul bottone di risposta, apparirà una finestra per editare. Se precedentemente è stata settata un firma, questa apparirà. La linea del titolo contiene il proprio nome scelto e l’orario in GMT.
Nota: E’ possible settare un nome tramite frost.ini o semplicemente inserendo un nome al primo mssaggio e FROST lo ricorderà. Con la modalità “ancasy” è importante scegliere un nome per generare un identità, in modo tale da rendersi fidati con gli altri utenti.
Allegare Files
Oltre a scrivere i messaggi si ha la possibilità di allegare direttamente un file per l’uploading. Cliccando sul bottone e scegliendo i files che si vogliono allegare. Per grossi file è meglio usare le caratteristiche di upload standard e includere solo la chiave col messaggio.
Nuovo Messaggio
Come Scrivi messaggi, nulla di diverso una volta premuto il bottone New. PGP
A volte si vuole criptare i propri messaggi, questo può essere fatto attraverso il copia e incolla delle chiavi. Sotto Linux si può usare xclipboard.
Ricerche
Poiché in Freenet non è possibile effettuare ricerche, l’unico modo è quello di usare una “keyindex”. Se si inserisce qualcosa con FROST, a questo “inserto” sarà aggiunta una keyindex. Ogni istallazione di FROST richiede questi Index­files e perciò si può ricercare questi file localmente. Dopo aver creato alcune boards, è possibile caricare e scaricare files associati con queste. La keyindex non è un singolo grande file. Ogni board mantiene il proprio index­file. Questo da la possibilità di classificare contenuti, per esempio musica nella music­board, libri nella books­board etc.
E’ disponibile una vista generale di tutte le chiavi dalla “board information window”.
Le ricerche in FROST:
Per primo, andare alla tabella di ricerca. Secondo, spuntare “search all boards” altrimenti la ricerca avviene sulla board attuale.
Terzo, inserire il testo da ricercare e cliccare su “search”.
Opzioni ricerca:
Mostra tutte le chiavi
*
Mostra le chiavi di oggi
*periodo
Chiavi di x giorni indietro
*periodox
Chiavi contenenti 'foo'
foo
escludi 'bad'
*­bad
Si possono combinare tutte queste opzioni. Per esempio:
Type: *age2 jpg jpeg *­001
Questo significa: cerca file vecchi fino a 2 giorni, conteenti jpg end jpeg e non 001.
Alcune FAQ’s
Q: Come fare per aggiungere nuove boards? A: Selezionare il folder che dovrebbe contenere la nuova board. Click destro sulla struttura ad albero. Selezionare ’Add new board / folder’. Rinominare ’New folder’ selezionandolo e premendo F2 o doppio click..
Q: Come fare per scaricare un allegato? A: Click destro sul messaggio. I files si aggiungeranno alla lista download. Q: Taglia e Incolla non funziona con Linux!
A: Provare usando CTRL+C (copia), CTRL+V (incolla) and CTRL+X (taglia)
Q: Posso arrestare Frost dopo aver fatto uploading dei miei files? A: Si.
Q: Perchè è tutto molto lento? A: Perchè Freenet è molto lento e Frost è un client Freenet. Gli uploads probabilmente sarebbero più veloci con più utenti Freenet.
Q: Che dimensione dovrebbe avere il Datastore per il mio nodo Freenet? A: Più grande è meglio è! Almeno della dimensione del più grosso file che vorresti scaricare. Per esempio se si vuole scaricare grossi films, 1Gb potrebbe andar bene.
Q: Il mio upload è stato interrotto poichè... (fill in your story here). Devo rifare l’upload di ogni cosa? A: No, se riavvii l’upload probabilmente lo vedrai andare più veloce. Solo le parti di file che non sono state caricate saranno “uploaded”. (Questo non vale per file con dimensione inferiore ai 256Kb, poichè questi non vengono splittati in parti più piccole)
Q: Il mio download è stato interrotto perchè... (yeah, another story...). Devo riscaricare ogni cosa da capo? A: No, Frost immagazzina ogni pezzo scaricato nella directory ’keypool’. Q: Chunks? A: Grossi files sono divisi in vari pezzi (“chunks”), ognuno con dimensione di 256Kb. Questi ’Splitfiles’ possono essere scaricati da più sorgenti in una volta.
Q: Non riesco a ottenere uno specifico file, e ne ho realmente bisogno!
A: Vai nelle opzioni / downloads. Setta maximum htl a 2500 e splitfile threads a 5. Impiegherà molte ora ma se il file è disponibile su Freenet lo troverà.
Q: Gli allegati dei messaggi appaiono nella keyindex pubblica! A: Se vuoi che solo una specifica persona veda I tuoi allegati è consigliabile usare PGP per criptare I files.
Link utili:
Official Freenet WebSite: http://freenetproject.org/ Sofware Repository: http://freenetproject.org/snapshots/ Specifiche protocollo FCP: http://freenet.sourceforge.net/index.php?page=fcp
FCPlib Reference Manual: http://freeweb.sourceforge.net/spec.html
e: http://freenetproject.org/index.php?page=FCPlib
Frost: http://jtcfrost.sourceforge.net