TWiki Home TWiki . IT . WebHome (book view) TWiki webs:
BG| DE | ES | FI | FR | Glossary | HU | IT | JA | Know | Main | NL | PT | Pub | RU | SL | TWiki | Test | ZH-CN? | ZH-TW? |
IT . { Home | Changes | Index | Search | Go }
Search: \.*

Topics in IT web: Changed: GMT Changed by:

AdaM  

29 Dec 2001 - 12:32 - NEW   AdaM

Personal Preferences (details in TWikiVariables)

Related topics

 


AgL  

25 Dec 2001 - 18:58 - NEW   AgL

Personal Preferences (details in TWikiVariables)

Related topics

 


AlClarke  

31 Dec 2001 - 19:32 - NEW   AlClarke

Personal Preferences (details in TWikiVariables)

Related topics

 


AndersNilsson  

01 Jan 2002 - 18:50 - NEW   AndersNilsson

Personal Preferences (details in TWikiVariables)

Related topics

 


Architecture  

15 Jan 2002 - 15:42 - r1.2   MarcoCalamari

Architettura di Freenet

Queste pagine sono state pensate per dare una visione complessiva top-down dell'architettura di Fred. Se hai bisogno di informazioni più dettagliate di quelle fornite qui potresti far riferimento a Javadocs che fanno parte del codice sorgente di Fred.

Generalità

In parole semplici, Fred è un'applicazione che le persone possono far girare sui propri computer che consente loro sia di richiedere sia di inserire informazioni in un database globale di informazioni, permettendo ai loro computer di far parte di quel database. Per richiedere o inserire un'informazione è necessaria una chiave, queste chiavi sono qualcosa di simile a un URL per un'informazione sul world wide web. Freenet non garantisce che verrà trovata un'informazione, anche se esiste sulla rete, ma è abbastanza affidabile da essere molto utile per un buon numero di applicazioni.

Richiedere

Inserire

Sicurezza

Interfacciarsi con Fred (Freenet REference Daemon)

Per contribuire al Progetto Freenet non siete obbligati a smanettare sul sorgente java di Fred. Esiste una semplice interfaccia di programmazione verso il nodo java chiamata Freenet Client Protocol che permette a programmi esterni di fare inserimenti e richiedere dati.

 


AreArseth  

29 Dec 2001 - 18:10 - NEW   AreArseth

Personal Preferences (details in TWikiVariables)

Related topics

 


AutrijusTang  

26 Dec 2001 - 00:00 - NEW   AutrijusTang?

Personal Preferences (details in TWikiVariables)

Related topics

 


BenoitLaniel  

25 Dec 2001 - 20:54 - NEW   BenoitLaniel

Personal Preferences (details in TWikiVariables)

Related topics

 


BizzyBee33  

02 Jan 2002 - 04:23 - NEW   BizzyBee33

Personal Preferences (details in TWikiVariables)

Related topics

 


CaiwenWang  

02 Jan 2002 - 00:16 - NEW   CaiwenWang

Personal Preferences (details in TWikiVariables)

Related topics

 


CarlosCORREDOURA  

31 Dec 2001 - 21:56 - NEW   CarlosCORREDOURA

Personal Preferences (details in TWikiVariables)

Related topics

 


CarmenF  

01 Jan 2002 - 01:42 - NEW   CarmenF

Personal Preferences (details in TWikiVariables)

Related topics

 


CyclopsCyborg  

01 Jan 2002 - 14:31 - NEW   CyclopsCyborg

Personal Preferences (details in TWikiVariables)

Related topics

 


DamienParry  

01 Jan 2002 - 15:30 - NEW   DamienParry

Personal Preferences (details in TWikiVariables)

Related topics

 


DanielLefebvre  

30 Dec 2001 - 18:15 - NEW   DanielLefebvre

Personal Preferences (details in TWikiVariables)

Related topics

 


DavePinczkowski  

31 Dec 2001 - 19:21 - NEW   DavePinczkowski

Personal Preferences (details in TWikiVariables)

Related topics

 


DeltaFourOhSeven  

31 Dec 2001 - 04:42 - NEW   DeltaFourOhSeven

Personal Preferences (details in TWikiVariables)

Related topics

 


Documentation  

11 Feb 2002 - 10:02 - NEW   MarcoCalamari

Documentazione utente di Freenet

 


DonaldCarver  

02 Jan 2002 - 15:19 - NEW   DonaldCarver

Personal Preferences (details in TWikiVariables)

Related topics

 


Donations  

07 Jan 2002 - 09:51 - NEW   MarcoCalamari

Donazioni

Abbiamo costituito una società senza scopo di lucro per sostenere lo sviluppo del progetto Freenet.Ecco il documento programmatico della "Progetto Freenet Inc.":

L'obiettivo primario di questa società è di sostenere lo sviluppo e la divulgazione di soluzioni tecnologiche per promuovere una distribuzione aperta e democratica delle informazioni su Internet o sui sistemi di rete che la sostituiranno o organizzazioni. Un altro scopo di questa organizzazione è quello di garantire a tutti, in modo libero, non-mediato e gratuitamente, la possibilità di ricevere e di comunicare tutte le opinioni ed idee, espressioni dell' intelletto, scientifiche, letterarie, sociali, artistiche, creative, relative ai diritti umani ed espressioni culturali, senza nessuna interferenza o censura a favore di un interesse di parte o di interessi speciali. Un altro scopo di questa organizzazione è quello di educare il maggior numero possibile di persone, e di difendere queste proposte.
Attualmente possiamo accettare donazioni tramite Pay Pal. Il denaro ricevuto verrà utilizzato per perseguire gli obiettivi del nostro Documento Programmatico, e sarà amministrato sotto il controllo del comitato direttivo del Progetto Freenet. I fondi ricevuti potranno essere utilizzati per assumere un programmatore a tempo pieno, acquistare un server dedicato, coprire le spese amministrative e legali oltre che, qualora diventasse necessario, per finanziare spese di difesa legale in eventuali cause processuali.

Abbiamo predisposto un conto Pay Pal tramite il quale potrete facilmente effettuare delle donazioni al progetto no-profit.

Cliccate qui sotto per effettuare una donazione:

Donazioni via posta

In alternativa, potete effettuare una donazione a mezzo posta. Gli assegni vanno intestati a "Freenet Project Inc." e spediti al seguente indirizzo:
Freenet Project Inc.
2554 Lincoln Blvd #712
Venice, CA  90291

 


Download  

14 Feb 2002 - 13:57 - r1.4   MarcoCalamari

Scaricate Freenet

Per fawore, scaricate e testate uno snapshot della versione 0.4 in sviluppo. La prossima versione stabile 0.5 dovrebbe essere pronta presto - controllate su questo sito o sottoscrivete la lista announcements per essere avvertiti quando sarà pronta.

Freenet richiede Java ed una connessione internet.

Come scaricare Freenet

Windows

Scaricate questo installer e lanciatelo. Vi scaricherà i file necessari ed effettuerà i setting adatti per voi.

Oppure potete scaricare l'ultimo Windows snapshot da qui, il nome sarà freenet-YYYYMMDD.exe, dove YYYYMMDD è la data di creazione dello snapshot. Lanciate l'eseguibile e seguite le istruzioni. Se non avete Java installato, usate lo snapshot denuminato freenet-Java-YYYYMMDD.exe. Questi snapshots sono creati menu frequentemente, e contengono il Java Sun 1.3 che sarà installato automaticamente.

Linux

Potete scaricare l'ultimo Linux snapshot da qui, il nome sarà freenet-yyyymmdd.tgz, dove YYYYMMDD è la data di creazione dello snapshot. Scompattate lo snapshot in questo modo:
> tar xfz freenet-yyyymmdd.tgz
Questo creerà la directory "freenet-yyyymmdd", posizionatevici e leggete il file "README".

Apple Macintosh OS X

Potete scaricare l'ultimo Unix snapshot da qui, il nome sarà freenet-YYYYMMDD.exe, dove YYYYMMDD è la data di creazione dello snapshot. Una volta copiato sul vostro hard disk, usate Stuffit Expander per scompattare l'archivio. Per lanciare Freenet, usate il terminale per 'cd' (cambiare directory) nel folder freenet-YYYYMMDD, dal vostro archivio, e digitate:
> sh ./run.sh
Questo inizierà il processo di configurazione. Se avete domande, per favore contattate Tom Longson a tlongson@socal.rr.com. Se volete usare Freenet su un Macintosh Classic, andate qui.

Sorgenti

Potette prendere i sorgenti aggiornati di Freenet dal CVS. Trovate le istruzioni su come procedere qui.

Requisiti

Java

Freenet richiede un Java Runtime Environment per funzionare, ne esistono parecchi per differenti piattaforme:

NomePiattaformaLicenza
Sun Windows, Solaris, Linux Proprietaria
IBM Linux Proprietaria
Apple (OS-X, OS-8/9) MacOS Proprietaria
Kaffe Linux, Free BSD GNU General Public License

Connessione diretta ad internet

Freenet funziona completamente con una connessione diretta ad internet, cioè quando non vi trovate dietro ad un NAT od un Firewall. Se lo siete, per favore leggete qui.

 


DujruthaiPalakul  

02 Jan 2002 - 10:59 - NEW   DujruthaiPalakul

Personal Preferences (details in TWikiVariables)

Related topics

 


EddyWullems  

29 Dec 2001 - 23:09 - NEW   EddyWullems

Personal Preferences (details in TWikiVariables)

Related topics

 


EmergentBehavior  

08 Jan 2002 - 22:28 - NEW   MarcoCalamari

Dinamiche complesse

Le dinamiche complesse sono tipiche di sistemi costituiti da un gran numero di componenti elementari simili o identiche tra loro. L'evoluzione del sistema puo' risultare estremamente complicata nonostante la semplicita' degli elementi costituenti.

Dinamiche complesse sono frequentemente osservate in biologia: il cervello umano, ad esempio, consiste di un numero elevato di cellule relativamente semplici, dette neuroni. Nonostante cio', il cervello presenta comportamenti assai complessi. Anche uno stormo di uccelli, sebbene il comportamento del singolo uccello si basi su regole piuttosto semplici, puo' presentare nel suo insieme una dinamica complessa.

I sistemi caratterizzati da questo tipo di comportamento hanno il vantaggio di poter presentare evoluzioni stabili in assenza di controllo centralizzato ed una certa robustezza, ma sono in generale difficili da progettare. Freenet e' forse uno dei primi sistemi creati artificialmente caratterizzato da questo tipo di dinamica.

Un eccellente testo divulgativo su questo ed altri argomenti correlati e' "Out of Control" di Kevin Kelly (Amazon.com,BarnesAndNobel.com).

 


EricNorige  

28 Dec 2001 - 22:44 - NEW   EricNorige

Personal Preferences (details in TWikiVariables)

Related topics

 


FAQ  

09 Jan 2002 - 15:02 - r1.2   MarcoCalamari

Frequently Asked Questions

Domande

Generale

Installazione


Risposte

Generale

Cos'é Freenet?

Freenet è un free-software progettato per permettere una reale "libertà di espressione e comunicazione" nell'utilizzo di Internet. Freenet permette a chiunque di pubblicare e leggere informazioni nella completa anonimità. Nessuno controlla Freenet, neppure il suo creatore, fugando ogni dubbio sulla possibile manipolazione delle informazioni o di un inaspettato "shutdown". Freenet ? anche molto efficente nel trattamento dell'informazione, replicando, in modo adattativo, i contenuti in risposta alle domande. Per maggiori informazioni si prega di leggere Cos'è Freenet?.

Chi c'è "dietro" Freenet?

Freenet ha avuto origine da un progetto per un sistema di pubblicazione anonima sviluppato da Ian Clarke mentre era studente all'Università di Edimburgo, Scozia (n.d.t "A distributed decentralized information storage and retrieval system"). Da quello studio iniziale, molte persone hanno successivamente contribuito perché l'idea iniziale di Ian divenisse realtà.

Installazione






Interessanti questioni di pubblico interesse



Questioni Legali

Freenet è legale ?

Certo, completamente legale. Inoltre è un progetto open source, quindi nessuno ti impedisce di dargli un'occhiata ;-)

Potrei incorrere in procedimenti legali se installo un nodo Freenet ?

Assolutamente NO ! Non puoi sapere che tipo di informazione risiede all'interno del "tuo" nodo e quindi non puoi essere ritenuto responsabile di nulla. Non avere paura, far "girare" un nodo è completamente sicuro...ed anche divertente !

Ci sono restrizioni per quanto riguarda la esportazione di documenti "criptati" ?



Questioni controverse

Per quanto riguarda la pornografia infantile, contenuti offensivi, terrorismo ?

Non voglio che il "mio" nodo venga utilizzato per diffondere pornografia infantile, contenuti offensivi o fomentare il terrorismo. Cosa devo fare ?

Non c'è nessun modo di sapere che tipo di informazione è salvata all'interno del "tuo" nodo e c'è una reale possibilità (molto ridotta comunque...) che l'informazione sia di tipo "indesiderato". Se questo ti disturba, non dovresti "gestire" un nodo Freenet.

Ho intenzione di utilizzare Freenet per ospitare materiale di pornografia infantile, contenuti offensivi o fomentare il terrorismo. Sono al sicuro al 100% ?



Domande comuni

Non riesco a scaricare filez,warez,mp3...niente !?

La versione corrente di Freenet (0.4), presto evolverà nella 0.5 che incrementerà notevolmente le prestazioni...quindi stai in campana !. Nel mentre potresti provare a donare un pò di spazio disco e banda magari rendendo il "tuo" nodo permanente. ;-)

"Devo" mettere a disposizione spazio disco o larghezza di banda ?

Tutti i miei amici hanno messo a disposizione poco disco e poca banda. Perché dovrei donarne tanto/a ?

Se sei felice di ciò che stai ottenendo da Freenet puoi anche non donare nulla...ma se vuoi di più, se vuoi che Freenet cresca e con essa cresca la mole di informazione reperibile e scaricabile, dovresti considerare il fatto di donare spazio disco e banda, possibilmente rendendo il "tuo" nodo permanente e chiedere ai tuoi amici di fare lo stesso.

Se ne dono/a tanto/a...?

Abbiamo bisogno di persone come te !!! Ti ringraziamo per la compiacenza che ci hai dimostrato ma, soprattutto, per rendere il mondo un posto migliore.

Altre questioni

Qual'è il potenziale economico di Freenet?

Solo Dio lo sà :) Per un possibile modello di business incentrato su riconoscimenti artistici guarda Freeshare? ; per altri propositi, potrai trovare qui maggiori informazioni.



 


FileAttachment  

02 Jan 2002 - 17:47 - NEW   TWikiGuest

File Attachments

Each topic can have files attached to it, similar to an email attachment. Use your browser to upload or download a file. Attachments are stored under revision control, so uploads can never be lost, and files changes can be made with a rollback option that lets you retrieve all previous versions.

What Are Attachments Good For?

File Attachments can be used to create powerful groupware solutions - file sharing, document management - and for speedy Web authoring.

Document Management System

File Sharing

Web Authoring

Uploading Files

Downloading Files

Moving Attachment Files

An attachement can be moved between topics. To do this click Action on the attachment to be moved. On the control page, select the new web and topic, the click Move. The attachment and its version history are moved. The original location is stored as topic Meta Data?.

Deleting Attachments

It is not possible to delete attached files with the current TWiki implementation. However, they can be moved to another topic. You may care to have a topic Trash.TrashAttachments - move attachments that are no longer wanted here.

Linking to Attached Files

File Attachment Contents Table

Files attached to a topic are displayed in a directory table, displayed at the bottom of the page, or optionally, hidden and accessed when you click Attach.

Attachment: Action: Size: Date: Who: Comment:
Sample.txt action 30 22 Jul 2000 - 19:37 PeterThoeny Just a sample
Smile.gif action 94 22 Jul 2000 - 19:38 PeterThoeny Smiley face

File Attachment Controls

Clicking on an Action link takes you to a new page that looks like this:

Attachment: Action: Size: Date: Who: Comment: Attribute:
Sample.txt action 30 22 Jul 2000 - 19:37 PeterThoeny Just a sample  
Smile.gif action 94 22 Jul 2000 - 19:38 PeterThoeny Smiley face  

Update attachment Sample.txt

Version: Action: Date: Who: Comment:
1.1 view 2001.08.30.09.28.56 PeterThoeny  

Previous
upload:
C:\DATA\Sample.txt (PeterThoeny)
Local file:
Comment:
Link: Create a link to the attached file at the end of the topic.
Hide file: Hide attachment in normal topic view.
Help text ...

Topic FileAttachment . { | | Move attachment | Cancel }

Known Issues

 


FreenetClientProtocol  

14 Jan 2002 - 19:42 - NEW   MarcoCalamari

Introduzione

Il Freenet Client Protocol (FCP) è progettato per astrarre gli elementi base di Freenet, cosicché gli svluppatori di client non debbano tener traccia del protocollo principale di Freenet. FCP dovrebbe costituire l'ossatura di Freenet - la gestione dei metadati non è compresa in FCP, anche se un'estensione a quest'ultimo potrebbe venire ad essere più avanti per evitare di scrivere librerie per la gestione di metadati in molti linguaggi.

Nota

Questo protocollo non è stato progettato per viaggiare su una rete - solo via loopback. Di default i nodi non dovrebbero accettare connessioni FCP da nodi diversi da localhost.

Concetti di base

Di default FCP usa la porta 8481, ma qualsiasi client che usa FCP dovrebbe permettere di configurare tale valore, perché questo potrebbe essere cambiato nel file di configurazione del nodo o da qualche futura revisione di FCP.

FCP segue il setup FNP per la sessione e la presentazione.

Nella parte che segue i numeri sono sempre espressi in esadecimale e i campi tra parentesi quadre sono opzionali.

FCP permettere una transazione per ogni connessione, dopodiché la connessione viene interrotta. All'inizio di ogni connessione il client deve inviare i seguenti 4 byte:

00 00 00 02

Essi sono i 2 byte per l'identificativo di sessione e i 2 byte per l'identificativo di presentazione. In futuro identificativi differenti potranno essere usato per permettere l'esistenza di sintassi alternative o connessioni FCP cifrate da host remoti, per esempio.

Dopo aver mandato gli identificativi di sessione e presentazione il client invia un messaggio per iniziare la transazione, dopodiché attende uno o più messaggi da parte del nodo finché la transazione non è completata. I messaggi consistono in una serie di linee terminate da LF o da CRLF, in questa forma:

Header
[Campo1=Valore1]
.
.
[CampoN=ValoreN]
EndMessage

Riassunto dei messaggi

Quello che segue è l'insieme completo dei messaggi da client a nodo, con le possibili risposte da nodo a client (vengono mostrate solo le intestazioni).

Inoltre, il nodo può rispondere a qualsiasi messaggi di un client con un FormatError, il che significa che il comando non è stato compreso, e il nodo può rispondere in qualsiasi momento con un Failed, il che indica un fallimento del nodo medesimo:

FormatError
[Reason=<stringa descrittiva>]
EndMessage

Failed
[Reason=<stringa descrittiva>]
EndMessage

Failed e FormatError non verranno discussi nel resto di questo documento. I client dovrebbero essere pronti a gestire un messaggio Failer in qualsiasi momento, ed un messaggio FormatError come risposta a qualsiasi loro messaggio. Entrambi questi messaggi terminando la transazione e la connessione.

Handshaking

L'handshaking è totalmente opzionale per il client. Si noti che essa conta come una transazione, e dunque la connessione viene interrotta dopo di essa.

(Client->Nodo)

ClientHello
EndMessage

Il nodo manda come risposta il seguente messaggio:

(Nodo->Client)
NodeHello
Protocol=<numero: numero di versione del protocollo.  1 al momento>
Node=<stringa: forma libera: Descrizione dei nodi>
EndMessage

Richiesta

(Client->Nodo)

ClientGet
URI=<stringa: URI pienamente specificata, come freenet:KSK@gpl.txt>
HopsToLive=<numero: hop di vita>
EndMessage

Ora il client è in uno stato di waiting. Il nodo può restituire uno dei seguenti messaggi di errore:

Altrimenti viene restituito un messaggio DataFound:

