Marco Calamari

Cassandra Crossing/ Freenet: lezione di editoria 4

di Marco Calamari - Ora che si è installato il tutto si può passare all'operazione più importante: la pubblicazione di contenuti su Freenet

Roma - Le prime tre parti di questa miniserie su Freenet sono state dedicate ad un'introduzione tecnico-storica, ad una dettagliata (anche troppo) descrizione dell'installazione ed una puntuale descrizione di Fproxy, l'interfaccia di base per gli utenti Freenet. I 13 non superstiziosi frequentatori di queste puntate, oltre ad aver dato prova di grande pazienza ed interesse, dovrebbero a questo punto aver utilizzato Freenet per qualche navigazione e/o recupero di informazioni; se qualcuno si fosse portato avanti nel programma, potrebbe magari commentare la sua esperienza nell'apposito forum di questo articolo.

Oggi ci occuperemo della più importante operazione "editoriale" che si puo' compiere su Freenet; la pubblicazione e l'aggiornamento di un sito (in terminologia Freenet un freesite).

Prima pero' è necessaria una pillola di teoria. Come accennato nella prima puntata, Freenet memorizza le informazioni, eventualmente spezzettando i file più grandi in parti ridondate, in atomi di informazione crittografata chiamati (con infelice omonimia) "Chiavi". Per mantenere il più possibile il carattere pratico di questa miniserie su Freenet non entrerò volutamente nei dettagli crittografici del funzionamento delle Chiavi, rimandando chi fosse interessato ad approfondire la questione alla consultazione della documentazione sul sito del Progetto Freenet.
Le chiavi Freenet esistono in vari tipi, le chiavi tipo CHK che contengono i dati crittografati, le chiavi KSK che permettono di dare un nome mnemonico alle chiavi CHK (vedetele come un DNS di Freenet), le chiavi SSK che permettono di organizzare una pseudo-struttura di directory nello spazio dei nomi di Freenet, ed infine le chiavi USK, che permettono un aggiornamento (pseudo aggiornamento in realtà - ricordate che su Freenet non si puo' cancellare niente) delle informazioni come ad esempio i freesite.

Molte di queste Chiavi Freenet posseggono (piu esattamente "sono associate a") coppie si chiavi (in senso stretto) crittografiche pubblica/privata; in futuro cercherò in maniera consistente di parlare delle Chiavi Freenet usando l'iniziale maiuscola, e di chiavi crittografiche usando l'iniziale minuscola.

Un freesite è un insieme di Chiavi di vari tipologie a cui si accede sempre utilizzando Fproxy tramite una Chiave USK che fa le veci dell'URL della homepage di un normale sito web. Per inserire un freesite si può utilizzare jSite, una delle applicazioni che vi sono già state installate (a meno che non abbiate esplicitamente detto all'installer di non farlo) dall'installer del vostro nodo. Per i vecchi lupi di Freenet sottolineo che la struttura dei freesite da Freenet 0.5 a Freenet 0.7 è completamente diversa e che le applicazione 0.5 come Freenet Insertion Wizard sono ovviamente non utilizzabili.

Come Freenet anche jSite è scritto in Java ed è completamente cross-platform; l'unica differenza tra i vari sistemi operativi è data dal modo di lanciarlo.
Per la solita regola della par condicio oggi tocca a Windows, i cui utenti, dopo aver fatto ovviamente partire il loro nodo Freenet, utilizzeranno la voce del menu Programmi/The Freenet Project chiamata jSite.
Gli utenti GNU/Linux dovranno posizionarsi nella directory Freenet/jSite e dare il comando

java -jar jsite.jar &

per lanciare in background jSite.
Gli utenti MacOSX invece, se vogliono dettagli, dovranno regalarmi un MacBook.

A tutti (viva Java per questo!) si presenterà la finestra di Figura 1, che è l'interfaccia jSite di creazione ed amministrazione dei freesite.

figura 1
(Figura 1)


Ma non abbiamo dimenticato qualcosa? Ah già, il freesite da inserire!!

Dovete preparare, in una directory che non contenga altro, il vostro primo freesite costituito da un normale sito web statico, cioè senza script od effetti Flash od altro; vanno bene immagini jpeg, file di testo, file HTML, eventualmente organizzati in sottodirectory. Uno dei file nella directory principale dovrà essere la homepage; nel prosieguo ipotizzeremo che si chiami "index.html".

