|
Creazione di Freesites (Siti web su Freenet)
By Rob CakebreadQuesto documento è basato sul documento di Gianni Johansson A Guide to Freenet Web Site Publishing for the Bold disponibile qui:
freenet:MSK@SSK@enI8YFo3gj8UVh-Au0HpKMftf6QQAgE/homepage//website_HOWTO.html
0. Introduzione
I Freesites sono siti accessibili su Freenet tramite un normale browser, e appariranno all' utente come normali siti web.
Se non sei pratico di Freenet ricorda che non si tratta di un sostituto del Web. I documenti 'escono' da Freenet se non sono consultati di frequente. Freenet è una piattaforma che permette di archiviare e recuperare pagine web tramite Fproxy. Non c'è un web server e non c'è modo per eseguire dei programmi come i contatori di pagina da dentro Freenet.
Consulta FAQ e Che cos' è Freenet? per maggiori informazioni.
0.1 Prerequisiti
Per utilizzare al meglio questo tutorial dovresti già sapere come creare un normale sito web e come inserire le key in Freenet. Se vuoi saperne di più sulle varie the key e su come utilizzarle, consulta la Guida alle Key .
0.2 Cosa imparerai
I più semplici freesite possono essere inseriti in Freenet come KSK key. Queste KSK possono quindi essere richiamate tramite il tuo browser web via Fproxy. Questo è piuttosto limitante perché non puoi aggiornare un freesite basato su KSK.
Questo tutorial illustra come creare e mantenere un freesite usando le MSK. I siti basati su MSK possono essere aggiornati ad intervalli prestabiliti, di solito quotidianamente. Dopo che hai aggiornato il tuo sito per un intervallo stabilito, devi aspettare lo scadere del prossimo periodo per poterlo aggirnare ancora.
Questo documento ti spiegherà come inserire correttamente un freesite aggiornandolo regolarmente. Dato che puoi creare freesites 'a mano', questo documento non spiega come farlo. Diventa molto ingombrante quando il tuo sito non contiene solo poche pagine ed è piuttosto ricco di errori.
0.3 I Tool
Il metodo che utilizzerai necessita della versione 0.3.9.1 o successiva di Freenet e il programma GJ's PutFiles che è contenuto in manifest.jar, versione 0.16a o superiore. Puoi scaricare manifest.jar qui:
freenet:SSK@enI8YFo3gj8UVh-Au0HpKMftf6QQAgE/files/0.16a/manifest.jar
Per aggiornamenti puoi consultare il freesite di GJ qui:
freenet:MSK@SSK@enI8YFo3gj8UVh-Au0HpKMftf6QQAgE/homepage//
1. Costruisci il tuo sito
Se sei in grado di realizzare un sito web non avrai problemi a creare freesites. Scrivere in HTML per un freesite non è assolutamente diverso da un normale sito web. Ci però sono degli elementi che devi tener presente quando generi un link verso altri file in Freenet.
1.1 Link verso altre pagine e files
La cosa principale da ricordare quando si creano dei link verso files in Freenet è di utilizzare link relativi. Creiamo un semplice freesite con una pagina principale che contiene un' immagine, una seconda pagina, ed un link al freesite di qualcun altro. La nostra prima pagina sarà salvata come index.html.
<html> <title>Ciao Freenet</title> <body> Ciao Freenet.<p> Questa è una foto del mio cane:<p> <img src='mocha.jpg'><p> Ho una foto del tuo cane sulla mia <a href='page2.html'>pagina successiva</a> <p> <a href='/MSK@SSK@enI8YFo3gj8UVh-Au0HpKMftf6QQAgE/homepage//'> Qui</a> c'è un freesite con la foto di un furetto. <p> </body> </html>
Nota che non si è inserito freenet: prima della key. Anche alcuni browser hanno dei plugin opzionali che riconoscono freenet: la stragrande maggioranza degli utenti non sarà in grado di accedere ai link in questo modo. Non cominciare il link con freenet:
Il freesite in questo esempio è costituito da tre file. Colloca questi tre file nella loro directory:
index.html (La tua main page)
mocha.jpg
page2.html
Puoi fare un link con qualsiasi typo di key in Freenet. Puoi farlo nello stesso modo in cui sono stati linkati gli altri freesite in questo
esempio.
Ricorda comunque di anteporre le key al proprio sito con '/'
<a href='/MSK@SSK@enI8YFo3gj8UVh-Au0HpKMftf6QQAgE/homepage//'> <a href='/KSK@test'> <a href='/CHK@I8ramalamafafafa0HpKMftf6lmnop'> <a href='/SSK@enI8YFo3gj8UVh-Au0HpKMftf6QQAgE/files/0.16a/manifest.jar'>
Quelle qui sotto sono tutte sintassi utilizzabili per link con delle key fuori dal tuo freesite.
2. La tua SSK (SubSpace Key) privata
Se non hai una coppia di key private SSK, hai bisogno di crearle. Pubblicherai ed aggiornerai il tuo freesite con la key privata. I visitatori al tuo sito vi accederanno con una combinazione della chiave pubblica e del nome del tuo freesite.
Le SSK ti permettono di inserire un documento (che puoi denominare tu stesso, come una KSK) "sotto" un SSK namespace, ma solo se hai l' SSK privata.
Se hai un SSK namespace come SSK@Public_Key/recipes la gnete potrà accedere ai file con delle key come queste:
SSK@Public_Key/recipes/chicken_enchiladas SSK@Public_Key/recipes/spam_tacos SSK@Public_Key/recipes/ice
Tu potrai inserire i files utilizzando la SSK@Private_Key/recipes/spam_tacos ecc.
2.1 Genera la tua coppia privata di chiavi (Keypair) SSK
Potrai generare la tua keypair utilizzando freenet_insert di Freenet per Un*x o finsert per Windows. Dalla tua shell o dal prompt del DOS scrivi:
(Un*x) freenet_insert -makeKeypair (Windows) finsert -makeKeypair
Prendi nota delle due chiavi e conservale in un posto sicuro.
Nota importante: La porta di default per Freenet è la 19114. Questo valore è settato nelle tua configurazione di Freenet file - .freenetrc (Un*x) o freenet.ini (Windows).
Se non usi il valore di default puoi aver bisogno di aggiungere questo ai comandi visti sopra:
-serverAddress tcp/127.0.0.1:12345 (Sostituisce il valore nel tuo Freenet config file con 12345)
3. Scegli un intervallo per il tuo DBR (Date Based Redirect)
Puoi aggiornare il tuo freesite in incrementi fino a 24 ore. Nel nostro esempio creeremo un DBR che aggiorna ogni giorno alle 12:00 GMT. Puoi effettuare questa operazione una sola volta. Non puoi cambiare l'intervallo con cui il tuo sito verrà aggiornato dopo aver inserito il tuo DBR.
3.1 Inserire il DBR
Inserisci il tuo DBR usando il freenet_insert per Un*x o finsert per Windows. Dalla tua shell o prompt del DOS scrivi:
(Un*x) freenet_insert -htl 50 -createUpdate yes freenet:SSK@Your_PRIVATE_Key/Your_Site_Name (Windows) finsert -htl 50 -createUpdate yes freenet:SSK@Your_PRIVATE_Key/Your_Site_Name
Il nome del sito non deve contenere spazi.
Se tu volessi aggiornare il tuo sito più di una volta al giorno, inserisci il comando freenet_insert o finsert senza alcuna opzione e vedrai le informazioni di utilizzo per gli intervalli di aggiornamento.
Questo -htl 50 è un valore suggerito ma sembra essere un buon valore per una ragionevole distribuzione al momento della stesura di questo documento.
4. Pubblica il tuo Freesite
Dalla tua shell o dal prompt del DOS inserisci il seguente comando, supponendo che tu sia nella tua directory di installazione di freenet in cui si trovano freenet.jar e manifest.jar . Se hai freenet.jar e manifest.jar configurati nel tuo CLASSPATH puoi omettere '-cp freenet.jar:manifest.jar'
(Un*x) java -cp freenet.jar:manifest.jar relentless.gj.cli.PutFiles -simRequests 3 \ -htl 50 \ -update yes \ -mskURIValue freenet:SSK@Your_PRIVATE_Key/Your_Site_Name \ -fromDir directory_name \ -rootDir directory_name (Windows) java -cp freenet.jar;manifest.jar relentless.gj.cli.PutFiles -simRequests 3 -htl 50 -update yes -mskURIValue freenet:SSK@Your_PRIVATE_Key/Your_Site_Name -fromDir directory_name -rootDir directory_name
Utenti Windows:
Il comando Windows mostrato sotto deve essere inserito in un' unica linea. È mostrato su più linee solo per chiarezza. Alcune versioni di Windows pongono un limite alla lunghezza dei comandi che si possono inserire manualmente. Se hai dei problemi puoi inserire le opzioni PutFile in un file chiamato mftools.ini e ponendolo nella stessa directory in cui esegui i comandi. Ad esempio, puoi inserire questi comandi in mftools.ini:
-simRequests 10 -htl 50 -fromDir c:\freesite -rootDir c:\freesite -serverAddress tcp/127.0.0.1:12345
Il directory_name è la directory in cui sono memorizzati i filie index.html, page2.html, mocha.jpg. Non mettere nessun altro file in questa directory perché saranno tutti pubblicati.
Vedrai che tutti o tuoi files verranno pubblicati. Ci vorrà un pò, sii paziente.
Quando il programma è terminato, dovresti essere in grado di accedere al tuo sito usando la chiave PUBBLICA in questo modo:
freenet:MSK@SSK@Your_PUBLIC_Key/Your_Site_Name//
Questo l' 'indirizzo' del tuo freesite che puoi comunicare in giro. Non fare l'errore di dare a nessuno la tua chiave privata.
4.1 Variazioni
Non devi chiamare la tua home page index.html. Usa -mskIndex filename per un diverso nome del file.
Il nostro freesite d' esempio usa tre files. Su siti più voluminosi potrai aumentare il numero dei files che PutFiles pubblica simultaneamente con la -simRequests. Il numero massimo varia a seconda della velocità del tuo computer, dal numero massimo di processi supportati nel tuo freenet configuration file, dalla memoria disponibile ecc. Un buon valore con cui cominciare è 10.
Questo -htl 50 è un valore suggerito ma sembra funzionare bene.
5. Aggiorna il tuo Freesite quotidianamente
L' esempio appena osservato si aggiornava su Freenet ogni giorno alle 12:00 am GMT. Per calcolare che ore sono in GMT (fuso orario di Greenwich) in Un*x usa date -u.
Puoi pubblicare il tuo sito con alcuni giorni di anticipo.
Probabilmente non hai voglia di aspettare ogni giorno le 12:00am GMT per aggiornare il tuo freesite. Puoi pubblicare il tuo freesite con un giorno d' anticipo tramite l' opzione -future 1 al posto di -update yes. Se oggi non intendi cambiare il tuo sito per una settimana puoi ripetere lo Step 4 sette volte usando -future 1, -future 2, ecc.
Se hai pubblicato il tuo sito per i prossimi 7 giorni, sappi che non potrai più cambiare il tuo sito fino all' ottavo giorno. (-update yes non aggiornerà un sito precedentemente aggiornato -future)
Quando aggiorni il tuo sito la volta successiva, saranno caricate soltanto le pagine rinnovate quindi non ci vorrà tanto tempo quanto ne è occorso al primo inserimento.
Note varie
- Questo tutorial necessita di PutFiles. Come è già stato detto in precedenza, puoi inserire un freesite basato su MSK interamente 'a
mano' usando
freenet_insert o finsert ma questo è al di là dello scopo di questo tutorial introduttivo. Maggiori informazioni sulla pubblicazione di un
freesite MSK
possono essere trovate qui: MSK@SSK@enI8YFo3gj8UVh-Au0HpKMftf6QQAgE/homepage//MSK_email.txt
- Mr. Bad ha un software simile a PutFiles, si chiama Freenet Mirror (freenetmirror.jar) per pubblicare siti web su Freenet.
Lo puoi trovare qui.
- Non c'è un CGI (Common Gateway Interface) in Freenet. Freenet, èer quanto riguarda l' utente, memorizza e recupera
informazioni.
D' altra parte un server web può anche eseguire programmi integrati in una pagina web, ad esempio quando si compila un modulo
on-line
e si preme un pulsante per inviare le informazioni rispondendo al sito.
- Una volta o l'altra potresti voler realizzare la pubblicazione con un 'nodo nuovo'.
Quando inserisci un file il tuo nodo controlla per vedere se si trova nel datastore locale.
Se alcune delle pagine o files nel tuo freesite non sono molto popolari potrebbero
'cader fuori' da Freenet. Dato che sono ancora nel tuo datastore locale
non si sono realmente propagate attraverso Freenet. Puoi cancellare tutti i files
nel tuo datastore o pubblicare il tuo sito da un altro computer con una nuova
installazione di Freenet
- Se hai accesso all' Fproxy di un altro computer, questa è un buona
opportunità per controllare la tua pubblicazione.
- Se non pubblichi il tuo freesite in un certo giorno i visitatori non visualizzeranno il
sito a partire dal giorno precedente. Se sai di non avere la possibilità di aggiornare il tuo sito, usa
-future 1, -future 2 ecc. Per pubblicarlo per i successivi due giorni.
- Usa il cron per Un*x o lo Scheduler presente in Windows per aggiornare il tuo sito automaticamente ogni giorno. Se il tuo computer ha pubblicato il freesite un ora o due prima di mezzanotte GMT, devi solo aggiornare le pagine web e far sì che il computer le pubblichi quotidianamente alla stessa ora. Una prossima versione di questo tutorial entrerà nei dettagli su come preparare degli script automatizzati per questo.