DataFound
DataLength=<numero: numero di byte di metadati + dati>
[MetadataLength=<number: default = 0, numero di byte di metadati>
EndMessage

Dopo un messaggio DataFound vengono inviati a blocchi i dati stessi:

DataChunk
Length=<numero: numero di byte nel campo che segue>
Data
<@Length bytes of data>

Finché l'intero insieme di dati non è stato trasferito, un messaggio Restarted può essere inviato in qualsiasi momento. Ciò significa che i dati da verificare e il trasferimento saranno fatti ripartire. Il client dovrebbe tornare nello stato waiting, e se un DataFound è ricevuto a questo punto, il trasferimento di dati dovrà ricominciare dall'inizio. Altrimenti, quando viene ricevuto il DataChunk finale, la transazione è completa e la connessione muore.

Inserting

(Client->Node)

ClientPut
HopsToLive=<numero: hops di vita>
URI=<stringa: URI pienamente specificata, come freenet:KSK@gpl.txt>
DataLength=<numero: numero di byte di metadati + dati>
[MetadataLength=<numero: default = 0, numero di byte di metadati>]
Data
<@DataLength numero di byte>

Se il client sta inserendo una CHK o una SVK, l'URI può essere abbreviato come CHK@ o SVK@. Nel primo caso il nodo calcolerà la CHK, mentre nel secondo il nodo generera` una nuova coppia di chiavi. Il nodo deve avere tutti i campi seguenti prima di poter inserire la chiave in Freenet. Il nodo può rispondere con uno dei seguenti messaggi:

Durante un inserimento si possono ricevere diversi messaggi Pending in risposta. Questi messaggi segnalano che i dati sono stati inseriti con successo, ma che l'inserimento non è completo, e il nodo non ha ancora ricevuto un messaggio StoreData:

Pending
URI=<stringa: URI pienamente specificato, come freenet:KSK@gpl.txt>
[PublicKey=<stringa: chiave pubblica>]
[PrivateKey=<stringa: chiave privata>]
EndMessage

Quando il nodo riceve un messaggio StoreData (e l'inserimento è dunque completo) viene restituito un messaggio Success contenente l'URI Freenet del nuovo documento ed eventualmente una coppia di chiavi privata/pubblica, se il documento inserito era un SVK. Si veda la sezione della generazione delle chiavi a questo proposito.

Success
URI=<stringa: URI pienamente specificato, come freenet:KSK@gpl.txt>
[PublicKey=<stringa: chiave pubblica>]
[PrivateKey=<string: chiave privata>]
EndMessage

Generazione delle chiavi

Questi messaggi permettono ad un client di generare delle chiavi. Ciò non influisce in nessun modo su Freenet - i calcoli vengono generati al di fuori del nodo.

Le richieste di generazione delle chiavi vengono eseguite tramite un messaggio GenerateKey. Si possono generare sia una coppia di chiavi CHK che SVK:

GenerateCHK
DataLength=<numero: numero di byte di dati + metadati>
[MetadataLength=<numero: default = 0, numero di byte di metadati>]
Dati
<@DataLength numero di byte>

Il nodo calcola il CHK come se stesse effettuando un inserimento, ma invece lo invia come valore di ritorno. Ciò completa la transazione:

Success
URI=<stringa: URI pienamente specificato, come freenet:KSK@gpl.txt>
EndMessage

Il formato per generare le SVK è molto simile ma generare una coppia di chiavi (pubblica e privata) che sono indipendenti da qualsiasi dato. Generalmente questo viene fatto per impostare le SSK:

GenerateSVKPair
EndMessage

Il nodo genera una coppia di chiavi e invia come valore di ritorno:

Success
PublicKey=<stringa: chiave Freenet pubblica>
PrivateKey=<stringa: chiave privata Freenet>
EndMessage

PublicKey e PrivateKey vengono inviati come stringhe con codifica Freenet-base64. Queste chiavi possono essere usate per richiedere o inserire delle SSK:

(insert)  freenet:SSK@<PrivateKey>/<nome>
(request) freenet:SSK@<PublicKey>/<nome>

 


GabisuNoKen  

31 Dec 2001 - 01:28 - NEW   GabisuNoKen

Personal Preferences (details in TWikiVariables)

Related topics

 


GeorgeDuck  

01 Jan 2002 - 17:38 - NEW   GeorgeDuck

Personal Preferences (details in TWikiVariables)

Related topics

 


GilesBrunet  

01 Jan 2002 - 13:19 - NEW   GilesBrunet

Personal Preferences (details in TWikiVariables)

Related topics

 


GnomJas  

02 Jan 2002 - 03:34 - NEW   GnomJas

Personal Preferences (details in TWikiVariables)

Related topics

 


GregAndrews  

29 Dec 2001 - 22:00 - NEW   GregAndrews

Personal Preferences (details in TWikiVariables)

Related topics

 


HarryStreetman  

30 Dec 2001 - 14:17 - NEW   HarryStreetman

Personal Preferences (details in TWikiVariables)

Related topics

 


HassanAlief  

29 Dec 2001 - 17:44 - NEW   HassanAlief

Personal Preferences (details in TWikiVariables)

Related topics

 


ICSI  

02 Feb 2002 - 15:22 - r1.3   MarcoCalamari

Freenet: Un sistema anonimo distribuito di memorizzazione e ricerca di informazioni

Ian Clarke
Uprizer, Inc.
1007 Montana Ave., #323
Santa Monica, CA 90403
USA
ian@octayne.com
Oskar Sandberg
Department of Numerical Analysis and Computer Science
Royal Institute of Technology
SE-100 44 Stockholm
Sweden
md98-osa@nada.kth.se
Brandon Wiley
College of Communication
University of Texas at Austin
Austin, TX 78712
USA
blanu@uts.cc.utexas.edu
Theodore W. Hong[*]
Department of Computing
Imperial College of Science, Technology and Medicine
180 Queen's Gate, London SW7 2BZ
United Kingdom
t.hong@doc.ic.ac.uk

Testo approvato il 1° luglio 2000
Rivisto il 18 dicembre 2000


Sunto:

Viene descritta Freenet, un'applicazione adattiva peer-to-peer in rete che consente di pubblicare, riprodurre e ricercare dati salvaguardando l'anonimato degli autori e dei lettori. Freenet opera come una rete di nodi identici che, collettivamente, mettono in comune il loro spazio di memoria per memorizzare file di dati e cooperano tra di loro per inoltrare le richieste verso le più probabili collocazioni fisiche dei dati stessi. Non vengono utilizzati né la ricerca broadcast né un indice centralizzato delle collocazioni dei dati; il riferimento ai file avviene secondo una modalità indipendente dalle collocazioni, ed i file vengono riprodotti dinamicamente in località vicine ai richiedenti e cancellati dalle località dove non si riscontra interesse. È impossibile scoprire la vera origine o destinazione di un file in transito nella rete, ed è difficile per un operatore di un nodo determinare o attribuirgli la responsabilità del contenuto concreto del suo nodo.




Introduzione

I sistemi computerizzati in rete stanno acquistando sempre maggiore importanza come mezzo preferito per memorizzare e scambiare informazioni. Tuttavia, i sistemi attuali offrono ai loro utenti scarsa privacy e, di norma, memorizzano ogni elemento dei dati soltanto in uno o pochi posti fissi, creando un punto debole centrale. Gli autori ed i lettori desiderano però salvaguardare la propria privacy riguardo a vari tipi d'informazioni delicate[28], ed è inopportuno che vi siano punti deboli centrali, sui quali potrebbe intervenire chi voglia danneggiare il sistema togliendogli dati[11,27] o che, semplicemente, potrebbero rivelarsi sovraccarichi in caso di carico eccessivo[1]; sono quindi necessari sistemi che offrano maggiore sicurezza e affidabilità.

Noi stiamo sviluppando Freenet, un sistema distribuito di memorizzazione e di ricerca d'informazioni, che intende soddisfare queste esigenze di privacy e di disponibilità. Freenet opera come file system distribuito ed indipendente dalla collocazione, attraverso numerosi singoli computer, che consentono di immettere, memorizzare e ricercare i file anonimamente. Gli obiettivi principali di questo progetto sono cinque:

Il sistema è progettato per rispondere in forma adattiva all'utilizzo, spostando, duplicando e cancellando i file in maniera trasparente secondo le necessità, per offrire un servizio efficiente senza dover ricorrere a ricerche broadcast o ad indici centralizzati delle posizioni dei dati. Non si intende garantire la memorizzazione permanente dei file, anche se si auspica di riunire un numero di nodi aventi capacità di memorizzazione sufficiente per poter conservare a tempo indeterminato la massima parte dei file. Inoltre, il sistema opera al livello delle applicazioni e, pur essendo indipendente dal trasporto, presume la presenza di uno strato di trasporto sicuro. Scopo del sistema è preservare l'anonimato non per l'utilizzo generale della rete ma soltanto per le operazioni con i file di Freenet.

Freenet è attualmente in sviluppo come progetto di software libero su Sourceforge, ed una versione preliminare si può scaricare dal sito http://www.freenetproject.org/. L'origine del sistema è il lavoro iniziale svolto dal primo autore presso l'Università di Edimburgo[12].

Attività correlate

In quest'area si possono identificare diversi settori di attività correlati a Freenet. Il remailer Mixmaster[13] per le email, l'onion routing[19] e Freedom[32] per il traffico tcp/ip generico hanno implementato i canali punto-punto anonimi basati sullo schema mix-net di Chaum[8] Tuttavia questi canali non sono in sè facilmente adattabili alla pubblicazione "uno a molti" e sono meglio visti come complemento a Freenet, dal momento che non supportano l'accesso a file e l'archiviazione.

L'anonimato per gli utilizzatori dell'informazione nel web è fornito da servizi di proxy da browser come Anonymizer[6], sebbene questi non forniscono protezione per chi offre l'informazione e non proteggono gli utilizzatori dal logging del servizio stesso. Le tecniche di recupero di informazioni private[10] danno garanzie molto più valide agli utilizzatori dell'informazione, ma solo per quel che concerne il nascondere quale porzione dell'informazione è stata recuperata e da quale specifico server. In molti casi, il fatto stesso di contattare un particolare server può rivelare ulteriori dati sull'informazione stessa recuperata, e questo sarebbe inutile solo se ogni server mantenesse tutte le informazioni (naturalmente questo ha poco peso). Il lavoro più vicino al nostro è il sistema Crowds di Reiter e Rubin[25], che usa un metodo simile di richieste proxy per gli utenti, sebbene Crowds in sè non memorizza informazioni e non protegge chi offre l'informazione. Berthold et al. propone Web MIXes[7], un sistema più forte che, per aumentare la sicurezza, utilizza il message padding (infarcimento dei messaggi), la riordinazione e i messaggi finti, ma ancora non protegge chi offre l'informazione.

Il Rewebber[26] fornisce un grado di anonimato a chi offre informazioni web per mezzo di un servizio di URL criptate che è essenzialmente l'inverso del proxy da browser, ma con lo stesso limite di non fornire protezione contro la facoltà di "intervento" da parte del servizio stesso. TAZ[18] estende quest'idea utilizzando catene di URL criptate nidificate che puntano a diversi server rewebber contattati in successione, tuttavia questo è vulnerabile all'analisi del traffico utilizzando il "replay". Entrambi si affidano ad un unico server come sorgente ultima delle informazioni. Publius[30] aumenta la disponibilità distribuendo file come porzioni ridondanti tra n webserver, dei quali solo k sono necessari per ricostruire un file; Tuttavia, dal momento in cui l'identità degli stessi server non è anonima, un aggressore potrebbe rimuovere le informazioni forzando la chiusura di n-k+1 servers. La proposta The Eternity [5] mira ad archiviare informazioni permanentemente e in modo anonimo, sebbene manchi di specifiche su come localizzare efficentemente i files archiviati e risultando così più simile a un servizio di backup anonimo. Free Haven[14] è un interessante sistema di pubblicazione anonima che fa uso di una rete fidata e un meccanismo di scambio file per fornire una maggiore responsabilità dal lato server mantenendo l'anonimato.

Distributed.net[15] ha dimostrato il concetto di associazione in larga scala di risorse CPU tra i computer di molti utenti; Altri sistemi che fanno lo stesso, ma per lo spazio disco, sono Napster[24] e Gnutella[17]; il primo si affida a un server centrale per localizzare i files e il secondo impiega un'inefficiente ricerca broadcast. Nessuno dei due replica i files. Intermemory[9] e India[16] sono sistemi cooperanti di fileserver distribuito, pensati per l'archiviazione di dati a lungo termine secondo il concetto di Eternity, per cui i files sono divisi in porzioni ridondanti e distribuiti tra svariati partecipanti. Akamai[2] fornisce un servizio che replica i files nelle aree in cui si trovano gli utenti che ne usufruiscono, ma non è adeguato per chi volesse offrire il servizio a livello individuale (non come organizzazione). Nessuno di questi sistemi cerca di fornire anonimato.

Architettura

Freenet è implementato come una rete adaptive peer-to-peer di nodi che si interrogano l'un l'altro per conservare e recuperare files di dati, che hanno un nome dato da chiavi location-independent. Ogni nodo mantiene il suo datastore locale che è reso disponibile alla rete in lettura e scrittura, come una tabella di routing dinamica che contiene indirizzi di altri nodi e le chiavi che si pensa che loro conservino. È sottointeso che una gran parte degli utenti del sistema faranno girare dei nodi, sia per dare garanzie di sicurezza contro l'uso involontario di un nodo esterno ostile, sia per incrementare la capacità di immagazzinamento dell'interno network.

Il sistema può essere considerato come un filesystem cooperativo distribuito che incorpora indipendenza di locazione e una lazy replication transparente. Semplicemente come i sistemi come distributed.net[15] che à la possibilità a utenti ordinari di condividere i cicli di CPU non utilizzati sulle loro macchine, Freenet dà ai suoi utenti la possibilità di condividere lo spazio sul disco che non usano. Comunque, mentre distributed.net usa questi cicli di CPU per i propri scopi, Freenet è direttamente utile agli utenti stessi, comportandosi come un'estensione dei loro dischi rigidi.

Il modello di base è che le richieste di chiavi sono passate da nodo a nodo attraverso una catena di richieste proxy nella quale ogni nodo fa una decisione locale su dove mandare dopo la richiesta, nello stile del routing IP (Internet Protocol). A seconda della chiave richiesta, i percorsi cambieranno. Gli algoritmi di routing per conservare e richiamare dati descritti nelle seguenti sezioni sono progettati per aggiustare adattivamente i percorsi nel tempo per dare performance efficienti mentre si usa una conoscenza solo locale, piuttosto che globale. Questo è necessario poichè i nodi conoscono solo gli upstream e downstream delle immediate vicinanze nella catena dei proxy, per mantenere la privacy.

A ogni richiesta viene dato un limite di hops-to-live, analogo al time-to-live dell'IP, che viene diminuto ad ogni nodo per evitare le catene infinite. A ogni richiesta viene anche assegnato un identificatore casuale pseudo-unico, così che i nodi possano prevenire i loop rifiutando le richieste che hanno già visto. Quando questo accade, il nodo immediatamente precedente semplicemente sceglie un altro nodo a cui passare la richiesta. Questo processo continua fino a che la richiesta viene soddisfatta o supera il suo limite di hops-to-live. Quindi il risultato di successo o di fallimento viene ripassato indietro lungo la catena fino al nodo inviante.

Nessun nodo è privilegiato rispetto a nessun altro, quindi non esiste gerarchia o un punto centrale di errore. Unirsi alla rete è semplicemente una questione di trovare per prima cosa l'indirizzo di uno o più nodi esistenti attraverso mezzi di fuori banda, e poi iniziare a mandare messaggi.


Keys and searching

Files in Freenet are identified by binary file keys obtained by applying a hash function. Currently we use the 160-bit SHA-1[4] function as our hash. Three different types of file keys are used, which vary in purpose and in the specifics of how they are constructed.

The simplest type of file key is the keyword-signed key (KSK), which is derived from a short descriptive text string chosen by the user when storing a file in the network. For example, a user inserting a treatise on warfare might assign it the description, text/philosophy/sun-tzu/art-of-war. This string is used as input to deterministically generate a public/private key pair. The public half is then hashed to yield the file key.

The private half of the asymmetric key pair is used to sign the file, providing a minimal integrity check that a retrieved file matches its file key. Note however that an attacker can use a dictionary attack against this signature by compiling a list of descriptive strings. The file is also encrypted using the descriptive string itself as a key, for reasons to be explained in section 3.4.

To allow others to retrieve the file, the user need only publish the descriptive string. This makes keyword-signed keys easy to remember and communicate to others. However, they form a flat global namespace, which is problematic. Nothing prevents two users from independently choosing the same descriptive string for different files, for example, or from engaging in "key-squatting"--inserting junk files under popular descriptions.

These problems are addressed by the signed-subspace key (SSK), which enables personal namespaces. A user creates a namespace by randomly generating a public/private key pair which will serve to identify her namespace. To insert a file, she chooses a short descriptive text string as before. The public namespace key and the descriptive string are hashed independently, XOR'ed together, and then hashed again to yield the file key.

As with the keyword-signed key, the private half of the asymmetric key pair is used to sign the file. This signature, generated from a random key pair, is more secure than the signatures used for keyword-signed keys. The file is also encrypted by the descriptive string as before.

To allow others to retrieve the file, the user publishes the descriptive string together with her subspace's public key. Storing data requires the private key, however, so only the owner of a subspace can add files to it.

The owner now has the ability to manage her own namespace. For example, she could simulate a hierarchical structure by creating directory-like files containing hypertext pointers to other files. A directory under the key text/philosophy could contain a list of keys such as text/philosophy/sun-tzu/art-of-war, text/philosophy/confucius/analects, and text/philosophy/nozick/anarchy-state-utopia, using appropriate syntax interpretable by a client. Directories can also recursively point to other directories.

The third type of key is the content-hash key (CHK), which is useful for implementing updating and splitting. A content-hash key is simply derived by directly hashing the contents of the corresponding file. This gives every file a pseudo-unique file key. Files are also encrypted by a randomly-generated encryption key. To allow others to retrieve the file, the user publishes the content-hash key itself together with the decryption key. Note that the decryption key is never stored with the file but is only published with the file key, for reasons to be explained in section 3.4.

Content-hash keys are most useful in conjunction with signed-subspace keys using an indirection mechanism. To store an updatable file, a user first inserts it under its content-hash key. She then inserts an indirect file under a signed-subspace key whose contents are the content-hash key. This enables others to retrieve the file in two steps, given the signed-subspace key.

To update a file, the owner first inserts a new version under its content-hash key, which should be different from the old version's content hash. She then inserts a new indirect file under the original signed-subspace key pointing to the updated version. When the insert reaches a node which possesses the old version, a key collision will occur. The node will check the signature on the new version, verify that it is both valid and more recent, and replace the old version. Thus the signed-subspace key will lead to the most recent version of the file, while old versions can continue to be accessed directly by content-hash key if desired. (If not requested, however, these old versions will eventually be removed from the network--see section 3.4.) This mechanism can be used to manage directories as well as regular files.

Content-hash keys can also be used for splitting files into multiple parts. For large files, splitting can be desirable because of storage and bandwidth limitations. Splitting even medium-sized files into standard-sized parts (e.g. 2n kilobytes) also has advantages in combating traffic analysis. This is easily accomplished by inserting each part separately under a content-hash key, and creating an indirect file (or multiple levels of indirect files) to point to the individual parts.

All of this still leaves the problem of finding keys in the first place. The most straightforward way to add a search capability to Freenet is to run a hypertext spider such as those used to search the web. While an attractive solution in many ways, this conflicts with the design goal of avoiding centralization. A possible alternative is to create a special class of lightweight indirect files. When a real file is inserted, the author could also insert a number of indirect files each containing a pointer to the real file, named according to search keywords chosen by her. These indirect files would differ from normal files in that multiple files with the same key (i.e. search keyword) would be permitted to exist, and requests for such keys would keep going until a specified number of results were accumulated instead of stopping at the first file found. Managing the likely large volume of such indirect files is an open problem.

An alternative mechanism is to encourage individuals to create their own compilations of favorite keys and publicize the keys of these compilations. This is an approach also in common use on the world-wide web.


Retrieving data

To retrieve a file, a user must first obtain or calculate its binary file key. She then sends a request message to her own node specifying that key and a hops-to-live value. When a node receives a request, it first checks its own store for the data and returns it if found, together with a note saying it was the source of the data. If not found, it looks up the nearest key in its routing table to the key requested and forwards the request to the corresponding node. If that request is ultimately successful and returns with the data, the node will pass the data back to the upstream requestor, cache the file in its own datastore, and create a new entry in its routing table associating the actual data source with the requested key. A subsequent request for the same key will be immediately satisfied from the local cache; a request for a "similar" key (determined by lexicographic distance) will be forwarded to the previously successful data source. Because maintaining a table of data sources is a potential security concern, any node along the way can unilaterally decide to change the reply message to claim itself or another arbitrarily-chosen node as the data source.

If a node cannot forward a request to its preferred downstream node because the target is down or a loop would be created, the node having the second-nearest key will be tried, then the third-nearest, and so on. If a node runs out of candidates to try, it reports failure back to its upstream neighbor, which will then try its second choice, etc. In this way, a request operates as a steepest-ascent hill-climbing search with backtracking. If the hops-to-live limit is exceeded, a failure result is propagated back to the original requestor without any further nodes being tried. Nodes may unilaterally curtail excessive hops-to-live values to reduce network load. They may also forget about pending requests after a period of time to keep message memory free.

Figure 1 depicts a typical sequence of request messages. The user initiates a request at node a. Node a forwards the request to node b, which forwards it to node c. Node c is unable to contact any other nodes and returns a backtracking "request failed" message to b. Node b then tries its second choice, e, which forwards the request to f. Node f forwards the request to b, which detects the loop and returns a backtracking failure message. Node f is unable to contact any other nodes and backtracks one step further back to e. Node e forwards the request to its second choice, d, which has the data. The data is returned from d via e and b back to a, which sends it back to the user. The data is also cached on e, b, and a.

Figure 1: A typical request sequence.

This mechanism has a number of effects. Most importantly, we hypothesize that the quality of the routing should improve over time, for two reasons. First, nodes should come to specialize in locating sets of similar keys. If a node is listed in routing tables under a particular key, it will tend to receive mostly requests for keys similar to that key. It is therefore likely to gain more "experience" in answering those queries and become better informed in its routing tables about which other nodes carry those keys. Second, nodes should become similarly specialized in storing clusters of files having similar keys. Because forwarding a request successfully will result in the node itself gaining a copy of the requested file, and most requests will be for similar keys, the node will mostly acquire files with similar keys. Taken together, these two effects should improve the efficiency of future requests in a self-reinforcing cycle, as nodes build up routing tables and datastores focusing on particular sets of keys, which will be precisely those keys that they are asked about.

In addition, the request mechanism will cause popular data to be transparently replicated by the system and mirrored closer to requestors. For example, if a file that is originally located in London is requested in Berkeley, it will become cached locally and provide faster response to subsequent Berkeley requests. It also becomes copied onto each computer along the way, providing redundancy if the London node fails or is shut down. (Note that "along the way" is determined by key closeness and does not necessarily have geographic relevance.)

Finally, as nodes process requests, they create new routing table entries for previously-unknown nodes that supply files, increasing connectivity. This helps new nodes to discover more of the network (although it does not help the rest of the network to discover them; for that, the announcement mechanism described in section 3.5 is necessary). Note that direct links to data sources are created, bypassing the intermediate nodes used. Thus, nodes that successfully supply data will gain routing table entries and be contacted more often than nodes that do not.

Since keys are derived from hashes, lexicographic closeness of keys does not imply any closeness of the original descriptive strings and presumably, no closeness of subject matter of the corresponding files. This lack of semantic closeness is not important, however, as the routing algorithm is based on knowing here keys are located, not where subjects are located. That is, supposing a string such as text/philosophy/sun-tzu/art-of-war yields a file key AH5JK2, requests for this file can be routed more effectively by creating clusters containing AH5JK1, AH5JK2, and AH5JK3, not by creating clusters for works of philosophy. Indeed, the use of hashes is desirable precisely because philosophical works will be scattered across the network, lessening the chances that failure of a single node will make all philosophy unavailable. The same is true for personal subspaces--files belonging to the same subspace will be scattered across different nodes.


Storing data

Inserts follow a parallel strategy to requests. To insert a file, a user first calculates a binary file key for it, using one of the procedures described in section 3.1. She then sends an insert message to her own node specifying the proposed key and a hops-to-live value (this will determine the number of nodes to store it on). When a node receives an insert proposal, it first checks its own store to see if the key is already taken. If the key is found, the node returns the pre-existing file as if a request had been made for it. The user will thus know that a collision was encountered and can try again using a different key. If the key is not found, the node looks up the nearest key in its routing table to the key proposed and forwards the insert to the corresponding node. If that insert causes a collision and returns with the data, the node will pass the data back to the upstream inserter and again behave as if a request had been made (i.e. cache the file locally and create a routing table entry for the data source).

If the hops-to-live limit is reached without a key collision being detected, an "all clear" result will be propagated back to the original inserter. Note that for inserts, this is a successful result, in contrast to situation for requests. The user then sends the data to insert, which will be propagated along the path established by the initial query and stored in each node along the way. Each node will also create an entry in its routing table associating the inserter (as the data source) with the new key. To avoid the obvious security problem, any node along the way can unilaterally decide to change the insert message to claim itself or another arbitrarily-chosen node as the data source.

If a node cannot forward an insert to its preferred downstream node because the target is down or a loop would be created, the insert backtracks to the second-nearest key, then the third-nearest, and so on in the same way as for requests. If the backtracking returns all the way back to the original inserter, it indicates that fewer nodes than asked for could be contacted. As with requests, nodes may curtail excessive hops-to-live values and/or forget about pending inserts after a period of time.

This mechanism has three effects. First, newly inserted files are selectively placed on nodes already possessing files with similar keys. This reinforces the clustering of keys set up by the request mechanism. Second, new nodes can use inserts as a supplementary means of announcing their existence to the rest of the network. Third, attempts by attackers to supplant existing files by inserting junk files under existing keys are likely to simply spread the real files further, since the originals are propagated on collision. (Note, however, that this is mostly only relevant to keyword-signed keys, as the other types of keys are more strongly verifiable.)


Trattamento dei dati

Tutti i sistemi di conservazione delle informazioni devono tenere in considerazione il problema della capacità finita di conservare informazioni. I singoli gestori del nodo di Freenet possono configurare la grandezza dello spazio da dedicare alla memorizzaione dei dati (datastore). La conservazione da parte dei nodi è trattata come una Cache LRU (Least Recently Used, ovvero usato meno di recente ndt) [29] nella quale i singoli dati sono mantenuti ordinati in ordine decrescente per data della più recente richiesta (o data di inserimento, se una voce non è mai stata richiesta). Quando arriva un nuovo file (o grazie a un nuovo inserimento o per una richiesta andata a buon fine) che potrebbe far aumentare la dimensione del gli utilizzatori oltre la grandezza stabilita, i file usati meno di recente sono espulsi in ordine fino a che si crea lo spazio. Il risultante impatto sulla disponibilità è mitigato dal fatto che le voci della tabella di routing create quando i file espulsi sono arrivati per la prima volta rimarranno per un certo tempo, permettendo potenzialmente al nodo di procurarsi successivamente altre copie dalle fonti di dati originali. (Le voci della tabella di routing, infine, vengono anche cancellate in maniera simile quando la tabella si riempie, anche se saranno conservate più a lungo se sono più piccole.)

A voler essere precisi, il datastore non è una cache, poiché l'insieme dei datastore sono tutte le informazioni che sono lì. Cioè, non c'è una copia "permanente" che viene replicata in una cache. Una volta che tutti i nodi hanno deciso, parlando collettivamente, di eliminare un determinato file, esso non sarà più disponibile per la rete. Riguardo a ciò, Freenet è diversa dai sistemi come Eternity e Free Haven che cercano di dare garanzie sui tempi di vita dei file.

Il meccanismo della scadenza ha un aspetto svantaggioso, comunque, poiché permette che i documenti vecchi svaniscano naturalmente dopo esser stati rimpiazzati da documenti più nuovi. Se un documento vecchio è ancora usato e considerato prezioso per ragioni storiche, resterà in vita fino a quando continuerà ad essere richiesto.

Per ragioni politiche o legali, può essere desiderabile per gli operatori dei nodi non conoscere esplicitamente i contenuti dei loro datastore. È per questo che tutti i file conservati sono criptati. Le procedure di crittazione usate non mirano a proteggere il file; questo sarebbe impossibile poiché chi fa una richiesta (potenzialmente chiunque) deve essere capace di decrittare il file una volta ricevuto. Piuttosto, la finalità è che il gestore di un nodo possa credibilmente negare ogni conoscenza del contenuto del suo magazzino di dati, poiché tutto ciò che sa a priori è la file key, non la encryption key. Le encryption keys per i dati keyword-signed e signed-subspace possono essere ottenute solo con un procedimento di reverse su un hash, e le encryption keys per i dati content-hash non sono affatto correlate. Con una certa difficoltà, naturalmente, un attacco basato sul dizionario svelerà quali chiavi sono presenti--poiché esso lo deve fare per le richieste per poter funzionare-- ma la fatica che un tale tentativo richiederebbe è intesa a fornire una misura di protezione per i gestori del nodo.


Aggiungere nodi

Un nuovo nodo può unirsi alla rete scoprendo l'indirizzo di uno o più nodi esistenti attraverso canali fuori banda, e poi incominciando a mandare messaggi. Come detto precedentemente, il meccanismo di richiesta abilita naturalmente i nuovi nodi a imparare più cose della rete nel corso del tempo. Comunque, per far scoprire questi dai nodi preesistenti, i nuovi nodi devono in qualche modo annunciare la loro presenza. Questo processo è reso complicato da due requisiti in qualche modo in conflitto. Da una parte per promuovere un routing efficiente, ci piacerebbe che tutti i nodi esistenti fossero lineari nel decidere quali keys mandare ad un nuovo nodo (cioè quale key assegnare ad esso nelle loro tabelle di routing). D'altra parte, causerebbe un problema di sicurezza se qualunque nodo potesse scegliere la routing key, il che esclude il sistema più lineare di raggiungere la coerenza.

Usiamo un protocollo crittografico per soddisfare entrambi questi requisiti. Un nuovo nodo che si unisce alla rete sceglie un seed a caso e manda un messaggio di annuncio che contiene il suo indirizzo e l'hash di quel seed a qualche nodo esistente. Quando un nodo riceve un annuncio di un nuovo nodo, genera un seed a caso e lo XOR-a con l'hash che ha ricevuto, e calcola nuovamente un hash del risultato per creare un vincolo. Esso poi inoltra il nuovo hash a qualche nodo scelto a caso dalla sua tabella di routing. Questo processo continua fino a che le hops-to-live della comunicazione finiscono. L'ultimo nodo che riceve l'annuncio genera semplicemente un seed. Ora tutti i nodi in catena rivelano i loro seeds e la key per il nuovo nodo è assegnata come il XOR di tutti i seeds. Controllare i vincoli abilita ogni nodo a confermare che ognuno ha reso pubblici i loro seeds sinceramente. Questo produce una conseguente key scelta a caso, che non può essere influenzata da un partecipante malizioso. Ogni nodo poi aggiunge una voce per il nuovo nodo nella sua tabella di routing sotto quella key.


Dettagli del protocollo

Il protocollo Freenet è packet-oriented e usa messaggi self-contained. Ogni messaggio include un transaction ID cosicché i nodi possono tracciare lo stato di inserimenti e richieste. Questo design è pensato per permettere flessibilità nella scelta del meccanismo di trasporto per i messaggi, se sia TCP, UDP, o altre tecnologie come packet radio. Per l'efficienza, i nodi che usano un canale persistente come una connessione TCP possono anche mandare messaggi multipli sulla stessa connessione. Gli indirizzi dei nodi consistono in un metodo di trasporto più un identificatore transport-specific come un indirizzo IP e un numero di porta, ad esempio tcp/192.168.1.1:19114. I nodi che cambiano indirizzo frequentemente possono anche usare indirizzi virtuali conservati sotto address-resolution keys (ARK's), che sono signed-subspace keys aggiornate per contenere il vero indirizzo corrente.

Una transazione di Freenet inizia con un messaggio di Request.Handshake da un nodo a un altro, che specifica l'indirizzo di ritorno desiderato del nodo inviante.[*] (L'indirizzo di ritorno del mittente può essere impossibile da determinare automaticamente per il transport layer, o il mittente puoò desiderare di ricevere risposte a un indirizzo diverso da quello usato per mandare il messaggio.) Se un nodo remoto è attivo e risponde alle richieste, risponderà con una Reply.Handshake che specifica il numero di versione del protocollo che esso riesce a capire. Le handshakes vengono mantenute in memoria per qualche ora, e nelle transazioni seguenti tra gli stessi nodi durante questo tempo si potrà saltare questo passaggio.