Un consiglio: non cominciate ad inserire un grosso sito e neppure un sito che si chiami come quello che alla fine vorrete inserire. Armatevi invece di un po' di pazienza, create o copiate un sito di due paginette, un po' di testo e due immagini, chiamatelo "prova" ed usate quello per farvi un minimo di esperienza. Inserire un grosso freesite è un processo molto lungo e spesso fallisce per cause non imprevedibili e casuali; ad esempio per l'aggiornamento automatico del software del vostro nodo. Meglio riservare questi sforzi a quando tutto il processo vi sarà familiare.

Bene, per creare un nuovo progetto c'è l'apposito tasto "Add a project" ma jSite ce ne ha già preparato uno dall'originale nome "New Project"; cambiamogli subito nome scrivendo direttamente nella finestrella e stando attenti a non editare o modificare quelle due lunghe sequenze di caratteri apparentemente casuali che compaiono in basso.
Le due sequenze sono (approssimativamente) la coppia di chiavi pubblica e privata che definisce il sito. Per inserirlo o modificarlo sono in-dis-pen-sa-bi-li, quindi alla fine dell'inserimento fatevi una copia del file di configurazione di jSite che le contiene, ed a scanso di equivoci mettetela su un supporto qualsiasi. Ricordate, se perdete la chiave privata di un freesite non sarete più in grado di aggiornarlo.

Inserite nell'apposito campo una breve descrizione del vostro freesite, localizzate con tasto "Browse" la directory che contiene il vostro freesite di prova.
Inserite una stringa che abbia attinenza col nome del sito nel campo "Path"; usate solo lettere e numeri, e niente caratteri speciali o spazi, "prova" andrà benissimo.
La Path è l'ultima parte dell'URI Freenet che svolgerà la funzione di un URL per raggiungere il vostro freesite.

figura 2
(Figura 2)


A questo punto la maschera dovrebbe apparire simile a quella di Figura 2; un click e vi troverete davanti la maschera di Figura 3, dove in alto trovate l'elenco dei file presenti nella directory del vostro freesite.

figura 3
(Figura 3)


Se avete seguito le mie raccomandazioni, e non ci sono quindi file estranei nella directory del vostro freesite, vi basterà scorrere la lista, selezionare il file "index.html" e spuntare la casella "Default" per questo file. Cliccate poi su "Insert" ed aspettate il tempo necessario; da un quarto d'ora per un sito di una decina di file fino ad uno-due giorni per un freesite grande, come ad esempio quello del PWS.

Se il processo dovesse fallire, ad esempio perchè la vostra ADSL ha perso qualche colpo, uscite da jSite, rilanciatelo e riprovate; per fortuna tutti i dati del freesite sono a questo punto salvati nel file di configurazione di jSite, e si tratta quindi di una questione di secondi.
In certi casi puo' essere opportuno riavviare il nodo Freenet ed aspettare qualche minuto per dargli tempo di reinserirsi in Freenet prima di rilanciare jSite.

I più curiosi di voi si chiederanno cosa servano le altre opzioni della maschera di figura 3, in particolare quella dei "MIME Type" e quella marcata "Container".

La tendina di MIME Type consente di assegnare a mano, file per file, il tipo MIME se questo non fosse rilevato bene automaticamente; normalmente non vi servirà mai.

La tendina "Container" ed i relativi pulsanti attivano invece un'utile caratteristica di Freenet nel caso il vostro freesite sia complesso. Se il vostro sito contiene molti file piccoli e/o comprimibili è possibile definire uno o più file zip, inserirvi dentro alcuni file a vostra scelta, e ridurre così anche di molto il numero totale di Chiavi che costituiscono il vostro sito, velocizzandone inserimento e recupero e migliorandone la sopravvivenza.
Normalmente in un container si inseriscono solo le pagine HTML con eccezione di quella della home (questo per motivi un po' complessi da spiegare e su cui sorvoliamo). Non è bene che un container sia molto più grande di un centinaio di KB.

Bene, una volta che il vostro freesite sarà stato inserito con successo copiate l'URL relativo nella clipboard con l'apposito tasto di Figura 4 ed incollatelo nella barra degli indirizzi di Fproxy per provare a recuperarlo. Se ne avete la possibilità fatelo anche da un altro nodo, perchè ovviamente il recupero di un freesite dal nodo che l'ha appena inserito è molto più facile che dagli altri nodi di Freenet, e non è quindi un buon indicatore della bontà (chiamata "profondità") dell'inserimento appena effettuato.

figura 4
(Figura 4)


Ed infine una dettagliata descrizione delle complesse operazioni necessarie per aggiornare il vostro Freesite

1) modificate i file che formano il freesite
2) inseritelo nuovamente con jSite