Tutti i messaggi contengono una transaction ID di 64-bit generata a caso, un limite di hops-to-live, e un contatore di profondità. Sebbene non si possa garantire che l'ID sia unico, la probabilità di una collisione durante il tempo della transazione tra il limitato insieme di nodi che vede è estremamente bassa. Le hops-to-live sono stabilite dalla fonte del messaggio e vengono diminuite a ogni passaggio per prevenire la possibilità che il messaggio venga inoltrato indefinitamente. Per ridurre le informazioni che una persona che tenta di attaccare può ottenere dal valore delle hops-to-live, i messaggi non terminano automaticamente quando le hops-to-live raggiungono 1 ma sono inoltrati con probabilità finite (ancora con hops-to-live 1). La profondità è aumentata ad ogni passaggio ed è usata da un nodo che risponde per stabilire un hops-to-live abbastanza alta da raggiungere un requestor. I requestor dovrebbero inizializzarlo a un piccolo valore a caso per oscurare la loro ubicazione. Come con le hops-to-live, una profondità di 1 non è automaticamente incrementata ma viene passata senza cambiamenti con probabilità finite.

Per richiedere i dati, i nodi invianti mandano un messaggio di Request.Data specificando un transaction ID, le hops-to-live iniziali e la profondità, e una search key. Il nodo remoto cercherà la key nel suo magazzino di informazioni e se non viene trovata, inoltrerà la richiesta a un altro nodo come descritto nella sezione 3.2.

Usando il limite di hops-to-live scelto, il nodo inviante fa partire un timer per la quantità di tempo prevista per contattare quei nodi, dopodiché supporrà un fallimento. Mentre la richiesta avviene, il nodo remoto può periodicamente mandare indietro messaggi Reply.Restart che indicano che i messaggi si sono bloccati aspettando timeouts della rete, cosicché il nodo inviante sa di dover estendere il suo timer.

Se la richiesta è portata a termine con successo, il nodo remoto risponderà con un messaggio Send.Data che contiene i dati richiesti e l'indirizzo del nodo che lo ha fornito (è possibile che esso sia falso). Se la richiesta non è portata a termine con successo e le sue hops-to-live sono state usate completamente cercando di soddisfarla, il nodo remoto risponderà con un NotFound?. Il nodo inviante allora decrementerà le hops-to-live del Send.Data (o del NotFound?) e lo passerà, a meno che esso sia il vero originatore della richiesta. Entrambi questi messaggi termino la transazione e lasciano ogni risorsa che occupavano. Comunque, se ci sono ancora hops-to-live rimanenti, di solito perché la richiesta è andata verso un vicolo cieco dove non c'è nessun sentiero che non genera un loop, il nodo remoto risponderà con una Request.Continue dando il numero di hops-to-live rimanenti. Il nodo inviante allora tenterà di contattare il prossimo nodo dalla sua tabella di routing. Esso manderà anche un messaggio Reply.Restart.

Per inserire dati, il nodo inviante invia un messaggio Request.Insert specificando un transaction ID generato a caso, un hops-to-live e profondità iniziale, e una key proposta. Il nodo remoto cercherà la key nel suo magazzino di informazioni e se non la troverà, inoltrerà l'inserzione a un altro nodo come descritto nella sezione 3.3. I timers e i messaggi Reply.Restart vengono anche usati alla stessa maniera delle richieste.

Se l'inserzione infine genera una collisione tra key, il nodo remoto risponderà o con un messaggio Send.Data contenente i dati esistenti o con un NotFound? (se i dati esistenti non sono stati trovati, ma i riferimenti ad essi nelle tabelle di routing sono stati trovati). Se l'inserzione non incontra una collisione ma finisce i nodi con un numero di hops-to-live rimanenti diverso da zero, il nodo remoto risponderà con un Request.Continue. In questo caso, Request.Continue è un risultato di fallimento che significa che non è stato possibile contattare tanti nodi quanti sono stati richiesti. Questi messaggi verranno passati come nel caso della richiesta. Entrambi i messaggi terminano la transazione e lasciano ogni risorsa che occupavano. Comunque, se l'inserzione scade senza incontrare una collisione, il nodo remoto risponderà con un Reply.Insert, indicando che l'inserzione può andare avanti. Il nodo inviante passerà la Reply.Insert e aspetterà che i suoi predecessori inviino un Send.Insert che contenga i dati. Quando riceve i dati, lo conserverà in locale e inoltrerà il flusso Send.Insert, concludendo la transazione.

Analisi delle prestazioni

Abbiamo eseguito delle simulazioni su un modello di questo sistema per ottenere alcune indicazioni sulle prestazioni ottenibili. Di seguito troverete i risultati più importanti; per avere dettagli completi, guarda [21].

Convergenza della rete

Per testare l'adattività del routing di rete, abbiamo creato un network di 1000 nodi. Ogni nodo permette la memorizzazione di 50 "oggetti" all'interno del proprio datastore e, la gestione di 250 indirizzi nella propria tabella di routing. Ogni datastore è stato inizializzato con valori di default uguali a NULL, e le tabelle di routing secondo una configurazione che prende il nome di "lattice finito" in cui ogni nodo mantiene all'interno della propria tabella, gli indirizzi dei due nodi ad esso più "vicini". Le chiavi associate a questi indirizzi sono state create utilizzando l'hash degli stessi indirizzi remoti. Utilizzare una funzione di hash, ci consente di avere chiavi che sono casuali e consistenti (ogni riferimento ad un dato nodo utilizza la stessa chiave).

Abbiamo inviato alcune richieste di inserimento di chiavi casuali ad altrettanti nodi scelti in modo accidentale, intercalate con alcune richieste (inviate sempre a nodi scelti a caso) per chiavi di cui sapevano già che era stato effettuato l'inserimento (la "profondità" del campo Hops-To-Live è stato impostato a 20 sia per i messaggi di inserimento che per quelli di richiesta). Ogni 100 "passaggi", l'intera rete è stata analizzata al fine di ricavare le prestazioni offerte dall'attuale struttura, utilizzando un set di richieste-prova. Ogni prova consisteva nella richiesta di 300 chiavi precedentemente inserite utilizzando un HTL di 500. Registrando i risultati cosí acquisiti, abbiamo potuto disegnare il grafico degli "hop" richiesti (lunghezza del percorso), prima di trovare i dati. Se la richiesta non andava a buon fine, la lunghezza del percorso la impostavamo a 500.

Figure 2 shows the evolution of the first, second, and third quartiles of the request pathlength over time, averaged over ten trials.

Figure 2: Time evolution of the request pathlength.
<img WIDTH="582" HEIGHT="421" BORDER="0" SRC="/images/icsi-img3.gif">

Possiamo vedere come la lunghezza dei percorsi iniziali, inizialmente elevata, decresca rapidamente nel tempo. All'inizio poche richieste di fatto vengono soddisfatte, ma mentre la rete converge, la media della lunghezza delle richieste, crolla a 6.

Scalabilità

Successivamente, abbiamo analizzato la scalabilità di una rete "nascente". Partendo da 20 nodi, inizializzati nel modo visto prima, abbiamo aggiunto nodi con il passare del tempo e misurato il cambiamento nelle "lunghezze del cammino" per raggiungere i dati.

Inserimenti e Richieste sono stati simulati casualmente come visto prima. Ogni cinque passaggi, un nuovo nodo è stato creato e aggiunto alla rete simulando un "node announcement" con un HTL di 10 inviato ad un nodo già esistente. La chiave assegnata da questo "annuncio" è stata scelta come l'hash dell'indirizzo del nuovo nodo. Notate che questa procedura non implica necessariamente una tasso lineare nella crescita della rete, ma piuttosto una relazione lineare tra il tasso di richieste e il tasso di crescita.

Figure 3 shows the evolution of the first, second, and third quartiles of the request pathlength versus network size, averaged over ten trials.

Figure 3: Request pathlength versus network size.

Possiamo notare come i "passi" necessari a raggiungere i dati tendono a crescere, in numero, secondo una funzione logaritmica, con un repentino cambio intorno ai 40.000 nodi. Abbiamo supposto che questo cambiamento (crollo) improvviso sia dovuto al completo riempimento delle tabelle di routing e puó essere facilmente eliminato inserendo alcuni nodi con tabelle decisamente piú "ampie". La sezione 5.4 discute queste questioni piú in dettaglio. Mentre le tabelle di routing da noi utilizzate per la simulazione sono limitate a 250 record, i nodi Freenet reali dovrebbero facilmente contenere migliaia di record. Non di meno val la pena far notare, che anche con una rete così limitata, riusciamo a scalare ad un milione di nodi con un percorso medio di 30 salti.

Fault-tolerance

Per concludere, abbiamo considerato la fault-tolerance del network. Partendo dalla rete di 1000 nodi ottenuta dal metodo precedente, abbiamo progressivamente rimosso (a caso...) alcuni nodi al fine di simularne il guasto degli stessi. La figura 4 mostra il cambiamento dei pathlengh dopo una decina di prove.

Figure 4: Change in request pathlength under network failure.
<img WIDTH="582" HEIGHT="421" BORDER="0" SRC="/images/icsi-img5.gif" ALT="\begin{figure}\centerline{ \psfig{figure=03freenet4.eps,width=12cm} } \end{figure}">

La rete è sorprendentemente robusta anche dopo numerosi nodi "guasti". Il pathlenght medio rimane sotto 20 anche con il 30% di nodi falliti.


Small-world model

La scalabilità e le caratteristiche fault-tolerance di Freenet possono essere spiegate in termini di un modello di rete small-world [<a HREF="#Milgram">23,<a HREF="#Watts">31,<a HREF="#Huberman">22,<a HREF="#Albert">3]. In una rete "small-world", la maggioranza dei nodi presenti hanno poche connessioni locali con gli altri nodi, mentre un esiguo numero di nodi possiede un numero elevato e largamente distribuito di connessioni. Una rete "Small-world" permette di avere "tracciati corti" tra punti arbitrari della rete grazie alle connessioni locali della maggioranza dei nodi (come si diceva sopra), come evidenziato dall'esperimento di Milgram [<a HREF="#Milgram">23] e il "gioco dei numeri di Erdös" spiegato da Watts e Strogatz[<a HREF="#Watts">31].

Si può affermare che Freenet è una rete "small-world" ? Un fattore chiave per l'identificazione di una rete "small-world" è l'esistenza di una "distribuzione esponenziale" del numero dei link tra i nodi della rete che induce l'esistenza di nodi "altamente" connessi a forzare brevi percorsi tra di essi. La figura 5 mostra la distribuzione media dei link in una rete Freenet di 1000 nodi utilizzata nella sessione precedente.

Figure 5: Distribution of link number among Freenet nodes.
<img WIDTH="582" HEIGHT="421" BORDER="0" SRC="/images/icsi-img6.gif" ALT="\begin{figure}\centerline{ \psfig{figure=03freenet5.eps,width=12cm} } \end{figure}">

Possiamo vedere come la distribuzione si avvicini ad un andamento esponenziale, eccetto per un punto "anomalo" dovuto al riempimento delle tabelle di routing. Nel momento in cui utilizziamo tabelle di routing di differente capacità, questo punto "critico" si sposta rimanendo invariata il carattere esponenziale della distribuzione.

Oltre a ridurre il "cammino" minimo per raggiungere i dati, la distribuzione esponenziale da ad una rete "small-world" un alto grado di fault-tolerance. I fallimenti casuali di fatto eliminano dalla rete quei nodi che non posseggono un piccolo numero di connessioni. La perdita di nodi "poco connessi", non incidono piú di tanto il processo di routing all'interno della rete. Solo quando il fallimento (guasto n.d.t) di molti nodi comincia a crescere (eliminando dalla rete un significativo numero di nodi "ben connessi"), le performance subiscono un degrado importante.


Sicurezza

L'obiettivo primario della sicurezza di Freenet è proteggere l'anonimato di coloro che richiedono o inseriscono file. Inoltre è importante proteggere l'identità di coloro che fisicamente memorizzano le informazioni. Anche se chiunque può banalmente fare in modo che un nodo memorizzi un dato file, richiedendolo attraverso quel nodo, ciò che è importante è che quel file resti memorizzato anche presso altri nodi non identificabili, in modo che non sia possibile rimuovere il file da Freenet tentando di attaccare tutti i nodi che lo possiedono. I file debbono essere protetti dalla modifica delierata ed il sistema, infine, deve essere resistente ad attacchi di tipo denial-of-service.

Reiter e Rubin[<a HREF="#Reiter">25] propongono un'interessante tassonomia delle proprietà della comunicazione anonima su tre assi. Il primo asse è rappresenta il tipo di anonimato: anonimato del mittente o del destinatario, il che significa rispettivamente che un nemico non può identificare chi ha originato il messaggio o chi è supposto riceverlo. Il secondo asse è il nemico in questione: un intercettatore locale, un nodo maligno o un insieme di nodi maligni coordinati, o un server web (quest'ultimo caso non si applica a Freenet). Il terzo asse è il grado di anonimato, che varia da "riservatezza assoluta" (impossibilità di rilevare il fatto che la comunicazione avviene) a "oltre ogni sospetto" (il vero mittente non ha maggior probabilità di essere identificato come tale rispetto ad altri mittenti potenziali), a "innocenza probabile" (il fatto che il vero mittente sia tale non è più probabile del fatto che non lo sia), a "innocenza possibile", "smascherato", "smascherato con le prove" (il nemico può dimostrare ad altri chi è il mittente).

Poich&eacute la comunicazione su Freenet non è diretta a destinatari specifici, l'anonimato del ricevente può essere interpretato come la riservatezza della chiave, ovvero il celare la chiave che viene richiesta o inserita. Purtroppo, poich&eacute l'instradamento dipende dalla conoscenza della chiave, la riservatezza della chiave non può essere ottenuta con lo schema Freenet di base (vedi però la discussione sul 'pre-routing' più sotto). L'uso di funzioni hash come chiavi permette di difendersi contro l'intercettazione casuale, ma è vulnerabile ad attacchi a dizionario poich&eacute la versione originale della chiave deve essere nota per poter essere utile.

Le proprietà di anonimato di Freenet sulla base di questa tassonomia sono illustrate nella tabella 1.

Table 1: Proprietà di anonimato in Freenet.
Sistema Nemico Anonimato del mittente Riservatezza della chiave
Schema Freenet di base intercettatore locale smascherato smascherato
insieme di nodi maligni oltre ogni sospetto smascherato
Freenet + pre-routing intercettatore locale smascherato oltre ogni sospetto
insieme di nodi maligni oltre ogni sospetto smascherato


Contro un insieme di nodi maligni, l'anonimato del mittente è preservato oltre ogni sospetto poich&eacute un nodo sul percorso di richiesta non è capace di riconoscere se il nodo che lo precede ha originato la richiesta o la sta semplicemente inoltrando. [<a HREF="#Reiter">25] descrive un attacco di tipo probabilistico che potrebbe compromettere l'anonimato del mittente, effettuando un'analisi statistica della probabilità che una richiesta che arriva al nodo a sia inoltrata o gestita direttamente e della probabilità che a scelga un particolare nodo b per inoltrare la richiesta. Tale analisi non è comunque applicabile direttamente a Freenet, poich&eacute i percorsi di richiesta non sono costruiti in modo stocastico. L'inoltro della richiesta dipende dal fatto che a abbia o meno il dato richiesto nel datastore più che da fattori random. Se una richiesta viene inoltrata, le tabelle di instradamento determinano dove questa viene inviata e potrebbe essere il caso che a inoltri tutte come nessuna richiesta a b. In ogni caso, il valore di "depth" può fornire alcune indicazioni sulla distanza del nodo di origine, anche se è nascosta dalla selezione casuale della "depth" iniziale e del suo incremento condotto in modo randomico (vedi paragrafo 4). Considerazioni simili si possono applicare agli "hops-to-live". Saranno necessari ulteriori studi per chiarire queste questioni.

Non vi è protezione dei messaggi contro l'intercettazione sul percorso tra l'utente e il primo nodo. Poich&eacute il primo nodo può agire da intercettatore, si raccomanda che l'utente impieghi un nodo sulla propria macchina come punto d'entrata sulla rete Freenet. I messaggi tra nodi successivi sono crittati contro l'intercettazione, ma è comunque possibile effettuare un'analisi del traffico (ad esempio si può osservare un messaggio uscente senza un precedente messaggio entrante e concludere che quel messaggio è stato generato localmente).

La riservatezza delle chiavi ed una più forte protezione dell'anonimato del mittente possono essere ottenute introducendo un "pre-routing" dei messaggi del tipo di quello utilizzato in mix. In questo schema, i messaggi Freenet di base vengono crittati con una sequenza di chiavi pubbliche che determinano il percorso che il messaggio seguirà (bypassando il normale meccanismo di instradamento). I nodi lungo il percorso non possono determinare n&eacute il mittente del messaggio n&eacute il suo contenuto (inclusa la chiave di richiesta), come nel caso di mix. Quando il messaggio raggiunge il punto terminale della fase di pre-routing, esso viene inserito nella rete Freenet e si comporta come se fosse stato originato localmente.

La protezione per la sorgente dei dati è assicurata dalla riscrittura occasionale del campo sorgente nelle risposte. Il fatto che un nodo sia indicato come sorgente per una data chiave non implica necessariamente che esso abbia effettivamente fornito i dati, o che sia anche stato contattato nel corso della richiesta. Non è possibile decidere se il nodo a valle abbia fornito il file o abbia semplicemente inoltrato una richiesta generata da qualcun altro. Infatti, il solo richiedere con successo un file fa in modo che questo venga memorizzato nel nodo a valle se non c'era di gi&agrave, cosicch&eacute un successivo esame di quel nodo non rivela niente sullo stato precedente, e fornisce una base legale per affermare che un certo dato non era presente prima che venisse richiesto all'atto dell'investigazione. La richiesta di un dato con un "hops-to-live" di 1 non rivela direttamente se il nodo avesse precedentemente memorizzato il dato, poich&eacute continuano con probabilità finita ad inoltrare messaggi con hops-to-live pari ad 1. La conclusione con successo di un consistente numero di richieste di file correlati può fornire tuttavia una base per sospettare che tali file si trovassero memorizzati localmente in precedenza.

La modifica di un file da parte di un nodo maligno che si trovi sulla catena di richiesta costituisce una grave; minaccia, e non solo per l'integrità del file in s&eacute. Poich&eacute le tabelle di instradamenteo sono basate sulle risposte alle richieste, un nodo potrebbe tentare di indirizzare il traffico verso se stesso facendo finta di possedere file che non ha e rispondendo semplicemente con dati fittizi. Per dati memorizzati sotto chiavi content-hash o signed-subspace, questo non è attuabile poich&eacute dati non autentici possono essere rilevati, a meno che un nodo non trovi una coincidenza di hash od abbia successo nel contraffare una firma crittografica. I dati memorizzati sotto chiavi keyword-signed sono comunque vulnerabili ad attacchi a dizionario, poich&eacute possono essere firmati da chiunque conosca la stringa descrittiva originale.

Infine, si può prevedere un certo numero di attacchi di tipo denial-of-service. La minaccia più grave è che un utente cerchi di saturare la capacità di memorizzazione della rete con l'inserimento di grandi quantità di dati non significativi. Un'interessante possibilità di contrastare questi attacchi è l'uso di schemi come l'Hash Cash [<a HREF="#Hash">20]. Fondamentalmente, questo schema richiede che colui che inserisce un dato debba effettuare un'elaborazione complessa come "tassa" per l'inserimento, in modo da rallentare l'attacco. Un'altra alternativa è quella di suddividere il datastore in due parti, una per i nuovi inserimenti ed una per i file "stabili", che hanno cioè già ricevuto un certo numero di richieste. I nuovi inserimenti possono solo rimpiazzare altri file "nuovi". In questo modo, l'inserimento massiccio di dati non significativi può solo paralizzare temporaneamente le operazioni di inserimento, ma non causare la rimozione di file importanti. Risulta infatti difficile "legittimare" artificialmente i dati mediante ripetute richieste, poich&eacute tutte le richieste verranno soddisfatte dal primo nodo contenente i file e non procederanno oltre. D'altra parte, non è possibile interrogare direttamente i nodi a valle poiché non se ne conosce l'identit&agrave. In ogni caso, l'adozione di questo schema può compromettere la sopravvivenza di dati legittimi per un tempo lungo abbastanza da renderli stabili.

Si può tentare di rimpiazzare file esistenti inserendo versioni diverse di essi sotto le stesse chiavi. Questo tipo di attacco non è possibile per chiave content-hash o signed-subspace, poich&eacute richiede una coincidenza di hash o la falsificazione di una firma crittografica. Un attacco di questo tipo contro una chiave keyword-signed, d'altra parte, può portare alla coesistenza delle due versioni nella rete. Le modalità con cui i nodi trattano le collisioni (vedi descrizione dettagliata nel paragrafo 3.3) sono tali da rendere questi attacchi più difficili. Il successo di un attacco a rimpiazzo può essere misurato con il rapporto tra il numero di versioni originali del file e il numero di versioni corrotte presenti nel sistema. In ogni caso, maggiore è il numero di copie corrotte che si tenta di diffondere (impostando un alto hops-to-live nell'inserimento), maggiore è la probabilità che si realizzi una collisione, il che causa l'incremento del numero di copie originali.

Conclusioni

La rete Freenet fornisce un affidabile mezzo di memorizzazione e recupero anonimo di informazioni. Mediante l'uso di nodi cooperanti diffusi su molti computer insieme ad un efficiente algoritmo adattativo di instradamento, essa mantiene anonima e disponibile l'informazione mantenendo un'alta scalabilit&agrave. La fase di test sta avendo fino ad ora un discreto successo, con decine di migliaia di copie del software scaricate e molti file in circolazione. A causa della natura anonima del sistema, è impossibile decidere con esattezza quanti utenti vi siano o quali siano le prestazioni dei meccanismi di inserimento e richiesta, ma le impressioni sono state finora positive. Stiamo lavorando sulla realizzazione di un sistema di simulazione e visualizzazione che permetterà di effettuare prove più rigorose sul protocollo e sul meccanismo di instradamento. È necessaria nna simulazione più è realistica che tenga conto degli effetti di nodi che entrano ed escono dalla rete, della variazione della capacità e della larghezza di banda dei nodi, e di dimensioni maggiori della rete. Sarebbe inoltre desiderabile realizzare una struttura a chiave pubblica per l'autenticazione dei nodi in modo da creare un meccanismo di ricerca.

Ringraziamenti

Questo materiale è basato parzialmente su lavori patrocinati da una National Science Foundation Graduate Research Fellowship.

Bibliografia

1.
S. Adler, "The Slashdot effect: an analysis of three Internet publications," Linux Gazette issue 38, March 1999.

2.
Akamai, http://www.akamai.com/ (2000).

3.
R. Albert, H. Jeong, and A. Barabási, "Error and attack tolerance of complex networks," Nature 406, 378-382 (2000).

4.
American National Standards Institute, American National Standard X9.30.2-1997: Public Key Cryptography for the Financial Services Industry - Part 2: The Secure Hash Algorithm (SHA-1) (1997).

5.
R.J. Anderson, "The Eternity service," in Proceedings of the 1st International Conference on the Theory and Applications of Cryptology (PRAGOCRYPT '96), Prague, Czech Republic (1996).

6.
Anonymizer, http://www.anonymizer.com/ (2000).

7.
O. Berthold, H. Federrath, and S. Köpsell, "Web MIXes: a system for anonymous and unobservable Internet access," in Proceedings of the Workshop on Design Issues in Anonymity and Unobservability, Berkeley, CA, USA. Springer: New York (2001).

8.
D.L. Chaum, "Untraceable electronic mail, return addresses, and digital pseudonyms," Communications of the ACM 24(2), 84-88 (1981).

9.
Y. Chen, J. Edler, A. Goldberg, A. Gottlieb, S. Sobti, and P. Yianilos, "A prototype implementation of archival intermemory," in Proceedings of the Fourth ACM Conference on Digital Libraries (DL '99), Berkeley, CA, USA. ACM Press: New York (1999).

10.
B. Chor, O. Goldreich, E. Kushilevitz, and M. Sudan, "Private information retrieval," Journal of the ACM 45(6), 965-982 (1998).

11.
Church of Spiritual Technology (Scientology) v. Dataweb et al., Cause No. 96/1048, District Court of the Hague, The Netherlands (1999).

12.
I. Clarke, "A distributed decentralised information storage and retrieval system," unpublished report, Division of Informatics, University of Edinburgh (1999). Available at http://www.freenetproject.org/ (2000).

13.
L. Cottrell, "Frequently asked questions about Mixmaster remailers," http://www.obscura.com/~loki/remailer/mixmaster-faq.html (2000).

14.
R. Dingledine, M.J. Freedman, and D. Molnar, "The Free Haven project: distributed anonymous storage service," in Proceedings of the Workshop on Design Issues in Anonymity and Unobservability, Berkeley, CA, USA. Springer: New York (2001).

15.
Distributed.net, http://www.distributed.net/ (2000).

16.
D.J. Ellard, J.M. Megquier, and L. Park, "The INDIA protocol," http://www.eecs.harvard.edu/~ellard/India-WWW/ (2000).

17.
Gnutella, http://gnutella.wego.com/ (2000).

18.
I. Goldberg and D. Wagner, "TAZ servers and the rewebber network: enabling anonymous publishing on the world wide web," First Monday 3(4) (1998).

19.
D. Goldschlag, M. Reed, and P. Syverson, "Onion routing for anonymous and private Internet connections," Communications of the ACM 42(2), 39-41 (1999).

20.
Hash Cash, http://www.cypherspace.org/~adam/hashcash/ (2000).

21.
T. Hong, "Performance," in Peer-to-Peer, ed. by A. Oram. O'Reilly: Sebastopol, CA, USA (2001).

22.
B.A. Huberman and L.A. Adamic, "Growth dynamics of the world-wide web," Nature 401, 131 (1999).

23.
S. Milgram, "The small world problem," Psychology Today 1(1), 60-67 (1967).

24.
Napster, http://www.napster.com/ (2000).

25.
M.K. Reiter and A.D. Rubin, "Anonymous web transactions with Crowds," Communications of the ACM 42(2), 32-38 (1999).

26.
The Rewebber, http://www.rewebber.de/ (2000).

27.
M. Richtel and S. Robinson, "Several web sites are attacked on day after assault shut Yahoo," The New York Times, February 9, 2000.

28.
J. Rosen, "The eroded self," The New York Times, April 30, 2000.

29.
A.S. Tanenbaum, Modern Operating Systems. Prentice-Hall: Upper Saddle River, NJ, USA (1992).

30.
M. Waldman, A.D. Rubin, and L.F. Cranor, "Publius: a robust, tamper-evident, censorship-resistant, web publishing system," in Proceedings of the Ninth USENIX Security Symposium, Denver, CO, USA (2000).

31.
D. Watts and S. Strogatz, "Collective dynamics of `small-world' networks," Nature 393, 440-442 (1998).

32.
Zero-Knowledge Systems, http://www.zks.net/ (2000).


Note
...4<a NAME="foot15" HREF="#tex2html1">[*]
Il lavoro di Theodore W. Hong è supportato da alcuni grants da parte di the Marshall Aid Commemoration Commission and the National Science Foundation.

... sending<a NAME="foot128" HREF="#tex2html7">[*]
Ricorda che il nodo a monte può o meno essere il richiedente originale.


About this document ...

Freenet: A Distributed Anonymous Information Storage and Retrieval System

This document was generated using the LaTeX2HTML translator Version 99.2beta6 (1.42)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -split 0 -nofootnode -nonavigation -local_icons -dir icsi theoppr.tex

The translation was initiated by Theodore Hong on 2001-01-16



Theodore Hong

 


IanClarke  

21 Dec 2001 - 21:37 - r1.2   IanClarke

Personal Preferences (details in TWikiVariables)

Related topics

 


IanSidle  

29 Dec 2001 - 19:34 - NEW   IanSidle

Personal Preferences (details in TWikiVariables)

Related topics

 


JaapBouwsma  

25 Dec 2001 - 10:48 - NEW   JaapBouwsma

Personal Preferences (details in TWikiVariables)

Related topics

 


JamesGaskell  

02 Jan 2002 - 16:10 - NEW   JamesGaskell

Personal Preferences (details in TWikiVariables)

Related topics

 


JamesGrainger  

01 Jan 2002 - 09:10 - NEW   JamesGrainger

Personal Preferences (details in TWikiVariables)

Related topics

 


JanieMehew  

25 Dec 2001 - 04:32 - NEW   JanieMehew

Personal Preferences (details in TWikiVariables)

Related topics

 


JoeBerk  

30 Dec 2001 - 19:24 - NEW   JoeBerk

Personal Preferences (details in TWikiVariables)

Related topics

 


JohnZero  

26 Dec 2001 - 20:00 - NEW   JohnZero

Personal Preferences (details in TWikiVariables)

Related topics

 


JoshuaAbbott  

31 Dec 2001 - 20:14 - NEW   JoshuaAbbott

Personal Preferences (details in TWikiVariables)

Related topics

 


JukkaHolappa  

01 Jan 2002 - 00:24 - NEW   JukkaHolappa

Personal Preferences (details in TWikiVariables)

Related topics

 


JustinWeeks  

01 Jan 2002 - 03:23 - NEW   JustinWeeks

Personal Preferences (details in TWikiVariables)

Related topics

 


KamalSulaiman  

01 Jan 2002 - 16:55 - NEW   KamalSulaiman

Personal Preferences (details in TWikiVariables)

Related topics

 


KenFollett  

01 Jan 2002 - 23:19 - NEW   KenFollett

Personal Preferences (details in TWikiVariables)

Related topics

 


KhanKhan  

02 Jan 2002 - 09:13 - NEW   KhanKhan

Personal Preferences (details in TWikiVariables)

Related topics

 


LeonidChukhovsky  

02 Jan 2002 - 14:56 - NEW   LeonidChukhovsky

Personal Preferences (details in TWikiVariables)

Related topics

 


LeukHe  

02 Jan 2002 - 10:30 - NEW   LeukHe

Personal Preferences (details in TWikiVariables)

Related topics

 


Lists  

17 Jan 2002 - 09:59 - r1.2   MarcoCalamari

Note: Abbiamo costantemente richieste da gente che vuole cancellare la propria iscrizione. DEVI farlo da solo! Clicca sul link che e' alla base di ogni email, immetti il tuo indirizzo di posta nel campo di testo della sezione "Subscribers" ed immetti la tua password nella opzione di cancellazione della iscrizione. (Puoi ottenere anche la tua password nel caso tu l'abbia dimenticata.)

Mailing list italiana

Mailing list tecnica ed organizzativa della comunità Freenet italiana. Coordina la rete italiana di server e le attività di traduzione, e fornisce supporto agli utenti non anglofoni. Lista aperta e non moderata.

Annunci (moderati)

Usa questa sottoscrizione per la notifica dei piu' importanti sviluppi di Freenet, come annunci di nuove release o importanti bugfixes. Questa e' una lista con un traffico molto basso (meno di un messaggio al mese).

Support (archive)

Richieste o sottomissioni di annunci collegati al funzionamento di Freenet, comunicazioni di bug e suggerimenti su esperienze personali. Richieste d'aiuto e simili che vanno sottoposte qui piuttosto che in altre liste di spedizione.

Development (archive)

Discussioni pertinenti la prossima release di Freenet. Quali caratteristiche dovrebbero o non dovrebbero essere implementate, quante cose dovrebbero essere implementate, etc. Discussioni su come Freenet dovrebbe essere in generale (al contrario della prossima release) ed inserite nella lista tecnica di lavoro. Se pensi di avere una grande idea su qualche caratteristica da implementare o critiche, leggi prima tutta la documentazione, specialmete la [[FAQ] [domande poste frequentemente]]. Gli sviluppatori hanno poca pazienza nel rispondere alle stesse domande.

Technical Discussion (archive)
Articoli tecnici relativi a Freenet, non specifici alle implementazioni correnti. Crittografia, packet radio, progetti collegati, suggerimenti per future versioni, critiche allo sviluppo, etc. Qualsiasi cosa che abbia un collegamento con la tecnologia e relazione a Freenet deve andare qui.

Chat (archive)

Discussione generale su qualsiasi argomento. E' generalmente ad alto traffico. Usala a tuo rischio personale.

CVS (archive)
Una lista di mailing solo di lettura dove vengono postati i check di CVS. Questa e' molto probabilmente di interesse esclusivo deigli sviluppatori.

Documentation (archive)
Discussione sulla documentazione Freenet.

Clients (archive)
Discussione relativa ai clients Freenet.

Web (archive)

Discussione sull'organizzazione e sviluppo del sito web Freenet e relative traduzioni.

 


LondonOffice  

02 Jan 2002 - 17:47 - NEW   TWikiGuest

Here would stand the information about the London office:

Related topic: OfficeLocations, TWikiUsers

 


LouisWynne  

02 Jan 2002 - 15:30 - NEW   LouisWynne

Personal Preferences (details in TWikiVariables)

Related topics

 


MacBeth  

02 Jan 2002 - 01:41 - NEW   MacBeth

Personal Preferences (details in TWikiVariables)

Related topics

 


MalakaiQAdams  

29 Dec 2001 - 18:22 - NEW   MalakaiQAdams

Personal Preferences (details in TWikiVariables)

Related topics

 


MarcoCalamari  

27 Dec 2001 - 07:53 - NEW   MarcoCalamari

Personal Preferences (details in TWikiVariables)

Related topics

 


MarcoVicario  

31 Dec 2001 - 11:55 - NEW   MarcoVicario

Personal Preferences (details in TWikiVariables)

Related topics

 


MarkJRoberts  

28 Dec 2001 - 22:39 - NEW   MarkJRoberts

Personal Preferences (details in TWikiVariables)

Related topics

 


MarkLon  

01 Jan 2002 - 19:09 - NEW   MarkLon

Personal Preferences (details in TWikiVariables)

Related topics

 


MattPuchowicz  

31 Dec 2001 - 23:54 - NEW   MattPuchowicz

Personal Preferences (details in TWikiVariables)

Related topics

 


MatteoDominoni  

01 Jan 2002 - 22:25 - NEW   MatteoDominoni

Personal Preferences (details in TWikiVariables)

Related topics

 


MikeMorris  

30 Dec 2001 - 05:52 - NEW   MikeMorris

Personal Preferences (details in TWikiVariables)

Related topics

 


MikhailMiguel  

02 Jan 2002 - 07:35 - NEW   MikhailMiguel

Personal Preferences (details in TWikiVariables)

Related topics

 


MwZ  

31 Dec 2001 - 04:51 - NEW   MwZ

Personal Preferences (details in TWikiVariables)

Related topics

 


NATSAndFirewalls  

07 Jan 2002 - 09:48 - NEW   MarcoCalamari

Usare Freenet attraverso un NAT o un Firewall

Per funzionare correttamente, Freenet ha bisogno che gli altri nodi Freenet possano stabilire connessioni TCP con il tuo nodo, di solito un NAT o un Firewall lo impediranno, comunque c'è un modo per aggirare la cosa se puoi modificare le impostazioni del NAT o del Firewall. Ecco come:

Se il Firewall gira sul tuo computer

Installa Freenet normalmente, annotando quale porta è in ascolto per le connessioni esterne (il parametro listenPort nel file freenet.conf o freenet.ini te lo dirà). Apri il tuo Firewall e configuralo per ricevere le connessioni TCP in entrata su quella porta.

Se il tuo computer appartiene a una rete che si trova dietro un NAT o un Firewall

  1. Installa Freenet normalmente, ma invece di inserire l'indirizzo IP del tuo computer, inserisci l'indirizzo IP del NAT o del Firewall.
  2. Vai nella configurazione del tuo NAT o Firewall e impostalo in modo da inoltrare le connessioni TCP su quella porta all'indirizzo IP del tuo computer.

 


NewUser  

01 Jan 2002 - 03:07 - NEW   NewUser

Personal Preferences (details in TWikiVariables)

Related topics

 


NobodyGroup  

07 Aug 2001 - 15:52 - NEW   JohnTalintyre?

Nobody Group

Used to prevent dangerous actions e.g. renaming TWikiPreferences.

Related topics: TWikiUsers, TWikiGroups, TWikiAccessControl

 


OfficeLocations  

21 Dec 2001 - 21:34 - r1.5   IanClarke

The OfficeLocations topic has a list of all your offices.

(This is an example of corporate intranet use and is for demonstration purposes only: TWikiRegistration asks for an office location. To add/remove an office edit this OfficeLocations topic and the TWikiRegistration topic)

Related topics: TWikiUsers, TWikiGroups

 


PaoloMargari  

29 Dec 2001 - 16:29 - NEW   PaoloMargari

Personal Preferences (details in TWikiVariables)

Related topics

 


Papers  

13 Mar 2002 - 16:40 - r1.4   MarcoCalamari

Documentazione

"Protecting Free Expression Online with Freenet", IEEE Internet Computing 6(1), January/February 2002.

A distributed decentralized information storage and retrieval system (PDF) - Il documento originale, mai pubblicato, su cui è basata l'architettura di Freenet - Ian Clarke - 1999

Freenet: A Distributed Anonymous Information Storage and Retrieval System in Designing Privacy Enhancing Technologies: International Workshop on Design Issues in Anonymity and Unobservability, LNCS 2009, ed. by H. Federrath. Springer: New York (2001).

"Freenet, un anno dopo" (html, ppt): Marco A. Calamari, 2001 - Introduzione a Freenet, presentata al Pluto Meeting 2001, Terni.

"Analisi del protocollo di Freenet, punti di forza e debolezze" (pdf, doc): Dario Salvi e Gabriele Appolloni, 2002 - lettura presentata al Corso di Reti di Calcolatori della Università Federico II di Napoli.

 


People  

05 Jan 2002 - 21:56 - r1.2   MarcoCalamari

Le persone dietro Freenet

Nota: Questa è una lista incompleta, poiché un gran numero di persone hanno contribuito al Progetto. Queste persone possono inserirsi in questa lista con una loro breve biografia.

Ian Clarke

Freenet è basata sull'articolo di Ian "A Distributed Decentralised Information Storage and Retrieval System". Ian ha avviato il Progetto Freenet nel Luglio del 1999, e continua a coordinare il Progetto.

Brandon Wiley

Brandon è stata la prima persona a contribuire al Progetto Freenet, ed è responsabile della maggior parte del codice di Freenet 0.1. Brandon si e' poi trasferito in nuovi pascoli e non è più coinvolto in Freenet.

Oskar Sandberg

Scott Miller

Tavin Cole

Stephen Starr

Stephen è il coordinatore della società senza fine di lucro Freenet Project.

 


PeterB  

29 Dec 2001 - 22:28 - NEW   PeterB

Personal Preferences (details in TWikiVariables)

Related topics

 


PeterSchmidt  

01 Jan 2002 - 22:46 - NEW   PeterSchmidt

Personal Preferences (details in TWikiVariables)

Related topics

 


PhilipHadley  

29 Dec 2001 - 22:41 - NEW   PhilipHadley

Personal Preferences (details in TWikiVariables)

Related topics

 


Philosophy  

12 Jan 2002 - 12:14 - r1.3   MarcoCalamari

La filosofia di Freenet

di Ian Clarke

1. Una nota di riserva

Sono molti i motivi per decidere di partecipare al progetto Freenet. Qualcuno degli interessati condivide le opinioni espresse nel presente testo; altri propendono per varianti di queste opinioni, che trovano rispondenza anch'esse in quello che stiamo cercando di realizzare; altri ancora, semplicemente, apprezzano la sfida sotto il profilo tecnico. Espongo qui le idee che mi hanno maggiormente motivato ad elaborare il sistema, le quali non coincidono necessariamente con le opinioni di tutti i partecipanti al progetto Freenet.

2. Letture preliminari suggerite

Perchè questo testo abbia un significato, si dovrebbe già sapere che cos'è Freenet. Una buona presentazione generale si trova nella pagina Cos'è Freenet?.

3. L'importanza del libero flusso dell'informazione

Nella massima parte delle culture occidentali, la libertà di parola è considerata in genere uno dei più importanti diritti che si possano avere. Perchè è così importante la libertà di scambiarsi idee e opinioni? Sono molte le risposte a questa domanda.

3.1 è la comunicazione che ci rende umani

Una delle differenze più evidenti tra il genere umano e il resto del regno animale è la nostra capacità di comunicare concetti astratti e sofisticati. Anche se scopriamo di continuo che la capacità di comunicazione degli animali è più sofisticata di quanto si pensasse in passato, è improbabile che qualsiasi altro animale si avvicini al nostro livello di capacità in questo campo.

3.2 è bene sapere

La maggior parte della gente, potendo decidere se sapere o non sapere qualcosa, sceglierà di essere più, e non meno, informata. Si sono vinte e perse guerre a seconda di chi era meglio informato. Questo perchè essere meglio informati ci consente di prendere decisioni migliori, e in generale migliora la nostra capacità di sopravvivere e di avere successo.

3.3 La democrazia presuppone un popolo bene informato

Molte persone vivono oggi in un ordinamento democratico, e dove non c'è un governo democratico se ne sente probabilmente l'esigenza. La democrazia è una risposta alla domanda di come creare dei leaders impedendo loro, al tempo stesso, di abusare del potere di cui dispongono. Si ottiene questo dando al popolo il potere di dettare regole al proprio governo mediante il voto, ma la possibilità di votare non significa necessariamente vivere in un paese democratico. Per dettare davvero regole al proprio governo, il popolo deve sapere che cosa il governo sta facendo: deve essere bene informato. è un'interrelazione a circolo, ma questo circolo si può interrompere se il governo ha il potere di controllare l'informazione alla quale il popolo ha accesso.

4. Censura e libertà

La libertà è preziosa per tutti: anzi, molti la considerano tanto importante da essere pronti a morire per essa. Soprattutto nei paesi occidentali, piace pensare di essere liberi di formarsi l'opinione che si vuole e di tenersela. Supponiamo ora che qualcuno abbia la facoltà di controllare l'informazione alla quale si ha accesso. Questo qualcuno avrebbe così la possibilità di manipolare le opinioni degli altri nascondendo certi dati di fatto, diffondendo menzogne e censurando qualsiasi cosa contraddica le sue menzogne. Non è una fantasticheria alla Orwell, è pratica standard della maggior parte dei governi occidentali mentire al popolo, al punto che oggi tutti lo danno per scontato, sebbene questo leda proprio quei principi democratici che costituiscono la giustificazione primaria dell'esistenza del governo.

5. La soluzione

L'unico modo per preservare la democrazia è provvedere perchè il governo non abbia la possibilità di controllare la facoltà del popolo di scambiarsi informazioni, di comunicare. Se ogni cosa che vediamo e sentiamo è passata per un filtro, non siamo veramente liberi. L'intento di Freenet è di consentire a due o più persone di scambiarsi informazioni, se lo vogliono.

6. Ma qualche volta la censura non è necessaria?

Ovviamente, niente è tutto positivo o tutto negativo. Sono molti a pensare che in determinate circostanze la censura sia una buona cosa. Per esempio, in certi paesi europei è illecito diffondere informazioni che sono ritenute razziste. I governi cercano d'impedire alla gente di difendere idee considerate nefaste per la società. Le risposte a questo dilemma sono due. La prima è che non si può permettere ai governanti d'imporre una censura "buona" senza lasciarli liberi d'imporre anche una censura "cattiva". Per imporre una qualsiasi forma di censura, un governo deve essere in grado di controllare, e quindi di ridurre, la comunicazione. Alcuni già sostengono criticamente che in molti Stati europei la censura antirazzismo è un ostacolo per una legittima analisi storica di fatti quali la seconda guerra mondiale.

La seconda argomentazione è che la censura "buona" è controproducente anche quando non si insinua in altri campi. Per esempio, se si vuole persuadere qualcuno di qualcosa, in genere è più efficace presentare le obiezioni al riguardo e fornire le risposte a queste obiezioni. Purtroppo, impedendo alle persone di conoscere le tesi, spesso sofisticate, sostenute dai razzisti, le si rendono vulnerabili a quelle stesse tesi quando alla fine ci vengono a contatto.

Beninteso, la prima argomentazione è quella più valida, e resterebbe vera anche rifiutando la seconda. In ultima analisi, o c'è censura o non c'è: non vi è una via di mezzo.

7. Ma perchè è necessario l'anonimato?

Non si può avere libertà di parola senza la possibilità di conservare l'anonimato. La censura è perlopiù retrospettiva: in genere, è molto più facile privare della libertà di parola sanzionando a posteriori chi la esercita, piuttosto che impedire in anticipo di esercitarla. Il solo modo di opporsi a questa tattica è rimanere anonimi. è diffusa, ma errata, l'idea che non ci si possa fidare d'informazioni anonime: non è necessariamente vero. Si possono utilizzare firme digitali per crearsi uno pseudonimo sicuro, che con il tempo può riscuotere fiducia. A tale scopo, Freenet comprende un dispositivo denominato "subspaces".

8. E che succede per il copyright?

Naturalmente, in molto di quello che si è pubblicato riguardo a Freenet, il problema del copyright ha assunto importanza centrale. è quindi necessario parlarne un po'. Il nucleo della questione del copyright è che per farlo rispettare occorre controllare le comunicazioni, ma la libertà di parola non è garantita se qualcuno controlla quello che si dice. è un punto importante, che perlopiù non viene sollevato e affrontato quando si discute sul problema del copyright. Permettetemi di dirlo chiaramente:

Non è possibile garantire la libertà di parola e applicare la legge sul copyright

è per questo che Freenet, un sistema inteso a salvaguardare la libertà di parola, deve opporsi all'applicazione del copyright.

9. Ma, senza copyright, quale remunerazione avranno gli artisti per le loro opere?

Anzitutto, anche se il copyright costituisse l'unico modo di remunerare gli artisti per le loro opere, vorrei far valere che la libertà è più importante del fatto che ci siano artisti di professione (quelli che sostengono che allora non ci sarebbe arte non capiscono la creatività: si creerà sempre, è un impulso irresistibile. L'unico problema è se si possa vivere delle proprie creazioni).