Tutto automatico, compreso l'aggiornamento dell'URI del sito, il cui numero finale (versione) verrà automaticamente incrementato di 1. Nel caso che qualcuno richieda un URI di una versione precedente del vostro freesite (fino a 3 indietro) gli verrà proposta automaticamente la versione aggiornata.

Ed anche per oggi è tutto. Chi volesse contattarmi sul tema puo' usare l'indirizzo marco@freenetproject.org od utilizzare la mail list italiana su Freenet, iscrivendosi qui, ed usandola eventualmente anche per richiedere scambi di descrittori di nodi.

Marco Calamari

Tutte le release di Cassandra Crossing sono disponibili a questo indirizzo
23 Commenti alla Notizia Cassandra Crossing/ Freenet: lezione di editoria 4
Ordina
  • Marco Calamari, al di là della e-mail, ha un suo sito o un suo blog??
    non+autenticato
  • E ricordo al sig.Calamari: pochi scrivono, ma molti leggono. Per quanto mi riguarda commento poco perché davvero non c'è molto più da dire di quanto non faccia già lei, le guide che scrive sono esaurienti e complete almeno per quanto mi riguarda. Rinnovo l'invito a continuare, anche una volta che finirà con Freenet ci sono tanti altri progetti altrettanto meritevoli Sorride
  • Questo è il 14° post!
    (...13 post portano sfortuna...)
  • al sigCalamari (e a tutti gli altri X anonimutenti) vorrei segnalare il progetto WASTE, che crea delle "reti" private anonime e criptate...
    http://waste.sourceforge.net/index.php

    (con l'articolo di oggi c'entra come il formaggio con il panettone, però visto che si parlava di reti anonime Occhiolino )
  • Il dott. Calamari mi scusi la domanda solita impertinenteSorride ma c'e' un modo per far girare il nodo freenet su un muletto da tenere acceso 24h/24 (senza server grafico) per poi accedervi da un altro pc della lan?

    Sarebbe davvero comodo considerato che questi nodi piu' tempo stanno up e maggior guadagno apportano sia a noi che alla rete freenet!
    non+autenticato
  • interessa anche me.
    ma ora come ora anche un ambiente grafico essenziale su una mini linux non si nega a nessuno, in questo caso penso che basti una normale connessione con vnc al computer che si vuole amministrare. certo che con links si andrebbe più veloci nelle lente reti freenet.
    non+autenticato
  • bhe, le interfaccie web di alcuni muloclient a console sono completamente usabili...
    inoltre una connessione rdp o vnc è sicuramente molto più pesante e succhiabanda di una paginetta html Occhiolino

    btw, interessante domanda
  • Ciao,

    vi rispondo che avevo fatto facilmente un'installazione di questo tipo. Atm il mio nodo non è più attivo per mancanza di tempo.

    Sul sito, in questa pagina http://freenetproject.org/install.html trovate un riferimento ad Headless installation, che è quello che vi interessa. Al momento non funziona il link, tuttavia ho appena postato su irc #freenet il problema, e suppongo che qualcuno mi sappia dire qualcosa a riguardo.

    Vi tengo informati.

    Sback

    PS normalmente nel caso di installazione senza gui è poi possibile accedere al nodo da un altro computer. Si utilizza il browser e l'indirizzo della macchina (e.g. http://192.168.1.90:8080) per accedere all'interfaccia del nodo. E' piuttosto pratico. Volendo si può usare anche un browser testuale sulla macchina che ha il nodo, perché cmq sono pagine valide, tuttavia l'ho trovato un po' scomodo alla lunga
    non+autenticato
  • - Scritto da: Sback
    > Ciao,
    [CUT]
    > Sul sito, in questa pagina
    > http://freenetproject.org/install.html trovate un
    > riferimento ad Headless installation, che è
    > quello che vi interessa. Al momento non funziona
    > il link, tuttavia ho appena postato su irc
    > #freenet il problema, e suppongo che qualcuno mi
    > sappia dire qualcosa a
    > riguardo.
    >
    > Vi tengo informati.

    Mi hanno già risposto: http://downloads.freenetproject.org/alpha/installe... in questo link potete trovare un archivio con l'installazione headless e le istruzioni di come farla!
    Buon divertimento!

    Sback
    non+autenticato
  • - Scritto da: Sback
    > Mi hanno già risposto:
    > http://downloads.freenetproject.org/alpha/installe
    > Buon divertimento!

    Grazie, ci daro' un'occhiata, a giudicare dal readme pare veramente facileSorride
    non+autenticato
  • - Scritto da: anonimo01
    > bhe, le interfaccie web di alcuni muloclient a
    > console sono completamente
    > usabili...

    Esattamente quello che intendevoSorride senza ricorrere a onerose soluzioni di desktop remoto, basterebbe un'interfaccia http/https per servire un'intera rete locale da un muletto a basso/bassissimo consumo. Usando cosi' un nodo semipermanente si riesce davvero ad utilizzare freenet in maniera efficace.
    non+autenticato
  • - Scritto da: ferenk
    > interessa anche me.
    > ma ora come ora anche un ambiente grafico
    > essenziale su una mini linux non si nega a
    > nessuno, in questo caso penso che basti una
    > normale connessione con vnc al computer che si
    > vuole amministrare. certo che con links si
    > andrebbe più veloci nelle lente reti
    > freenet.
    ciao,
    se ti trovi bene con una GUI e vuoi usare vnc, ti consiglio ****caldamente******
    di "incapsularlo" in una SSH:
    trovi un sacco di ottime guide facendo ad es. una ricerca su google con "vnc" ed "ssh".
    personalemente spesso mi collego dai winz ad un fedora usando putty.
    inoltre sul "fedorone" ho configurato anche snort e -soprattutto- l'ottimo (IMHO) script "denyhosts".
    al riguardo un punto della faq di denyhosts:

    http://denyhosts.sourceforge.net/faq.html#1_3

    te lo consiglio "a prescindere da tutto" in quanto da' ottimi suggerimenti per una ssh sicura.

    ciao e buon VNC!! :=))

    fabianope
  • - Scritto da: ferenk
    > interessa anche me.
    > ma ora come ora anche un ambiente grafico
    > essenziale su una mini linux non si nega a
    > nessuno, in questo caso penso che basti una
    > normale connessione con vnc al computer che si
    > vuole amministrare. certo che con links si
    > andrebbe più veloci nelle lente reti
    > freenet.

    Come vedi dal mio post più avanti nel thread, ti consiglio di connetterti tramite browser alla macchina che ospita il nodo: hai bisogno di meno infrastrutturaSorride

    Sback
    non+autenticato
  • Cambiando la configurazione si può dire a freenet di accettare connessioni anche da macchine diverse da localhost. In questo modo puoi connetterti ad esempio a 192.168.1.1:8888 dalla tua macchina e navigare sul nodo installato presso quell'ip.

    Questa soluzione non solo è poco sicura, perché lascia il nodo aperto ed il traffico in LAN sarebbe in chiaro (gravissimo per una wifi), ma potrebbe anche essere molto scomoda, perché la maggiorparte dei link freenet che trovi in giro cominciano per http://127.0.0.1:8888.
    Quindi quando incontri un link di questo tipo, dovresti copiarlo e sostituire a 127.0.0.1 l'ip del nodo (192.168.1.1).

    Con un tunnel ssh puoi evitare questi problemi.
    Il comando è questo:
    ssh -NL PortaLocale:IPremoto:PortaRemota  username@IPtunnel 

    Significa: crea un tunnel attraverso IPtunnel, loggandoti come username, sulla PortaLocale, verso IPremoto su PortaRemota.
    Ovvero: quando mi collego a 127.0.0.1:PortaLocale, in realtà la mia connessione sta viaggiando verso IPremoto:PortaRemota come se provenisse da IPtunnel.

    Nel caso di freenet, occorre lanciare:
    ssh -NL 8888:127.0.0.1:8888  username@IPnodo 

    Sostituendo ad username il nome dell'account con cui ci si vuole loggare sul nodo, ed ad IPnodo l'ip del muletto freenet (es 192.168.1.1).

    Dopo aver lanciato il comando puoi collegarti come d'abitudine a http://127.0.0.1:8888 e tutto funzionerà in modo trasparente, con in più la crittografia dei dati tra il tuo computer ed il nodo - essenziale in caso di connessione WiFi.
    -----------------------------------------------------------
    Modificato dall' autore il 16 febbraio 2008 01.48
    -----------------------------------------------------------
  • Interessante e corretta osservazione, ma non ho capito l'implementazione. Quel comando lo dovrei eseguire sul mulo o sulla mia macchina? E se, come mi pare d'aver capito, devo lanciarlo dalla mia macchina, serve un servizio ssh abilitato sul mulo vero?
    non+autenticato
CONTINUA A LEGGERE I COMMENTI
Successiva
(pagina 1/2 - 6 discussioni)