Inoltre, si può mettere in dubbio l'efficacia del copyright, già adesso. Il mondo della musica, che è il più esplicitamente contrario ai progressi della tecnologia delle comunicazioni, non riesce ad agire al riguardo, secondo molti degli artisti la cui remunerazione consiste nel copyright, e anzi ha permesso ad intermediari di acquisire il controllo sui meccanismi della distribuzione, a scapito al tempo stesso degli artisti e del pubblico.

10. Le alternative al copyright

Per fortuna non è qualcosa di ineluttabile. Vi sono molte modalità alternative per remunerare gli artisti. La più semplice è il pagamento su base volontaria: è un'estensione del sistema del mecenatismo, che era frequente prima dell'avvento del copyright, quando i ricchi finanziavano gli artisti per consentire loro di darsi alla creazione a tempo pieno. Internet permette un ampliamento interessante di questa idea, perchè invece di avere un solo ricco mecenate se ne possono avere centinaia di migliaia, che versano piccole somme di denaro via Internet. E anche a questo riguardo noi mettiamo in pratica quello che proclamiamo: il 15 marzo 2001 il progetto Freenet ha iniziato a ricevere donativi, e in una settimana abbiamo raccolto oltre mille dollari.

11. Approcci più sofisticati: l'equa quota ("fairshare")

Qualcuno, naturalmente, considererà ridicola questa idea per il motivo (presumo) che nessuno sarebbe mai disposto a pagare per qualcosa a meno che non ne sia costretto (ma ci sono molte prove contrarie). Prima di tutto, non condivido una simile visuale, piuttosto deprimente, dell'umanità, e poi vi sono dispositivi più sofisticati, che fanno appello allo stesso interesse personale: per esempio "l'equa quota", secondo cui si può investire negli artisti, in un'idea che piace, come un capitalista investe in una venture, e se l'artista ha successo si guadagna in proporzione al proprio contributo iniziale. Un bel vantaggio è che così s'incoraggia a versare più denaro per artisti sconosciuti che si ritiene abbiano un potenziale di successo. Se l'investimento non dovesse rendere, si avrà pur sempre la soddisfazione di aver dato un contribuito a un artista di cui si apprezzano le opere.

 


ProgressReport20020112  

17 Jan 2002 - 08:37 - NEW   MarcoCalamari

Situazione al 12 gennaio 2002

Nei mesi passati, molti avranno notato un fastidioso bug che causava il blocco del nodo, e che impediva di ripartire finchè il datastore non veniva cancellato o resettato. E' conosciuto come "bug nel datastore", e rimane il principale ostacolo al rilascio della versione 0.5 stabile.

Mesi fa Tavin Cole capì che il bug nel datastore era causato da alcuni difetti fondamentali nell'implementazione del datastore, e incominciò una riscrittura molto lunga.

Nel frattempo, altri sviluppatori hanno continuato a rifinire altri aspetti del codice base, rendendolo attualmente abbastanza utilizzabile malgrado il bug paralizzante del datastore. Il miglioramento più evidente è stato ottenuto lavorando nuovamente al modo in cui freenet trattava altri nodi nella rete che non erano attendibili. Abbiamo inoltre rifinito qualche altro aspetto di come freenet gestisce le comunicazioni con altri nodi.

Sviluppatori esterni al Progetto hanno lavorato duro ugualmente, Frost è un buon esempio.

Alcune settimane prima di Natale, Tavin ha presentato il codice del nuovo datastore, e in quelle settimane abbiamo lavorato per integrarlo nel codice principale di Freenet. Ora il processo è vicino al completamento, al punto che il nodo sta lavorando (apparentemente libero da qualsiasi bug nel datastore!).

Ci sono, tuttavia, alcune questioni rimanenti, la più visibile è che occasionalmente il nodo restituisce spazzatura casuale invece di dati, questo può essere risolto richiedendo nuovamente i dati. Tavin confida di essere in grado di individuare e risolvere il problema nei prossimi giorni.

Stiamo inoltre riorganizzando il codice, l'intenzione è quella di rendere la vita più facile sia a sviluppatori che utenti, e di renderne la struttura inline, cosa che sta diventando pratica standard con il software Java.

In ogni modo, le cose stanno veramente prendendo forma, dopo un paio di settimane di test la mia speranza è che potremo rilasciare Freenet 0.5. Gli utenti impazienti dovrebbero essere in grado di scaricare gli snapshot del progetto, contenenti il nuovo codice del datastore nei prossimi giorni.

- Ian.

 


ProgressReport20020119  

02 Feb 2002 - 17:22 - r1.2   MarcoCalamari

Relazione sullo stato di avanzamento, 19 gennaio 2002

Oggi Tavin pensa di aver riparato il bug che corrompeva i dati e che stava causando seri problemi a Freenet dall'introduzione del nuovo codice del datastore. Il bug corrompeva i dati alla prima richiesta, ma richieste successive andavano apparentemente a buon fine. È probabile che questo portasse molti nodi ad essere dereferenziati (se un nodo restituisce dati corrotti, si assume che stia malfunzionando e nessun nodo comunicherà più con esso). Questo difetto era forse più evidente agli utenti di Frost.

Sebastian continua a lavorare su un Windows installer aggiornato. L'obiettivo è di rendere scaricabile sempre l'ultima versione Freenet, in modo tale che gli utenti di Windows possano essere sicuri di usare l' ultimo snapshot del codice proprio come gli utenti Linux.

Stiamo progettando di riabilitare il sistema di tracking dei bug, FBS, che originalmente era stato scritto da Adam Langley come risposta alle critiche del bug tracker di Sourceforge. Per concludere, i bug al nuovo datastore ed al codice circostante sono stati ridotti ad un livello tollerabile; gli utenti dovrebbe tenersi aggiornati con gli ultimi snapshot di Freenet.

 


ProgressReport20020223  

13 Mar 2002 - 16:20 - NEW   MarcoCalamari

Stato di Freenet al 23 Febbraio 2002

Gli ultimi mesi dello sviluppo di freenet sono stati largamente impiegati a rifinire il codice base corrente, a scovare e correggere bug, e ad accertarsi che le funzionalità esistenti lavorassero.

Tavin ha continuato a trovare bug nel datastore e a ripararli, e adesso il suo comportamento è del tutto stabile.

Oskar, Tavin, e il nuovo arrivato in Freenet, Niklas Mehner hanno recentemente controllato alcune modifiche a certi problemi che causavano "perdite" di thread, queste incrementavano notevolmente l'uso di risorse da parte dei nodi di Freenet, e alla fine portavano il nodo a bloccarsi. Niklas ha inoltre lavorato per migliorare l'efficienza del codice di criptazione di Freenet.

Jay Olivieri è passato a lavorare su FCPTools, il set di utilities a riga di comando che rendono piuttosto semplice inserire siti web su Freenet.

Frost continua a progredire e sembra abbia già conseguito una importante utenza di base.

FreeWeb non ha visto molti cambiamenti da tempo, ma questo può indicare che alla fine ha raggiunto la funzionalità di cui gli utenti necessitano per pubblicare con facilità i loro siti da Windows.

In conclusione: Freenet non è mai stato così stabile come ora. Siamo pronti al rilascio della versione 0.5.

 


PubKeyCrypto  

10 Jan 2002 - 09:29 - NEW   MarcoCalamari

Crittografia a chiave pubblica

La crittografia simmetrica è la tipologia con cui la maggior parte delle persone ha più familiarità.

Utilizza una chiave che conoscono solo il mittente e il destinatario, l'algoritmo di crittazione permette al mittente di "codificare" un messaggio all'interno di un altro messaggio falsato, che solo una persona che conosce la chiave può decodificare e riottenere il messaggio originale.

Il problema è che questo meccanismo è sicuro in proporzione alla bravura del mittente nel trasmettere in sicurezza la chiave al destinatario, il che può essere difficile per la maggior parte delle persone.

La crittazione a chiave pubblica offre una soluzione a questo problema, utilizza infatti 2 chiavi, una pubblica e una privata. Il destinatario crea le due chiavi, la pubblica viene usata per crittare il messaggio, ma solo la privata corrispondente può decrittarlo.

Il destinatario può quindi inviare la sua chiave pubblica al mittenre senza preoccuparsi di chi altro ne viene a conoscenza; il mittente può crittare il messaggio con la chiave ricevuta e spedirlo al destinatario. Anche se altre persone conoscono la chiave pubblica non possono decrittare il messaggio, solo il destinatario che è in possesso della corrispondente chiave privata, può attualmente leggerlo.

La crittografia a chiave pubblica può essere usata anche al contrario, il mittente può creare una chiave pubblica e una privata e dare la pubblica a tutti; questi possono utlizzare la loro chiave privata per "firmare" il messaggio. Con la chiave pubblica si può verificare che il messaggio sia segnato da chiunque conosca la chiave privata.

Sono disponibili molti algoritmi per la crittografia a chiavi pubblica - privata. La loro esistenza ha implicazioni di grande importanza, dato che permette quasi a tutti di comunicare in sicurezza, anche per coloro che non hanno modo di scambiarsi le chiavi privatamente. Freenet utilizza la crittografia a chiave pubblica -

 


Publicity  

05 Jan 2002 - 11:50 - NEW   MarcoCalamari

Articoli

In questa sezione puoi trovare alcuni collegamenti ad articoli e pubblicazioni su Freenet. Alcuni scritti sono più accurati di altri: ma giudicherai da te! Se sei a conoscenza di qualche pubblicazione che non trovi citata qui, sei pregato di comunicarlo per posta elettronica al Gruppo di sviluppo del sito Freenet.

29 Settembre 2001: Digital Village Radio
Ian Clarke on Freenet
Una intervista cib with Ian Clarke su Freenet in formato Real Audio.

19 Giugno 2001: CNET.com
Le reti promettono uno scambio di file indisturbato
Un articolo sul primo dipendente ufficiale del Progetto Freenet, Oskar Sandberg, e molte altre informazioni generali su Freenet.

30 Maggio 2001: New Scientist
Primo tra uguali
Breve articolo sulla gerarchia che sta emergendo in Gnutella, in contrapposizione con la decentralizzazione di Freenet.

28 Maggio 2001: Doonesbury
Doonesbury parla di Freenet. (NDT: la pura verità!)

22 Maggio 2001: Threepwood '01
Freenet
Un gradevole articolino che commenta in modo simpatico reazioni positive e negative a Freenet.
Versione italiana qui

26 Aprile 2001: New York Times
Creare brecce nei muri di Internet
Non si parla di Freenet, si tratta di come si è iniziato ad utilizzare il "peer-to-peer" per sfuggire alla censura in Arabia Saudita.

11 Aprile 2001: CNET.com
Intel, altri investono nella trovata del creatore di Freenet
Un pò fuori tema - Uprizer gets first-round venture capital funding (Chi ha eliminato il costo riesce a trovare soci investitori). Qualche dibattito sugli utilizzi commerciali della tecnologia di Freenet.

27 Marzo 2001: Salon.com
Chi ti spia mentre scarichi dalla Rete?
Si discutono le manchevolezze nel rispetto della privacy di Napster e Gnutella, e si illustrano i vantaggi di Freenet su questi sistemi.

20 Marzo 2001: Newsbytes
Freenet: Distruggerà la Legge sul Diritto d'Autore?
Un buon articolo che tratta del conflitto tra la libertà di parola ed il diritto d'autore, con alcune interessanti dichiarazioni degli interessati.
Versione italiana qui

10 Marzo 2001: New Scientist
Libertà di parola, libertà, pornografia: I cyber-rivoluzionari hanno abbandonato il Web per costruire un'alternativa anarchica, libera dalla censura.
Un articolo ben equilibrato su P2P, diritto d'autore, e censura.
Versione italiana qui

25 Febbraio 2001: The Sunday Times (UK)
Le discussioni non sono mai state tanto libere
Simpatico articolo di risposta incentrato su Freenet, per un cambiamento circa la libertà di parola.
Versione italiana qui

22 Febbraio 2001: The Guardian (UK)
Il Potere al Popolo
Rivista della Conferenza sul "peer-to-peer" di O'Reilly, con alcune citazioni di Ian.

22 Febbraio 2001: Dr. Dobb's Journal
Freenet diventa grande
Storia di ampio profilo su Freenet, le sue possibilità e le sue conseguenze, con alcuni cenni ad "Everything Over Freenet" ed Espra.

14 Febbraio 2001: Stanford University
Un seminario di Ian Clarke su Freenet
Il Progetto Freenet : Un sistema di memorizzazione e recupero delle informazioni distribuito e decentralizzato (Richiede Micro$oft Windows Media player per essere visualizzato).

13 Febbraio 2001: New York Times [AP]
Altri Servizi di Trasferimenti Musicali
Freenet e Gnutella come alternative a Napster; anche una menzione di Espra.

Gennaio 2001: IEEE Computer
Faccia a faccia con il Lavoro in Rete "peer-to-peer"
Simpatica panoramica sul concetto del "peer-to-peer" da un punto di vista tecnico, che propone passi di Rob Kramer (Uprizer). Riservato agli iscritti.

26 Ottobre 2000: CNET.com
Un coraggioso nuovo - o vecchio - mondo?
"Ian Clarke: Programmatore con attitudine." Esaustiva trattazione dell'intero panorama del "peer-to-peer" esaminato da una varietà di angolature.

22 Ottobre 2000: CNET.com
Come Funziona Freenet
Una bella panoramica di come opera Freenet.

3 Ottobre 2000: CNET.com
I commercianti on-line di musica esaminano le alternative a Napster
Come se la passeranno Gnutella, Freenet, e Open Nap se Napster perde la sua causa?

21 Agosto 2000: The Standard
Peer-to-peer - Abbiamo Appena Iniziato
Ben approfondito articolo su Publius e Freenet.

12 Agosto 2000: Feed Magazine
re:Ian Clarke
Una bella intervista con l'autore del "Manifesto Programmatico", Chris Locke, che illustra il fatto che Freenet è qualcosa di molto più che un semplice Diritto d'Autore.

28 Luglio 2000: New York Times
Per Molti Appassionati di Musica On-Line, la Corte Giudicante è una Chiamata alle Armi
Lo scambio musicale come fenomeno culturale.

17 Luglio 2000: RadioSpy
Intervista di Radio Spy Interview: Ian Clarke - Sviluppatore di Freenet
Trascrizione piena di errori di un'intervista con Ian, ma che offre un'istantanea piuttosto completa delle vedute di Ian su svariati argomenti...

Adesso le cose cominciano veramente a scaldarsi. Al tempo degli articoli seguenti, ho cercato di includere sia gli scritti a favore che quelli contrari a Freenet, ma per l'alto numero dei commenti su Freenet è stato necessario essere più selettivi. Cercheremo di comporre una buona scelta, per quanto la nostra interpretazione di cosa sia un intelligente articolo informativo probabilmente introdurrà alcuni pregiudizi in maniera automatica- Ian ;-)

17 Luglio 2000: Independent
L'irreversibile ricablaggio della Rete
Nonostante la foto di Ian-vampiro, è probabilmente uno dei migliori articoli mai scritti su Freenet.

15 Luglio 2000: Internet World
L'Ultimo Difensore della Pirateria
A dispetto del titolo, non è un cattivo articolo.

30 Giugno 2000: MP3 Summit
Ian al Summit della struttura web di MP3
Ci trovi la lunga prolusione di Ian al Summit della struttura web di MP3, circa un'ora ed 8 minuti nel Venerdì

29 Giugno 2000: New York Times
Napster Fa Tremare il Web
Per lo più parla di Napster, ma con qualche argomentazione circa il "peer-to-peer" ed una (molto breve) menzione della lotta alla censura.

16 Giugno 2000: Guardian
Il libero mercato combatte per gli appassionati di musica
Interessante articolo apparso in un quotidiano nazionale Inglese.

10 Giugno 2000: New York Times
Spavaldo Anarchico Cerca di Eliminare i Copyrights dal Cyberspazio
Dà un sacco di spazioalle opposizioni intellettuali all'idea di Copyright, con brani di John Perry Barlow (EFF) e Lawrence Lessig (Harvard Law School).

27 Maggio 2000: LA Weekly
Genio 1, Fiasco 0
Un articolo veramente divertente su Freenet ed il copyright. Raccomandatissimo.

24 Maggio 2000: Channel 4 News
Gli Hackers sono un passo avanti
Notizie fresche fresche sul recente tentativo del governo Inglese di censurare Internet, e di come Freenet l'abbia reso veramente difficile. Include sia il testo che il video-clip.

23 Maggio 2000: Libération
L'anarchia è alla fine della tastiera
Un interessante scritto Francese su Freenet, incentrato sugli aspetti della libertà di informazione del sistema, piuttosto che sul solo Copyright.

12 Maggio 2000: National Post
La pagina protetta di Napster nella storia di Internet
Interessante descrizione del perché Freenet non è vulnerabile quanto Napster, sebbene debba dire che il loro "pensiero finale" mi abbia lasciato leggermente perplesso!

12 Maggio 2000: O'Reilly Network
Gnutella e Freenet rappresentano una vera innovazione tecnologica
Un simpatico articolo che accomuna, tanto per cambiare, sul piano tecnico Freenet e Gnutella. Ragionevolmente accurato, sebbene sottovaluti l'incremento di efficienza che Freenet fornirebbe (descrivendola di efficienza compatibile col WWW, laddove Freenet dovrebbe essere considerata molto più efficiente).

12 Maggio 2000: Het Nieuwsblad
Vrijheid van downloaden
Un articolo belga su Freenet.

10 Maggio 2000: Houston Chronicle
Sviluppatore di software promette di eludere tutti i cani da guardia della proprietà intellettuale
Segue una versione dell'articolo, che non richiede di registrarti.

10 Maggio 2000: New York Times
Il Concetto di Copyright Lotta per la Sopravvivenza di Internet
Uno degli articoli migliori; incentrato sulla questione del copyright. Richiede la registrazione (gratuita).

27 Aprile 2000: PCFormat Daily
Freenet
Un breve articolo su Freenet.

27 Aprile 2000: Heise News-Ticker
Anarchia nel World Wide: Net senza Controllo
Un articolo tedesco su Freenet.

26 Aprile 2000: CNET.com
Free, informazioni anonime nel Net degli anarchici
Articolo d'intrattenimento, con delle buone citazioni.

17 Aprile 2000: The Irish Times
Regole Anarchiche del Web Alternativo
Il più divertente articolo su Freenet.

16 Aprile 2000: Freshmeat
Client Come Server: Il Nuovo Modello
Interessante articolo sui sistemi distribuiti, e di come sistemi simili a Freenet siano attualmente conformi allo spirito originale di Internet.

13 Aprile 2000: El País
Freenet propone una rete senza censure, alternativa al WWW
Un articolo Spagnolo su Freenet.

10 Aprile 2000: Slashdot.org
Ian Clarke di Freenet Risponde a Domande sulla Privacy
Una intervista veramente illuminante condotta dal caporedattore di SlashDot?.org, probabilmente la cosa più simile ad una FAQ, a parte quella ufficiale faq.

25 Marzo 2000: ABC News
Libertà nel Net?
Un rifacimento dell'articolo seguente su New Scientist, per raggiungere un più vasto pubblico.

25 Marzo 2000: New Scientist
Fuori Controllo
Un articolo sullo stile "Internet Grande Colpevole", ma con una ragionevole ricerca e cernita di opinioni su come potrebbe essere considerata l'opposizione a Freenet.

23 Marzo 2000: Heise.de
Ein Netzwerk, das Zensur unmöglich machen soll
Un articolo Tedesco su Freenet.

14 Marzo 2000: OLinux
Freenet, un concetto polemico sul trattamento del WWW
Traduzione inglese di un'intervista Brasiliana con Ian Clarke. Mette a fuoco gli aspetti tecnici di Freenet, e si addentra abbastanza in dettagli sul suo modo di funzionare.

10 Marzo 2000: Webwereld
Anoniem Freenet ultieme schuilplaats voor piraten
Un articolo Olandese su Freenet. Il mio Olandese è un pò arrugginito, ma l'articolo sembra ispirarsi all'articolo seguente di Wired.

8 Marzo 2000: no spoon
Freenet: il nascondiglio anonimo distribuito che soppianterà il Web
Un eccellente articolo Francese su Freenet, che traccia un interessante parallelo fra Freenet e gli scritti di Neal Stephenson.

3 Marzo 2000: Need To Know
Una tecnologia sufficentemente avanzata: la "riunione"
Un breve ma eccellente scritto che nuovamente si accosta a Freenet da un punto di vista libertario.

24 Febbraio 2000: PigDog Journal
Andando alla base di Freenet
Un piccolo articolo molto positivo che descrive Freenet e spiega perché l'autore lo ritenga un interessante uso di un linguaggio piuttosto "colorito".

14 Agosto 1999: Brave Gnu World
FreeNET
Uno dei primi articoli su Freenet, di quando era ancora teoria al 100%. Fornisce un'eccellente introduzione al modo di funzionare di Freenet.

 


Publishing  

05 Jan 2002 - 15:19 - NEW   MarcoCalamari

Come pubblicare siti web in Freenet

Fondamenti

Utenti Windows

David McNab ha scritto una ottima utility chiamata FreeWeb che potete usare per inserire automaticamente un intero sito web in Freenet.

Utenti Linux

David ha anche scritto un equivalente set di utility a linea comandi chiamato FCPTools per gli utenti Linux.

 


ReedR  

02 Jan 2002 - 02:54 - NEW   ReedR

Personal Preferences (details in TWikiVariables)

Related topics

 


RichardCochinos  

29 Dec 2001 - 18:32 - NEW   RichardCochinos

Personal Preferences (details in TWikiVariables)

Related topics

 


RobertELee  

02 Jan 2002 - 01:36 - NEW   RobertELee

Personal Preferences (details in TWikiVariables)

Related topics

 


RussHartley  

29 Dec 2001 - 16:05 - NEW   RussHartley

Personal Preferences (details in TWikiVariables)

Related topics

 


SanJoseOffice  

02 Jan 2002 - 17:47 - NEW   TWikiGuest

Here would stand the information about the San Jose office:

Related topic: OfficeLocations, TWikiUsers

 


ScottMiller  

29 Dec 2001 - 06:42 - NEW   ScottMiller

Personal Preferences (details in TWikiVariables)

Related topics

 


SeanPalmer  

27 Dec 2001 - 04:42 - NEW   SeanPalmer

Personal Preferences (details in TWikiVariables)

Related topics

 


SebastianGutweiler  

28 Dec 2001 - 11:40 - NEW   SebastianGutweiler

Personal Preferences (details in TWikiVariables)

Related topics

 


SergeWroclawski  

31 Dec 2001 - 13:31 - NEW   SergeWroclawski

Personal Preferences (details in TWikiVariables)

Related topics

 


SoleMan  

29 Dec 2001 - 08:04 - NEW   SoleMan

Personal Preferences (details in TWikiVariables)

Related topics

 


SunTzuTov  

01 Jan 2002 - 04:32 - NEW   SunTzuTov

Personal Preferences (details in TWikiVariables)

Related topics

 


SusanCoghlan  

02 Jan 2002 - 15:28 - NEW   SusanCoghlan

Personal Preferences (details in TWikiVariables)

Related topics

 


SvenBerling  

01 Jan 2002 - 23:25 - NEW   SvenBerling

Personal Preferences (details in TWikiVariables)

Related topics

 


TWikiAdminGroup  

07 Aug 2001 - 15:48 - r1.4   JohnTalintyre?

TWiki Administrator Group

Note: Set the members of TWiki Administrator Group in GROUP as a comma separated list

Related topics: TWikiUsers, TWikiGroups, TWikiAccessControl

-- PeterThoeny? - 28 Oct 2000

 


TWikiGroups  

24 Dec 2001 - 22:41 - r1.4   IanClarke

These groups can be used to define fine grained TWikiAccessControl in TWiki:

Add your groups to this list and define new group topics similar to existing ones. Group topics must end in ...Group.

IMPORTANT NOTE: Think twice before restricting write access to a web or a topic, because an open system where everybody can contribute is the essence of the WikiCulture. Experience shows that unrestricted write access works very well because:

Related topics: TWikiAccessControl, WebPreferences, TWikiUsers, WikiCulture.

-- PeterThoeny? - 07 Nov 2000

 


TWikiGuest  

02 Jan 2002 - 17:47 - NEW   TWikiGuest

A guest of this TWiki web, not unlike yourself. You can leave your trace behind you, just add your name in TWikiRegistration and create your own page.

Personal Preferences (details in TWikiVariables)

Related topics

 


TWikiUsers  

02 Jan 2002 - 16:10 - r1.99   JamesGaskell

List of TWiki users

Please take the time and add yourself to the list. To do that fill out the form in TWikiRegistration. This will create an account for you which allows you to edit topics.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Note: Do not edit this topic to add a user, use TWikiRegistration instead.

Related topics: OfficeLocations, TWikiGroups

 


TWikiVariables  

02 Jan 2002 - 17:47 - NEW   TWikiGuest

TWiki Variables

Text strings expanded on the fly to display data or system info

Overview

TWikiVariables are text strings - %VARIABLE% - that expand into content whenever a page is opened. Variables are replaced by their actual values: stored data, or system info (like the date, or the current user). There are predefined variables, and Preference variables that you set. You can also define custom variables, with new names and values.

Predefined Variables

Most predefined variables return values that were either defined when TWiki was installed, or taken from server info (like current username, or date and time). Many of the variables let you control how the formatted results appear.

TWiki expands the following variables (enclosed in % percent signs):

Variable: Expanded to:
%WIKIHOMEURL% The base script URL of TWiki, is the link of the Home icon in the upper left corner, is http://freenetproject.org/twiki
%SCRIPTURL% The script URL of TWiki, is http://freenetproject.org/cgi-bin/twiki
%SCRIPTURLPATH% The path of the script URL of TWiki, is /cgi-bin/twiki
%SCRIPTSUFFIX% The script suffix, ex: .pl, .cgi is
%PUBURL% The public URL of TWiki, is http://freenetproject.org/twiki
%PUBURLPATH% The path of the public URL of TWiki, is /twiki
%ATTACHURL% The attachment URL of the current topic, is http://freenetproject.org/twiki/TWiki/TWikiVariables
Example: If you attach a file you can refer to it as %ATTACHURL%/image.gif
%ATTACHURLPATH% The path of the attachment URL of the current topic, is /twiki/TWiki/TWikiVariables
%URLPARAM{"name"}% Returns the value of a URL parameter. Ex: %URLPARAM{"skin"}% returns print for a .../view/TWiki/TWikiVariables?skin=print URL. Is
%WIKITOOLNAME% Name of wiki tool, is TWiki
%WIKIVERSION% Wiki tool version is 01 Dec 2001
%USERNAME% Your login username is guest
%WIKINAME% Your Wiki username. Same as %USERNAME% if not defined in the TWikiUsers topic. Is TWikiGuest
%WIKIUSERNAME% Your %WIKINAME% including the Main web name. Usefull for signatures. Is Main.TWikiGuest
%MAINWEB% The Main web containing TWikiUsers, OfficeLocations and TWikiGroups. Is Main
%TWIKIWEB% The web containing all documentation and configuration of TWiki is TWiki
%WEB% The current web is TWiki
%BASEWEB% The web name where the includes started, e.g. the web of the first topic of nested includes. Same as %WEB% in case there is no include.
%INCLUDINGWEB% The web name of the topic that includes the current topic. Same as %WEB% in case there is no include.
%HOMETOPIC% The home topic in each web. Is WebHome
%NOTIFYTOPIC% The notify topic in each web. Is WebNotify
%WIKIUSERSTOPIC% The index topic of all registered users. Is TWikiUsers
%WIKIPREFSTOPIC% The web preferences topic. Is TWikiPreferences
%WEBPREFSTOPIC% The web preferences topic. Is WebPreferences
%STATISTICSTOPIC% The web statistics topic. Is WebStatistics
%TOPIC% The current topic name, is TWikiVariables
%BASETOPIC% The name of the topic where the includes started, e.g. the first topic of nested includes. Same as %TOPIC% in case there is no include.
%INCLUDINGTOPIC% The name of the topic that includes the current topic. Same as %TOPIC% in case there is no include.
%SPACEDTOPIC% The current topic name with added spaces, for regular expression search of Ref-By, is TWiki%20*Variables
%TOPICLIST{"format"}% Topic index of a web. The "format" defines the format of one topic item. It may include variables: The $name variable gets expanded to the topic name; the $web variable gets expanded to the name of the web. Parameters are format, separator and web:
Parameter: Description: Default:
"format" Format of one line, may include $name and $web variables "$name"
format="format" (Alternative to above) "$name"
separator=", " line separator "\n" (new line)
web="Name" Name of web Current web
Examples:
%TOPICLIST{"   * $web.$name"}% creates a bullet list of all topics.
%TOPICLIST{separator=", "}% creates a comma separated list of all topics.
%TOPICLIST{" <option>$name</option>"}% creates an option list (for drop down menus).
%WEBLIST{"format"}% Web index, e.g. list of all webs. Hidden webs are excluded, e.g. webs with a NOSEARCHALL=on preference variable. The "format" defines the format of one web item. The $name variable gets expanded to the name of the web, $qname gets expanded to double quoted name, $marker to marker where web matches selection. Parameters are format, separator and web:
Parameter: Description: Default:
"format" Format of one line, may include $name variable "$name"
format="format" (Alternative to above) "$name"
separator=", " line separator "\n" (new line)
webs="public" comma sep list of Web, public expands to all non-hidden "public"
marker="selected" Text for $marker where item matches selection, otherwise equals "" "selected"
selection="%WEB%" Current value to be selected in list section="%WEB%"
Examples:
%WEBLIST{"   * [[$name.WebHome]]"}% creates a bullet list of all webs.
%WEBLIST{"" webs="Trash,public" selection="TWiki" separator=" "}% Dropdown of all public Webs + Trash Web, current Web highlighted.
%GMTIME% GM time, is Thu Apr 18 22:26:12 2002
%GMTIME{"format"}% Formatted GM time based on time variables.
Variable: Unit: Example
$seconds seconds 59
$minutes minutes 59
$hours hours 23
$day day of month 31
$month month in ISO format Dec
$mo 2 digit month 12
$year 4 digit year 1999
$ye 2 digit year 99
Variables can be shortened to 3 characters. Example:
%GMTIME{"$day $month, $year - $hour:$min:$sec"}% is
18 Apr, 2002 - 22:26:12
%SERVERTIME% Server time, is Thu Apr 18 15:26:12 2002
%SERVERTIME{"format"}% Formatted server time.
Example: %SERVERTIME{"$hou:$min"}% is 15:26
%HTTP_HOST% HTTP_HOST environment variable, is freenetproject.org
%REMOTE_ADDR% REMOTE_ADDR environment variable, is 195.110.99.218
%REMOTE_PORT% REMOTE_PORT environment variable, is 58658
%REMOTE_USER% REMOTE_USER environment variable, is
%INCLUDE{"page" ...}% Server side include to IncludeTopicsAndWebPages?. Parameters are page name, and an optional pattern="(reg-exp)". The page name is:
"SomeTopic" The name of a topic located in the current web, i.e. %INCLUDE{"WebNotify"}%
"Web.Topic" A topic in another web, i.e. %INCLUDE{"TWiki.TWikiWebsTable"}%
"http://..." A full qualified URL, i.e. %INCLUDE{"http://twiki.org/"}%
%STARTINCLUDE% If present in included topic, start to include text from this location up to the end, or up to the location of the %STOPINCLUDE% variable. A normal view of the topic shows everyting exept the %STARTINCLUDE% variable itself.
%STOPINCLUDE% If present in included topic, stop to include text at this location and ignore the remaining text. A normal view of the topic shows everyting exept the %STOPINCLUDE% variable itself.
%TOC% Table of Contents of current topic.
%TOC{"SomeTopic" ...}% Table of Contents. Shows a TOC that is generated automatically based on headings of a topic. Headings in WikiSyntax? ("---++ text") and HTML ("<h2>text<h2>") are taken into account. (But not "<H2>text</H2>", which can be used to exclude a heading from the TOC.) Parameters are topic name, web and depth:
Parameter: Description: Default:
"TopicName" topic name Current topic
web="Name" Name of web Current web
depth="2" Limit depth of headings shown in TOC 6
Examples: %TOC{depth="2"}%, %TOC{"TWikiDocumentation" web="TWiki"}%
%SEARCH{"text" ...}% Inline search, shows a search result embedded in a topic. Parameters are the search term, web, scope, order and many more: [1]
Parameter: Description: Default:
"text" Search term. (Is a regular expression or literal, depending on the regex parameter) required
search="text" (Alternative to above) N/A
web="Name"
web="Main Know"
web="all"
Wiki web to search: A web, a list of webs separated by whitespace, or all webs. [2] Current web
scope="topic"
scope="text"
Search topic name (title) or in the text (body) of the topic Topic text (body)
order="topic"
order="modified"
order="editby"
Sort the results of search by the topic names, last modified time, or last editor Sort by topic name
limit="all"
limit="16"
Limit the number of results returned All results
regex="on" RegularExpression? search Literal search
reverse="on" Reverse the direction of the search Ascending search
casesensitive="on" Case sensitive search Ignore case
nosummary="on" Show topic title only Show topic summary
bookview="on" BookView? search, e.g. show complete topic text Show topic summary
nosearch="on" Suppress search string Show search string
noheader="on" Suppress search header
Topics: Changed: By:
Show search header
nototal="on" Do not show number of topics found Show number
format="..." Flexible custom result formatting: see FormattedSearch? for usage Results in table
Example: %SEARCH{"wiki" web="Main" scope="topic"}%
%METASEARCH{...}% Special search of meta data
Parameter: Description: Default:
type="topicmoved" What sort of search is required?
"topicmoved" if search for a topic that may have been moved
"parent" if searcing for topics that have a specific parent i.e. its children
required
web="%WEB%" Wiki web to search: A web, a list of webs separated by whitespace, or all webs. required
topic="%TOPIC%" The topic the search relates to required
title="Title" Text the is pre-pended to any search results required
Example: %METASEARCH{type="topicmoved" web="%WEB%" topic="%TOPIC%" title="This topic used to exist and was moved to: "}%, you may want to use this in WebTopicViewTemplate? and WebTopicNonWikiTemplate?
%METASEARCH{type="parent" web="%WEB%" topic="%TOPIC%" title="Children: "}%
%VAR{"NAME" web="Web"}% Get a preference value from a web other then the current one. Example: To get %WEBBGCOLOR% of the Main web write %VAR{"WEBBGCOLOR" web="Main"}%, is #FFFFC0

[1] Note: The search form uses identical names for input fields.

[2] Note: A web can be excluded from a web="all" search if you define a NOSEARCHALL=on variable in its WebPreferences.

Preferences Variables

Additional variables are defined in the preferences ( site-level ( SL ) in TWikiPreferences, web-level ( WL ) in WebPreferences of each web, and user level ( UL ) preferences in individual user topics):

Variable: Level: What:
%WIKIWEBMASTER% SL Webmaster email address (sender of email notifications) , is ian@freenetproject.org
%WIKIWEBLIST% SL List of TWiki webs (in upper right corner of topics)
%WEBTOPICLIST% WL Common links of web (second line of topics)
%WEBCOPYRIGHT% SL , WL Copyright notice (bottom right corner of topics)
%WEBBGCOLOR% WL Background color of web
%NOSEARCHALL% WL Exclude web from a web="all" search (set variable to on for hidden webs)
%NEWTOPICBGCOLOR% SL , UL Background color of non existing topic. ( UL needs authentication for topic views )
%NEWTOPICFONTCOLOR% SL , UL Font color of non existing topic. ( UL needs authentication for topic views )
%EDITBOXWIDTH% SL , UL Horizontal size of edit box, is 70
%EDITBOXHEIGHT% SL , UL Vertical size of edit box, is 17
%RELEASEEDITLOCKCHECKBOX% SL , UL Default state of the "Release edit lock" (UnlockTopic?) check box in preview. Checkbox is initially checked if Set RELEASEEDITLOCKCHECKBOX = checked="checked", or unchecked if empty. If checked, make sure to click on Edit to do more changes; do not go back in your browser to the edit page, or you risk that someone else will edit the topic at the same time! Value is:
%DONTNOTIFYCHECKBOX% SL , UL Default state of the "Minor Changes, Don't Notify" (DontNotify?) check box in preview. Check box is initially checked if Set DONTNOTIFYCHECKBOX = checked="checked", or unchecked if empty. Value is:
%ATTACHLINKBOX% SL , UL Default state of the link check box in the attach file page. Check box is initially checked if value is set to CHECKED , unchecked if empty. If checked, a link is created to the attached file at the end of the topic. Value is:
%HTTP_EQUIV_ON_VIEW% SL http-equiv meta tags for view, rdiff, attach, search* scripts.
%HTTP_EQUIV_ON_EDIT% SL , UL http-equiv meta tags for edit script.
%HTTP_EQUIV_ON_PREVIEW% SL , UL http-equiv meta tags for preview script.
%DENYWEBCHANGE% WL List of users and groups who are not allowed to change topics in the TWiki web. (More in TWikiAccessControl?)
%ALLOWWEBCHANGE% WL List of users and groups who are allowed to change topics in the TWiki web. (More in TWikiAccessControl?)
%DENYTOPICCHANGE% (any topic) List of users and groups who are not allowed to change the current topic. (More in TWikiAccessControl?)
%ALLOWTOPICCHANGE% (any topic) List of users and groups who are allowed to change the current topic. (More in TWikiAccessControl?)
%DENYWEBRENAME% WL List of users and groups who are not allowed to rename topics in the TWiki web. (More in TWikiAccessControl?)
%ALLOWWEBRENAME% WL List of users and groups who are allowed to rename topics in the TWiki web. (More in TWikiAccessControl?)
%DENYTOPICRENAME% (any topic) List of users and groups who are not allowed to rename the current topic. (More in TWikiAccessControl?)
%ALLOWTOPICRENAME% (any topic) List of users and groups who are allowed to rename the current topic. (More in TWikiAccessControl?)
%FINALPREFERENCES% SL , WL List of preferences that are not allowed to be overridden by next level preferences

Setting Preferences

Creating Custom Variables

Example: Create a custom logo variable

-- PeterThoeny? - 13 Sep 2001
-- MikeMannix? - 30 Nov 2001

 


TavinCole  

28 Dec 2001 - 05:12 - NEW   TavinCole

Personal Preferences (details in TWikiVariables)

Related topics

 


ThomasWindheuser  

01 Jan 2002 - 17:28 - NEW   ThomasWindheuser

Personal Preferences (details in TWikiVariables)

Related topics

 


TokyoOffice  

02 Jan 2002 - 17:47 - NEW   TWikiGuest

Here would stand the information about the Tokyo office:

Related topic: OfficeLocations, TWikiUsers

 


TomLongson  

30 Dec 2001 - 03:25 - NEW   TomLongson

Personal Preferences (details in TWikiVariables)

Related topics

 


TonySanchez  

01 Jan 2002 - 20:36 - NEW   TonySanchez

Personal Preferences (details in TWikiVariables)

Related topics

 


Tools  

30 Mar 2002 - 10:47 - r1.2   MarcoCalamari

Applicazioni terze parti

Molte persone hanno realizzato una serie di ottimi client ed utility da impiegare con Freenet.

FreeWeb

FreeWeb (Windows) and FCPTools (Linux) permette di inserire interi siti web in Freenet. Sono gli strumenti usati dalla maggioranza di coloro che pubblicano siti in Freenet.

Frost

Frost è un sistema di condivisione file in Freenet, che comprende anche una chat con cui gli utenti possono conversare anonimamente usando Freenet.

Consultate questa pagina sul sito inglese

Non riusciamo a tradurre le continue novità tecniche, ma se ve la cavate con l'inglese.....

 


TotoTiti  

02 Jan 2002 - 00:25 - NEW   TotoTiti

Personal Preferences (details in TWikiVariables)

Related topics

 


Translations  

05 Feb 2002 - 09:42 - r1.5   MarcoCalamari

Traduzioni del sito Freenet

Note: Se la traduzione del sito nella vostra lingua esiste, ed il vostro browser è configurato correttamente dovreste essere stati collegati al sito nella vostra lingua.

Se siete interessati a tradurre questo sito in una delle lingue non elencate qui, leggete queste utili informazioni e scrivete a web@freenetproject.org .

 


TuomasAiraksinen  

29 Dec 2001 - 14:07 - NEW   TuomasAiraksinen

Personal Preferences (details in TWikiVariables)

Related topics

 


VictorT  

02 Jan 2002 - 00:13 - NEW   VictorT

Personal Preferences (details in TWikiVariables)

Related topics

 


WebAdminGroup  

25 Dec 2001 - 23:36 - r1.2   IanClarke

 


WebChanges  

16 Aug 2001 - 19:58 - NEW   PeterThoeny?

Topics in IT web: Changed: now 22:26 GMT Changed by:
WebHome 13 Apr 2002 - 09:28 - r1.21 MarcoCalamari
"Mi preoccupo continuamente della mia bambina e di Internet, anche se è ancora troppo piccola per potersi collegare. Ecco cosa mi preoccupa. Mi preoccupa il ...  
Tools 30 Mar 2002 - 10:47 - r1.2 MarcoCalamari
Applicazioni terze parti Molte persone hanno realizzato una serie di ottimi client ed utility da impiegare con Freenet. http://freeweb.sf.net/ FreeWeb FreeWeb (Windows ...  
Papers 13 Mar 2002 - 16:40 - r1.4 MarcoCalamari
Documentazione " http://www.doc.ic.ac.uk/~twh1/longitude/index.html#freenet-ic Protecting Free Expression Online with Freenet ", IEEE Internet Computing 6(1), January ...  
ProgressReport20020223 13 Mar 2002 - 16:20 - NEW MarcoCalamari
Stato di Freenet al 23 Febbraio 2002 Gli ultimi mesi dello sviluppo di freenet sono stati largamente impiegati a rifinire il codice base corrente, a scovare e correggere ...  
Download 14 Feb 2002 - 13:57 - r1.4 MarcoCalamari
Scaricate Freenet Per fawore, scaricate e testate uno snapshot della versione 0.4 in sviluppo. La prossima versione stabile 0.5 dovrebbe essere pronta presto controllate ...  
Documentation 11 Feb 2002 - 10:02 - NEW MarcoCalamari
Documentazione utente di Freenet Download Installazione FAQ Frequently Asked Questions CLO Command Line Options  
WebMenu 11 Feb 2002 - 10:00 - r1.4 MarcoCalamari
Prima Pagina Curiosi IT.WhatIs Cos'è Freenet IT.Donations Aiutateci ! IT.People Le persone IT.Publicity Articoli IT.Philosophy Filosofia IT.Translations ...  
WebStatistics 06 Feb 2002 - 10:30 - r1.18 TWikiGuest
Statistics for TWiki.IT Web Month: Topic views: Topic saves: File uploads: Most popular topic views: Top contributors for topic save and uploads: Feb 2002 605 14 ...  
Translations 05 Feb 2002 - 09:42 - r1.5 MarcoCalamari
Traduzioni del sito Freenet Note: Se la traduzione del sito nella vostra lingua esiste, ed il vostro browser è configurato correttamente dovreste essere stati ...  
ProgressReport20020119 02 Feb 2002 - 17:22 - r1.2 MarcoCalamari
Relazione sullo stato di avanzamento, 19 gennaio 2002 Oggi Tavin pensa di aver riparato il bug che corrompeva i dati e che stava causando seri problemi a Freenet ...  
ICSI 02 Feb 2002 - 15:22 - r1.3 MarcoCalamari
Freenet: Un sistema anonimo distribuito di memorizzazione e ricerca di informazioni Ian Clarke Uprizer, Inc. 1007 Montana Ave., #323 Santa Monica, CA 90403 USA ian ...  
Lists 17 Jan 2002 - 09:59 - r1.2 MarcoCalamari
Note: Abbiamo costantemente richieste da gente che vuole cancellare la propria iscrizione. DEVI farlo da solo! Clicca sul link che e' alla base di ogni email, immetti ...  
ProgressReport20020112 17 Jan 2002 - 08:37 - NEW MarcoCalamari
Situazione al 12 gennaio 2002 Nei mesi passati, molti avranno notato un fastidioso bug che causava il blocco del nodo, e che impediva di ripartire finchè il ...  
Architecture 15 Jan 2002 - 15:42 - r1.2 MarcoCalamari
Architettura di Freenet Queste pagine sono state pensate per dare una visione complessiva top-down dell'architettura di Glossary.Fred Fred . Se hai bisogno di informazioni ...  
FreenetClientProtocol 14 Jan 2002 - 19:42 - NEW MarcoCalamari
Introduzione Il Freenet Client Protocol (FCP) è progettato per astrarre gli elementi base di Freenet, cosicché gli svluppatori di client non debbano ...  
Philosophy 12 Jan 2002 - 12:14 - r1.3 MarcoCalamari
La filosofia di Freenet di Ian Clarke 1. Una nota di riserva Sono molti i motivi per decidere di partecipare al progetto Freenet. Qualcuno degli interessati condivide ...  
PubKeyCrypto 10 Jan 2002 - 09:29 - NEW MarcoCalamari
Crittografia a chiave pubblica La crittografia simmetrica è la tipologia con cui la maggior parte delle persone ha più familiarità. Utilizza ...  
FAQ 09 Jan 2002 - 15:02 - r1.2 MarcoCalamari
Frequently Asked Questions Domande #GeneraleA Generale #CosE Cos'è Freenet? #DietroFreenet Chi c'è "dietro" Freenet? #InstallazioneA Installazione ...  
EmergentBehavior 08 Jan 2002 - 22:28 - NEW MarcoCalamari
Dinamiche complesse Le dinamiche complesse sono tipiche di sistemi costituiti da un gran numero di componenti elementari simili o identiche tra loro. L'evoluzione ...  
WhatIs 08 Jan 2002 - 22:19 - r1.4 MarcoCalamari
Cos'è Freenet? Freenet è un network peer-to-peer su larga scala, il quale condividendo la potenza dei computer che ne fanno parte in tutto il mondo ...  
Donations 07 Jan 2002 - 09:51 - NEW MarcoCalamari
Donazioni Abbiamo costituito una società senza scopo di lucro per sostenere lo sviluppo del progetto Freenet.Ecco il documento programmatico della "Progetto ...  
NATSAndFirewalls 07 Jan 2002 - 09:48 - NEW MarcoCalamari
Usare Freenet attraverso un NAT o un Firewall Per funzionare correttamente, Freenet ha bisogno che gli altri nodi Freenet possano stabilire connessioni TCP con il ...  
People 05 Jan 2002 - 21:56 - r1.2 MarcoCalamari
Le persone dietro Freenet Nota: Questa è una lista incompleta, poiché un gran numero di persone hanno contribuito al Progetto. Queste persone possono ...  
Publishing 05 Jan 2002 - 15:19 - NEW MarcoCalamari
Come pubblicare siti web in Freenet Fondamenti Utenti Windows David McNab ha scritto una ottima utility chiamata http://freeweb.sf.net/ FreeWeb che potete usare per ...  
Publicity 05 Jan 2002 - 11:50 - NEW MarcoCalamari
Articoli In questa sezione puoi trovare alcuni collegamenti ad articoli e pubblicazioni su Freenet. Alcuni scritti sono più accurati di altri: ma giudicherai ...  
WebPreferences 03 Jan 2002 - 00:05 - r1.3 IanClarke
TWiki.IT Web Preferences The following settings are web preferences of the TWiki.IT web. These preferences overwrite the site-level preferences in TWIKIWEB . WIKIPREFSTOPIC ...  
LondonOffice 02 Jan 2002 - 17:47 - NEW TWikiGuest
Here would stand the information about the London office: Address: Phone: Fax: List of employees at LondonOffice. Related topic: OfficeLocations, WIKIUSERSTOPIC  
JamesGaskell 02 Jan 2002 - 16:10 - NEW JamesGaskell
Name: James Gaskell Email: James.Gaskell@dunelm.org.uk Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
LouisWynne 02 Jan 2002 - 15:30 - NEW LouisWynne
Name: Louis Wynne Email: louiswynne@yahoo.co.uk Comment: i like pigs Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: ...  
LeonidChukhovsky 02 Jan 2002 - 14:56 - NEW LeonidChukhovsky
Name: Leonid Chukhovsky Email: chukhovsky@yahoo.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
LeukHe 02 Jan 2002 - 10:30 - NEW LeukHe
Name: leuk he Email: test2201c@hotmail.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
KhanKhan 02 Jan 2002 - 09:13 - NEW KhanKhan
Name: khan khan Email: khan mf2000@hotmail.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
MacBeth 02 Jan 2002 - 01:41 - NEW MacBeth
Name: Chris Hanson Email: macbeth@gmx.co.uk Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
KenFollett 01 Jan 2002 - 23:19 - NEW KenFollett
Name: Ken Follett Email: Ken Follett@Infinito.it Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
KamalSulaiman 01 Jan 2002 - 16:55 - NEW KamalSulaiman
Name: Kamal Sulaiman Email: ksulaiman 100@hotmail Comment: Thanks Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set ...  
WolfgangFritsch 01 Jan 2002 - 12:02 - NEW WolfgangFritsch
Name: Wolfgang Fritsch Email: w.fritsch@web.de Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
JamesGrainger 01 Jan 2002 - 09:10 - NEW JamesGrainger
Name: james graigner Email: graingerjc@yahoo.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
JustinWeeks 01 Jan 2002 - 03:23 - NEW JustinWeeks
Name: Justin Weeks Email: x@hackersinparadise.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
JukkaHolappa 01 Jan 2002 - 00:24 - NEW JukkaHolappa
Name: Jukka Holappa Email: jukkaho@mail.student.oulu.fi Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set ...  
JoshuaAbbott 31 Dec 2001 - 20:14 - NEW JoshuaAbbott
Name: Joshua Abbott Email: jabbott@newpentacle.zzn.com Comment: NARF! Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box ...  
MarcoVicario 31 Dec 2001 - 11:55 - NEW MarcoVicario
Name: Marco Vicario Email: lion@open4.it Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 ...  
JoeBerk 30 Dec 2001 - 19:24 - NEW JoeBerk
Name: joe Berk Email: jogys@nexgo.de Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 Vertical ...  
HarryStreetman 30 Dec 2001 - 14:17 - NEW HarryStreetman
Name: harry streetman Email: itsjusme@yahoo.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
GregAndrews 29 Dec 2001 - 22:00 - NEW GregAndrews
Name: Greg Andrews Email: gregandrews@mac.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
IanSidle 29 Dec 2001 - 19:34 - NEW IanSidle
Name: Ian Sidle Email: macmouse4@attbi.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
MalakaiQAdams 29 Dec 2001 - 18:22 - NEW MalakaiQAdams
Name: Malakai Q. Adams Email: Malakai1911@yahoo.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
HassanAlief 29 Dec 2001 - 17:44 - NEW HassanAlief
Name: Hassan Alief Email: mhalief@msn.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 ...  
WernerMueller 29 Dec 2001 - 14:12 - NEW WernerMueller
Name: werner mueller Email: werner.mueller@cityweb.de Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
WebsiteEditors 29 Dec 2001 - 08:52 - r1.6 IanClarke
Guide for website Editors Note: This page may only be viewed (or edited) by members of the WebAdminGroup. Useful links http://freenetproject.org/cgi-bin/twiki/edit ...  
ZaB 29 Dec 2001 - 08:34 - NEW ZaB
Name: Zlatin Balevsky Email: zlatinb@yahoo.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  

Number of topics: 50

 


WebHome  

13 Apr 2002 - 09:28 - r1.21   MarcoCalamari

"Mi preoccupo continuamente della mia bambina e di Internet, anche se è ancora troppo piccola per potersi collegare. Ecco cosa mi preoccupa. Mi preoccupa il fatto che fra 10 o 15 anni, lei verrà da me e mi dirà "Papà, dov'eri quando hanno tolto la libertà di parola in Internet?'" --Mike Godwin, Electronic Frontier Foundation


Come ottenere Freenet

Cliccate qui per scaricare l'ultima release di Freenet 0.4 per Windows o Linux.

Notizie

10 Aprile 2002, Nuova pagina Screenshots (in inglese)

Chi volesse vedere Freenet in azione prima di fare il download ora può farlo grazie alla pagina degli ScreenShots.

9 Aprile 2002, Upgrade obbligatorio

Nello sforzo di risolvere un problema di prestazioni della rete, causato dalle modifiche al load-balancing, lo snapshot di oggi e' un upgrade obbligatorio. Questo implica che tutti i nodi con versioni fino all'8 Aprile non parleranno più con quelle dal 9 in poi. Se avete un nodo 0.4 aggiornatelo subito. Noi cercheremo di limitare il numero di questi aggiornamenti obbligatori, ma talvolta saranno ancora necessari.

30 Marzo 2002, Freenet nel ciclone

È un momento critico nell'evoluzione di Freenet.
Per motivi importanti, nella build 463 è stato introdotto un cambiamento negli algoritmi di routing che deve essere immediatamente diffuso a tutti i nodi permanenti.
Tre degli sviluppatori principali di Freenet invece stanno perdendo tempo ad accapigliarsi tra loro per delle stupidaggini, e nessuno ha ancora trovato 5 minuti per annunciare la notizia sul sito inglese. Invito quindi tutti i gestori di nodi italiani ad aggiornare immediatamente il loro nodo alla build 463 o superiore.

25 Marzo 2002, Freenet Protocol specification

La redazione della specifica del protocollo di Freenet, FNP è finalmente iniziata grazie ad Oskar.
Tutti coloro che si sono fino adesso giustamente lamentati della sua mancanza possono leggersela e magari collaborare alla redazione .....

7 Marzo 2002, Freenet & Indymedia

È disponibile, come stream Real Audio, la registrazione di un dibattito tra Ian Clarke di Freenet, Chris Burnett di Indymedia, e Steven Starr che appartiene ad ambedue le organizzazioni ed alla stazione radio KPFK. Discutono su Freenet e Indymedia nella trasmissione Digital Village, periodico tecnologico di KPFK. Potete ascoltare qui la prima parte e la seconda.

1 Marzo 2002, Articolo IEEE su Freenet

IEEE Internet Computing ha pubblicato un articolo (pdf) dal titolo "Protecting Free Expression Online with Freenet". È un'eccellente introduzione tecnica ai fondamenti di Freenet.

23 Febbraio 2002, Il terzo rapporto sullo stato di avanzamento del Progetto

Un nuovo rapporto di Ian sullo stato di avanzamento del Progetto.

19 Gennaio 2002, Un nuovo stato di avanzamento del Progetto

È tempo per un nuovo rapporto sullo stato di avanzamento del Progetto. Si sottolinea che è stato risolto un grave problema di corruzione dei dati; tutti dovrebbero aggiornare la loro installazione al più presto.


Introduzione

Freenet è un software libero progettato per garantire un'assoluta libertà di comunicazione in Internet. Permette a chiunque di pubblicare e leggere informazioni garantendo la totale anonimità. Nessuno controlla Freenet, nemmeno i suoi creatori, questo garantisce che il sistema sia libero da manipolazioni od interruzioni di servizio. Freenet è anche molto efficente nel trattare le informazioni, moltiplicandole in base alle richieste in maniera adattativa.
Abbiamo, e continuiamo ad esplorare, idee innovative come l'applicazione di dinamiche complesse alla comunicazione tra computer, e di crittografia a chiave pubblica per provvedere sicurezza senza ricorrere ad una autorità centrale.
Per maggiori informazioni potete leggere Cos'è Freenet?, oppure questa pubblicazione sull'architettura di Freenet.

Contatti con i media

Ogni richiesta di informazioni da parte dei media deve essere indirizzata a Ian Clarke.

 


WebIndex  

24 Nov 2001 - 11:36 - r1.2   PeterThoeny?

Topics in IT web: Changed: now 22:26 GMT Changed by:
AdaM 29 Dec 2001 - 12:32 - NEW AdaM
Name: Ada M Email: adam@nocat.net Comment: 123 Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 Vertical ...  
AgL 25 Dec 2001 - 18:58 - NEW AgL
Name: Adam Langley Email: freenet.twiki@imperialviolet.org Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set ...  
AlClarke 31 Dec 2001 - 19:32 - NEW AlClarke
Name: al clarke Email: niteranger7@hotmail.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
AndersNilsson 01 Jan 2002 - 18:50 - NEW AndersNilsson
Name: Anders Nilsson Email: anders.bredal@swipnet.se Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
Architecture 15 Jan 2002 - 15:42 - r1.2 MarcoCalamari
Architettura di Freenet Queste pagine sono state pensate per dare una visione complessiva top-down dell'architettura di Glossary.Fred Fred . Se hai bisogno di informazioni ...  
AreArseth 29 Dec 2001 - 18:10 - NEW AreArseth
Name: Are Årseth Email: elrond@ctemp.dhs.org Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
AutrijusTang 26 Dec 2001 - 00:00 - NEW AutrijusTang?
Name: Autrijus Tang Email: autrijus@autrijus.org Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
BenoitLaniel 25 Dec 2001 - 20:54 - NEW BenoitLaniel
Name: Benoit Laniel Email: nels@pgroupe.net Comment: French coordinator Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box ...  
BizzyBee33 02 Jan 2002 - 04:23 - NEW BizzyBee33
Name: Laura Dauser Email: BizzyBee33@aol.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
CaiwenWang 02 Jan 2002 - 00:16 - NEW CaiwenWang
Name: caiwen wang Email: cwang10535@aol.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
CarlosCORREDOURA 31 Dec 2001 - 21:56 - NEW CarlosCORREDOURA
Name: carlos corredoura Email: corredourac@netscape.net Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set ...  
CarmenF 01 Jan 2002 - 01:42 - NEW CarmenF
Name: CarmenF Email: BUSTERXRX@cs.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 Vertical ...  
CyclopsCyborg 01 Jan 2002 - 14:31 - NEW CyclopsCyborg
Name: cyclops cyborg Email: cybertronix@operamail.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
DamienParry 01 Jan 2002 - 15:30 - NEW DamienParry
Name: DamienParry Email: damienparry@hotmail.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
DanielLefebvre 30 Dec 2001 - 18:15 - NEW DanielLefebvre
Name: Daniel Lefebvre Email: dlefebvre@yahoo.fr Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
DavePinczkowski 31 Dec 2001 - 19:21 - NEW DavePinczkowski
Name: dave pinczkowski Email: Dave Pin@msn.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
DeltaFourOhSeven 31 Dec 2001 - 04:42 - NEW DeltaFourOhSeven
Name: Delta FourOhSeven Email: delta407@invisiblenet.net Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set ...  
Documentation 11 Feb 2002 - 10:02 - NEW MarcoCalamari
Documentazione utente di Freenet Download Installazione FAQ Frequently Asked Questions CLO Command Line Options  
DonaldCarver 02 Jan 2002 - 15:19 - NEW DonaldCarver
Name: donald carver Email: psyspy001@yahoo.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
Donations 07 Jan 2002 - 09:51 - NEW MarcoCalamari
Donazioni Abbiamo costituito una società senza scopo di lucro per sostenere lo sviluppo del progetto Freenet.Ecco il documento programmatico della "Progetto ...  
Download 14 Feb 2002 - 13:57 - r1.4 MarcoCalamari
Scaricate Freenet Per fawore, scaricate e testate uno snapshot della versione 0.4 in sviluppo. La prossima versione stabile 0.5 dovrebbe essere pronta presto controllate ...  
DujruthaiPalakul 02 Jan 2002 - 10:59 - NEW DujruthaiPalakul
Name: Dujruthai Email: dujruthai@hotmail.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
EddyWullems 29 Dec 2001 - 23:09 - NEW EddyWullems
Name: eddy wullems Email: oldversion@kabelfoon.nl Comment: go download Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box ...  
EmergentBehavior 08 Jan 2002 - 22:28 - NEW MarcoCalamari
Dinamiche complesse Le dinamiche complesse sono tipiche di sistemi costituiti da un gran numero di componenti elementari simili o identiche tra loro. L'evoluzione ...  
EricNorige 28 Dec 2001 - 22:44 - NEW EricNorige
Name: Eric Norige Email: thelema@mercury.truman.edu Comment: use liber2.pl! Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit ...  
FAQ 09 Jan 2002 - 15:02 - r1.2 MarcoCalamari
Frequently Asked Questions Domande #GeneraleA Generale #CosE Cos'è Freenet? #DietroFreenet Chi c'è "dietro" Freenet? #InstallazioneA Installazione Risposte ...  
FileAttachment 02 Jan 2002 - 17:47 - NEW TWikiGuest
INCLUDE{" TWIKIWEB .FileAttachment"}  
FreenetClientProtocol 14 Jan 2002 - 19:42 - NEW MarcoCalamari
Introduzione Il Freenet Client Protocol (FCP) è progettato per astrarre gli elementi base di Freenet, cosicché gli svluppatori di client non debbano ...  
GabisuNoKen 31 Dec 2001 - 01:28 - NEW GabisuNoKen
Name: gabisu no ken Email: gabisu@lycos.fr Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
GeorgeDuck 01 Jan 2002 - 17:38 - NEW GeorgeDuck
Name: george duck Email: gduck83232@aol.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
GilesBrunet 01 Jan 2002 - 13:19 - NEW GilesBrunet
Name: giles brunet Email: oslo1@caramail.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
GnomJas 02 Jan 2002 - 03:34 - NEW GnomJas
Name: Gnom Jas Email: Gnomjas@hotmail.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 ...  
GregAndrews 29 Dec 2001 - 22:00 - NEW GregAndrews
Name: Greg Andrews Email: gregandrews@mac.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
HarryStreetman 30 Dec 2001 - 14:17 - NEW HarryStreetman
Name: harry streetman Email: itsjusme@yahoo.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
HassanAlief 29 Dec 2001 - 17:44 - NEW HassanAlief
Name: Hassan Alief Email: mhalief@msn.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 ...  
ICSI 02 Feb 2002 - 15:22 - r1.3 MarcoCalamari
Freenet: Un sistema anonimo distribuito di memorizzazione e ricerca di informazioni Ian Clarke Uprizer, Inc. 1007 Montana Ave., #323 Santa Monica, CA 90403 USA ian ...  
IanClarke 21 Dec 2001 - 21:37 - r1.2 IanClarke
Name: Ian Clarke Email: ian@freenetproject.org Comment: Project Coordinator Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit ...  
IanSidle 29 Dec 2001 - 19:34 - NEW IanSidle
Name: Ian Sidle Email: macmouse4@attbi.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
JaapBouwsma 25 Dec 2001 - 10:48 - NEW JaapBouwsma
Name: Jaap Bouwsma Email: jaap b@wanadoo.nl Comment: Maintainer Dutch Freenet website. Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size ...  
JamesGaskell 02 Jan 2002 - 16:10 - NEW JamesGaskell
Name: James Gaskell Email: James.Gaskell@dunelm.org.uk Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
JamesGrainger 01 Jan 2002 - 09:10 - NEW JamesGrainger
Name: james graigner Email: graingerjc@yahoo.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
JanieMehew 25 Dec 2001 - 04:32 - NEW JanieMehew
Name: Janie Mehew Email: janie@freenetproject.org Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
JoeBerk 30 Dec 2001 - 19:24 - NEW JoeBerk
Name: joe Berk Email: jogys@nexgo.de Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 Vertical ...  
JohnZero 26 Dec 2001 - 20:00 - NEW JohnZero
Name: Janos Noll Email: johnzero-freenetwiki@johnzero.hu Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set ...  
JoshuaAbbott 31 Dec 2001 - 20:14 - NEW JoshuaAbbott
Name: Joshua Abbott Email: jabbott@newpentacle.zzn.com Comment: NARF! Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box ...  
JukkaHolappa 01 Jan 2002 - 00:24 - NEW JukkaHolappa
Name: Jukka Holappa Email: jukkaho@mail.student.oulu.fi Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set ...  
JustinWeeks 01 Jan 2002 - 03:23 - NEW JustinWeeks
Name: Justin Weeks Email: x@hackersinparadise.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
KamalSulaiman 01 Jan 2002 - 16:55 - NEW KamalSulaiman
Name: Kamal Sulaiman Email: ksulaiman 100@hotmail Comment: Thanks Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set ...  
KenFollett 01 Jan 2002 - 23:19 - NEW KenFollett
Name: Ken Follett Email: Ken Follett@Infinito.it Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
KhanKhan 02 Jan 2002 - 09:13 - NEW KhanKhan
Name: khan khan Email: khan mf2000@hotmail.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
LeonidChukhovsky 02 Jan 2002 - 14:56 - NEW LeonidChukhovsky
Name: Leonid Chukhovsky Email: chukhovsky@yahoo.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
LeukHe 02 Jan 2002 - 10:30 - NEW LeukHe
Name: leuk he Email: test2201c@hotmail.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
Lists 17 Jan 2002 - 09:59 - r1.2 MarcoCalamari
Note: Abbiamo costantemente richieste da gente che vuole cancellare la propria iscrizione. DEVI farlo da solo! Clicca sul link che e' alla base di ogni email, immetti ...  
LondonOffice 02 Jan 2002 - 17:47 - NEW TWikiGuest
Here would stand the information about the London office: Address: Phone: Fax: List of employees at LondonOffice. Related topic: OfficeLocations, WIKIUSERSTOPIC  
LouisWynne 02 Jan 2002 - 15:30 - NEW LouisWynne
Name: Louis Wynne Email: louiswynne@yahoo.co.uk Comment: i like pigs Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: ...  
MacBeth 02 Jan 2002 - 01:41 - NEW MacBeth
Name: Chris Hanson Email: macbeth@gmx.co.uk Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
MalakaiQAdams 29 Dec 2001 - 18:22 - NEW MalakaiQAdams
Name: Malakai Q. Adams Email: Malakai1911@yahoo.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
MarcoCalamari 27 Dec 2001 - 07:53 - NEW MarcoCalamari
Name: Marco Calamari Email: marcoc@dada.it Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
MarcoVicario 31 Dec 2001 - 11:55 - NEW MarcoVicario
Name: Marco Vicario Email: lion@open4.it Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 ...  
MarkJRoberts 28 Dec 2001 - 22:39 - NEW MarkJRoberts
Name: Mark J Roberts Email: mjr@znex.org Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 ...  
MarkLon 01 Jan 2002 - 19:09 - NEW MarkLon
Name: Mark 75lon Email: Marky75lon@hotmail.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
MattPuchowicz 31 Dec 2001 - 23:54 - NEW MattPuchowicz
Name: Matt Puchowicz Email: Lobstert182@hotmail.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
MatteoDominoni 01 Jan 2002 - 22:25 - NEW MatteoDominoni
Name: matteo dominoni Email: verby@tiscalinet.it Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
MikeMorris 30 Dec 2001 - 05:52 - NEW MikeMorris
Name: Mike Morris Email: mmjj@abcs.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 Vertical ...  
MikhailMiguel 02 Jan 2002 - 07:35 - NEW MikhailMiguel
Name: Mikhail Miguel Email: mikhail@underpop.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
MwZ 31 Dec 2001 - 04:51 - NEW MwZ
Name: Mark Zaiser Email: mark@markzee.net Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 ...  
NATSAndFirewalls 07 Jan 2002 - 09:48 - NEW MarcoCalamari
Usare Freenet attraverso un NAT o un Firewall Per funzionare correttamente, Freenet ha bisogno che gli altri nodi Freenet possano stabilire connessioni TCP con il ...  
NewUser 01 Jan 2002 - 03:07 - NEW NewUser
Name: New User Email: ian@freenetproject.org Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
NobodyGroup 07 Aug 2001 - 15:52 - NEW JohnTalintyre?
Nobody Group Set GROUP Set ALLOWTOPICCHANGE TWikiAdminGroup Used to prevent dangerous actions e.g. renaming TWIKIWEB .TWikiPreferences. Related topics: WIKIUSERSTOPIC ...  
OfficeLocations 21 Dec 2001 - 21:34 - r1.5 IanClarke
The OfficeLocations topic has a list of all your offices. TheInternet (This is an example of corporate intranet use and is for demonstration purposes only: TWIKIWEB ...  
PaoloMargari 29 Dec 2001 - 16:29 - NEW PaoloMargari
Name: Paolo Margari Email: p.margari@inwind.it Comment: hello world! Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: ...  
Papers 13 Mar 2002 - 16:40 - r1.4 MarcoCalamari
Documentazione " http://www.doc.ic.ac.uk/~twh1/longitude/index.html#freenet-ic Protecting Free Expression Online with Freenet ", IEEE Internet Computing 6(1), January ...  
People 05 Jan 2002 - 21:56 - r1.2 MarcoCalamari
Le persone dietro Freenet Nota: Questa è una lista incompleta, poiché un gran numero di persone hanno contribuito al Progetto. Queste persone possono ...  
PeterB 29 Dec 2001 - 22:28 - NEW PeterB
Name: Peter Brennen Email: pmbst23@pitt.edu Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
PeterSchmidt 01 Jan 2002 - 22:46 - NEW PeterSchmidt
Name: peter schmidt Email: systhem@gmx.de Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 ...  
PhilipHadley 29 Dec 2001 - 22:41 - NEW PhilipHadley
Name: philip hadley Email: jl004b2995@blueyonder.co.uk Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
Philosophy 12 Jan 2002 - 12:14 - r1.3 MarcoCalamari
La filosofia di Freenet di Ian Clarke 1. Una nota di riserva Sono molti i motivi per decidere di partecipare al progetto Freenet. Qualcuno degli interessati condivide ...  
ProgressReport20020112 17 Jan 2002 - 08:37 - NEW MarcoCalamari
Situazione al 12 gennaio 2002 Nei mesi passati, molti avranno notato un fastidioso bug che causava il blocco del nodo, e che impediva di ripartire finchè il ...  
ProgressReport20020119 02 Feb 2002 - 17:22 - r1.2 MarcoCalamari
Relazione sullo stato di avanzamento, 19 gennaio 2002 Oggi Tavin pensa di aver riparato il bug che corrompeva i dati e che stava causando seri problemi a Freenet ...  
ProgressReport20020223 13 Mar 2002 - 16:20 - NEW MarcoCalamari
Stato di Freenet al 23 Febbraio 2002 Gli ultimi mesi dello sviluppo di freenet sono stati largamente impiegati a rifinire il codice base corrente, a scovare e correggere ...  
PubKeyCrypto 10 Jan 2002 - 09:29 - NEW MarcoCalamari
Crittografia a chiave pubblica La crittografia simmetrica è la tipologia con cui la maggior parte delle persone ha più familiarità. Utilizza ...  
Publicity 05 Jan 2002 - 11:50 - NEW MarcoCalamari
Articoli In questa sezione puoi trovare alcuni collegamenti ad articoli e pubblicazioni su Freenet. Alcuni scritti sono più accurati di altri: ma giudicherai ...  
Publishing 05 Jan 2002 - 15:19 - NEW MarcoCalamari
Come pubblicare siti web in Freenet Fondamenti Utenti Windows David McNab ha scritto una ottima utility chiamata http://freeweb.sf.net/ FreeWeb che potete usare per ...  
ReedR 02 Jan 2002 - 02:54 - NEW ReedR
Name: r reed Email: winston700@aol.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 Vertical ...  
RichardCochinos 29 Dec 2001 - 18:32 - NEW RichardCochinos
Name: Richard Cochinos Email: polar-twiki@theory.org Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
RobertELee 02 Jan 2002 - 01:36 - NEW RobertELee
Name: Robert E. Lee Email: relee@stuart.iit.edu Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
RussHartley 29 Dec 2001 - 16:05 - NEW RussHartley
Name: russ hartley Email: russ5411@yahoo.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
SanJoseOffice 02 Jan 2002 - 17:47 - NEW TWikiGuest
Here would stand the information about the San Jose office: Address: Phone: Fax: List of employees at SanJoseOffice. Related topic: OfficeLocations, WIKIUSERSTOPIC ...  
ScottMiller 29 Dec 2001 - 06:42 - NEW ScottMiller
Name: Scott Miller Email: scgmille@freenetproject.org Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
SeanPalmer 27 Dec 2001 - 04:42 - NEW SeanPalmer
Name: Sean Palmer Email: sean@mysterylights.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
SebastianGutweiler 28 Dec 2001 - 11:40 - NEW SebastianGutweiler
Name: Sebastian Gutweiler Email: newsletter@gutweiler.net Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set ...  
SergeWroclawski 31 Dec 2001 - 13:31 - NEW SergeWroclawski
Name: Serge Wroclawski Email: swroclawski@earthling.net Comment: Let's make freenet not suck. Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal ...  
SoleMan 29 Dec 2001 - 08:04 - NEW SoleMan
Name: sole man Email: tslico@netscape.net Comment: I find it very hard to find information right now and I was wondering if you could make it easier Personal Preferences ...  
SunTzuTov 01 Jan 2002 - 04:32 - NEW SunTzuTov
Name: Anthony Fischer Email: SunTzuTov Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 Vertical ...  
SusanCoghlan 02 Jan 2002 - 15:28 - NEW SusanCoghlan
Name: Susan Coghlan Email: smc@turbolabs.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
SvenBerling 01 Jan 2002 - 23:25 - NEW SvenBerling
Name: Sven Berling Email: sven955@hotmail.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
TWikiAdminGroup 07 Aug 2001 - 15:48 - r1.4 JohnTalintyre?
TWiki Administrator Group Set GROUP IanClarke Set ALLOWTOPICCHANGE TWikiAdminGroup Note: Set the members of TWiki Administrator Group in GROUP as a comma separated ...  
TWikiGroups 24 Dec 2001 - 22:41 - r1.4 IanClarke
These groups can be used to define fine grained TWIKIWEB .TWikiAccessControl in TWiki: TWikiAdminGroup WebAdminGroup Add your groups to this list and define new group ...  
TWikiGuest 02 Jan 2002 - 17:47 - NEW TWikiGuest
A guest of this TWiki web, not unlike yourself. You can leave your trace behind you, just add your name in TWIKIWEB .TWikiRegistration and create your own page. Personal ...  
TWikiUsers 02 Jan 2002 - 16:10 - r1.99 JamesGaskell
List of TWiki users Please take the time and add yourself to the list. To do that fill out the form in TWIKIWEB .TWikiRegistration. This will create an account for ...  
TWikiVariables 02 Jan 2002 - 17:47 - NEW TWikiGuest
INCLUDE{" TWIKIWEB .TWikiVariables"}  
TavinCole 28 Dec 2001 - 05:12 - NEW TavinCole
Name: Tavin Cole Email: tavin@freenetproject.org Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
ThomasWindheuser 01 Jan 2002 - 17:28 - NEW ThomasWindheuser
Name: Thomas Windheuser Email: t.windheuser@gmx.de Comment: Muhahaarrrr Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box ...  
TokyoOffice 02 Jan 2002 - 17:47 - NEW TWikiGuest
Here would stand the information about the Tokyo office: Address: Phone: Fax: List of employees at TokyoOffice. Related topic: OfficeLocations, WIKIUSERSTOPIC  
TomLongson 30 Dec 2001 - 03:25 - NEW TomLongson
Name: Tom Longson Email: tlongson@socal.rr.com Comment: Free the bunnies. Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit ...  
TonySanchez 01 Jan 2002 - 20:36 - NEW TonySanchez
Name: Tony Sanchez Email: tonyrs018@juno.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
Tools 30 Mar 2002 - 10:47 - r1.2 MarcoCalamari
Applicazioni terze parti Molte persone hanno realizzato una serie di ottimi client ed utility da impiegare con Freenet. http://freeweb.sf.net/ FreeWeb FreeWeb (Windows ...  
TotoTiti 02 Jan 2002 - 00:25 - NEW TotoTiti
Name: toto titi Email: wchicos@free.fr Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH 70 Vertical ...  
Translations 05 Feb 2002 - 09:42 - r1.5 MarcoCalamari
Traduzioni del sito Freenet Note: Se la traduzione del sito nella vostra lingua esiste, ed il vostro browser è configurato correttamente dovreste essere stati ...  
TuomasAiraksinen 29 Dec 2001 - 14:07 - NEW TuomasAiraksinen
Name: Tuomas Airaksinen Email: tuomas.airaksinen@tuma.stc.cx Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box ...  
VictorT 02 Jan 2002 - 00:13 - NEW VictorT
Name: victor tracy Email: alaskavic@hotmail.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
WebAdminGroup 25 Dec 2001 - 23:36 - r1.2 IanClarke
Set GROUP Main.TWikiAdminGroup, Main.JanieMehew Set ALLOWTOPICCHANGE Main.TWikiAdminGroup  
WebChanges 16 Aug 2001 - 19:58 - NEW PeterThoeny?
INCLUDE{" TWIKIWEB .WebChanges"}  
WebHome 13 Apr 2002 - 09:28 - r1.21 MarcoCalamari
"Mi preoccupo continuamente della mia bambina e di Internet, anche se è ancora troppo piccola per potersi collegare. Ecco cosa mi preoccupa. Mi preoccupa il ...  
WebIndex 24 Nov 2001 - 11:36 - r1.2 PeterThoeny?
SEARCH{"\. " scope "topic" regex "on" nosearch "on"} See also the faster WebTopicList  
WebMenu 11 Feb 2002 - 10:00 - r1.4 MarcoCalamari
Prima Pagina Curiosi IT.WhatIs Cos'è Freenet IT.Donations Aiutateci ! IT.People Le persone IT.Publicity Articoli IT.Philosophy Filosofia IT.Translations ...  
WebNotify 08 Aug 2001 - 05:24 - NEW PeterThoeny?
NOTIFYTOPIC is a subscription service to be automatically notified by email when topics change in the TWiki.IT web. This is a convenient service, so you do not have ...  
WebPreferences 03 Jan 2002 - 00:05 - r1.3 IanClarke
TWiki.IT Web Preferences The following settings are web preferences of the TWiki.IT web. These preferences overwrite the site-level preferences in TWIKIWEB . WIKIPREFSTOPIC ...  
WebSearch 08 Aug 2001 - 05:57 - r1.8 PeterThoeny?
INCLUDE{" TWIKIWEB .WebSearch"}  
WebStatistics 06 Feb 2002 - 10:30 - r1.18 TWikiGuest
Statistics for TWiki.IT Web Month: Topic views: Topic saves: File uploads: Most popular topic views: Top contributors for topic save and uploads: Feb 2002 605 14 ...  
WebTopicList 24 Nov 2001 - 11:36 - NEW PeterThoeny?
TOPICLIST{" $name "} See also the verbose WebIndex.  
WebsiteEditors 29 Dec 2001 - 08:52 - r1.6 IanClarke
Guide for website Editors Note: This page may only be viewed (or edited) by members of the WebAdminGroup. Useful links http://freenetproject.org/cgi-bin/twiki/edit ...  
WernerMueller 29 Dec 2001 - 14:12 - NEW WernerMueller
Name: werner mueller Email: werner.mueller@cityweb.de Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
WhatIs 08 Jan 2002 - 22:19 - r1.4 MarcoCalamari
Cos'è Freenet? Freenet è un network peer-to-peer su larga scala, il quale condividendo la potenza dei computer che ne fanno parte in tutto il mondo, ...  
WolfgangFritsch 01 Jan 2002 - 12:02 - NEW WolfgangFritsch
Name: Wolfgang Fritsch Email: w.fritsch@web.de Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  
ZaB 29 Dec 2001 - 08:34 - NEW ZaB
Name: Zlatin Balevsky Email: zlatinb@yahoo.com Comment: Personal Preferences (details in TWIKIWEB .TWikiVariables) Horizontal size of text edit box: Set EDITBOXWIDTH ...  

Number of topics: 126

See also the faster WebTopicList

 


WebMenu  

11 Feb 2002 - 10:00 - r1.4   MarcoCalamari

Prima Pagina

Curiosi
- Cos'è Freenet
- Aiutateci !
- Le persone
- Articoli
- Filosofia
- Traduzioni

Utenti
- Download
- Documentazione
- FAQ
- Applicazioni terze parti
- Segnala un baco
- Mailing Lists

Autori
- Pubblicare

Sviluppatori
- Documentazione
- Architettura
- Area pubblica
- Registratevi!

 


WebNotify  

08 Aug 2001 - 05:24 - NEW   PeterThoeny?

WebNotify is a subscription service to be automatically notified by email when topics change in the TWiki.IT web. This is a convenient service, so you do not have to come back and check all the time if something has changed. To subscribe to the service, please put yourself on the list below. The format is: 3 spaces * Main.yourWikiName - yourEmailAddress

Note: It is helpful to insert your name in alphabetical order (by first name -- ignore the "Main.") -- then you can find your name (or not) more easily if you wish to remove it or confirm that you are on the list.

Related topics: TWikiUsers, TWikiRegistration

 


WebPreferences  

03 Jan 2002 - 00:05 - r1.3   IanClarke

TWiki.IT Web Preferences

The following settings are web preferences of the TWiki.IT web. These preferences overwrite the site-level preferences in TWikiPreferences, and can be overwritten by user preferences (your personal topic, i.e. TWikiGuest in the TWiki.Main web)

Preferences:

Notes:

Related Topics:

 


WebSearch  

08 Aug 2001 - 05:57 - r1.8   PeterThoeny?

 


WebStatistics  

06 Feb 2002 - 10:30 - r1.18   TWikiGuest

Statistics for TWiki.IT Web

Month: Topic
views:
Topic
saves:
File
uploads:
Most popular
topic views:
Top contributors for
topic save and uploads:
Feb 2002 605 14 0 116 WebHome
 47 Download
 35 WhatIs
 26 Papers
 19 ICSI
 18 Translations
 17 WebMenu
 17 Tools
 17 FreenetClientProtocol
 16 People
 16 FAQ
 14 MarcoCalamari
Jan 2002 892 16 0 102 WebHome
 53 ICSI
 51 Download
 25 Papers
 24 WhatIs
 22 Philosophy
 20 WebMenu
 17 WebStatistics
 17 FAQ
 14 Translations
 14 Publishing
 16 MarcoCalamari
Dec 2001 72 0 0  62 WebHome
  7 WhatIs
  1 WebPreferences
  1 WebMenu
  1 Translations
 

Notes:

 


WebTopicList  

24 Nov 2001 - 11:36 - NEW   PeterThoeny?

See also the verbose WebIndex.

 


WebsiteEditors  

29 Dec 2001 - 08:52 - r1.6   IanClarke

Guide for website Editors

Note: This page may only be viewed (or edited) by members of the WebAdminGroup.

Useful links

Shitlist

This is a list of common fuckups and the person responsible - please try to avoid them!

Leaving pages locked - Ian

If you edit a page, then change your mind, you should click on the "Cancel Edit" link rather than just hitting "back" on your browser, since if you don't the page will remain locked.

Notes

TigerSkinPlugin modifications

I [Ian] have modified the TigerSkinPlugin.pm so that rather than having a fancy custom language for defining menus in the WebMenu topic, it simply copies the topic verbatim. This has the disadvantage that menus no longer collapse and un-collapse, but the advantage that it is more flexible, and that where the old mechanism was a browser-compatability nightmare, the new mechanism can stick to nice 100% certified HTML.

Additionally, I have added Developer and Actions sections to the menu, which are only displayed for logged in users. This basically makes the website look like "Just Another Website" to non-logged in users.

Multi-lingual support

There are two components to the multi-language support. Firstly, a separate "web" has been created for each language, named according to the language's two-letter language code, for example, French is "FR", and Italian is "IT". The only exception is English which remains in the "Main" web. This affords much flexibility with permissions, and templates.
For languages other than English, editors should use the "Edit Lang Menu" button in the Actions section of the menu.
The second component is a simple PHP script in freenet/htdocs/index.php, which checks the HTTP_ACCEPT_LANGUAGE environment variable to see what language the user's browser is requesting, and automatically redirects the user to the appropriate page.

 


WernerMueller  

29 Dec 2001 - 14:12 - NEW   WernerMueller

Personal Preferences (details in TWikiVariables)

Related topics

 


WhatIs  

08 Jan 2002 - 22:19 - r1.4   MarcoCalamari

Cos'è Freenet?

Freenet è un network peer-to-peer su larga scala, il quale condividendo la potenza dei computer che ne fanno parte in tutto il mondo, crea un grande deposito virtuale di informazione aperto a chiunque per pubblicare o consultare informazioni liberamente. Le caratteristiche di Freenet sono:

Storia

Freenet è una implementazione Open Source potenziata del sistema descritto da Ian Clarke nel 1999 nel suo documento "A distributed decentralized information storage and retrieval system" (guarda qui). Il lavoro su Freenet cominciò subito dopo la pubblicazione di questo documento nel Luglio 1999 da Clarke ed un piccolo numero di volontari. A Marzo 2000 la versione 0.1 di Freenet era pronta per essere rilasciata. Sin dal Marzo 2000 Freenet è stata citata massicciamente dalla stampa, più a causa delle sue implicazioni nella vicenda del copyright che per il suo grande obbiettivo, la libertà di comunicazione.

Lo sviluppo di Freenet continua ad un ritmo sempre più crescente ed affannoso, rilasciando una nuova versione almeno ogni due settimane, ognuna con signifacanti migliorie sotto il profilo della facilità d'uso e quello della performance. In questo momento la scrittura della versione 0.4, con grossi cambiamenti sull'architettura di sistema, sulla sicurezza e sulle performance,è vicina al completamento.

Applicazioni

Il sistema fornisce una flessibile e potente infrastruttura capace di supportare una grande gamma di utilizzi, come:

Freenet è un sistema aperto e democratico che non può essere controllato da nessuna persona, nemmeno dal suo creatore. Fu originariamente ideato da Ian Clarke ed è stato implementato nel modello open-source da molti volontari.

 


WolfgangFritsch  

01 Jan 2002 - 12:02 - NEW   WolfgangFritsch

Personal Preferences (details in TWikiVariables)

Related topics

 


ZaB  

29 Dec 2001 - 08:34 - NEW   ZaB

Personal Preferences (details in TWikiVariables)

Related topics

 



Number of topics: 126

Topic WebHome . { }
  This website is distributed under the GNU Documentation License