|
Indice degli
argomenti:
Sezione 2:
Dove posso trovare Hamster?
Sezione
3: A chi può servire Hamster?
Sezione
4: A chi non serve Hamster?
Sezione 5:
La configurazione di Hamster
Sezione
6: I menù di Hamster
Sezione
7: Lo Scorefile di Hamster "(root)\scores.hst"
Sezione
7a: I filtri e-mail di Hamster
"(root)\MailFilt.hst"
Sezione
8: Gli script di Hamster
Sezione
9: I file e le cartelle di Hamster
Sezione
10: Gli eventi di Hamster. L'automazione.
Sezione
11: la configurazione dei newsreader
Sezione
12: Varie ed eventuali su Hamster
Sezione
13: Risoluzione dei problemi
Curatore e Ringraziamenti
Curatore: eaglestorm@iname.com (EagleStorm)
Ringraziamenti per i
preziosi contributi:
Andrea Agnoletti
Carlo Fusco
Joseph Parrello
Sleepers
tutto il gruppo degli
utenti di news:it.comp.software.newsreader
tutto il gruppo degli utenti di news:it.comp.software.mailreader
inoltre voglio anche ringraziare tutte quelle persone che, pur avendo
contribuito con importanti suggerimenti e correzioni alla stesura del
presente documento, hanno manifestato il desiderio di rimanere anonimi.
Distribuzione
Usenet: posting
trimestrale su it.faq
web: http://geocities.com/fashionavenue/1075/hamster-v0.9b.txt
http://www.vene.ws/news/
Licenza d'uso ed altre avvertenze
Questo
documento viene rilasciato secondo la licenza GNU General Public License (GPL o copyleft)
versione 2 della Free Software Foundation. Chiunque è autorizzato a distribuire copie
elettroniche o cartacee del presente documento, allegarlo a raccolte, CD-ROM o programmi,
a patto di citare la fonte da cui è stato tratto. Inoltre il presente documento può
essere liberamente modificato in ogni sua parte purché venga rilasciato secondo la
medesima licenza e i nomi dei curatori della presente versione vengano rimossi. L'autore
non si assume _NESSUNA_ responsabilità per eventuali errori o inesattezze eventualmente
rilevabili. Questo documento inoltre deve essere considerato frutto delle opinioni
personali dell'autore e _non_ una enunciazione di dogmi assoluti.
ATTENZIONE:
per alcune parti di esso, l'autore si è limitato a tradurre, talvolta letteralmente,
quanto già riportato nell'Help online del programma realizzato da Juergen Haible. Ne
consegue che i diritti morali d'autore dell'opera limitatamente a quelle parti spettino ai
rispettivi legittimari. L'autore della traduzione non fornisce comunque _NESSUNA_ garanzia
sulla qualità del lavoro compiuto. Le sezioni 5, 6, 7a, 8, 9 e 10 ad esclusione dei punti
8.4 e 10.8 e parte della sezione 7 sono frutto di traduzione semi-integrale della guida
online del programma. La sezione 11 invece prende spunto da quanto pubblicato sul web da
Juergen Haible. Si ribadisce ancora in questa sede come le condizioni di rilascio di
questa guida precludano qualsiasi responsabilità per i contenuti ivi espressi.
History
V 0.9 : Nasce la faq di
Hamster.
V 0.9a: Revisione generale
dell'intera FAQ
Aggiunta l'Introduzione
Aggiunto il punto 6.15 e
scalati quelli a seguire
Aggiunta la sezione 7a
dedicata ai filtri e-mail
Corretta la sezione 9 e
aggiunto il punto 9.5
Aggiornato il punto 13.5
(password)
Aggiunto il punto 13.6
(mailbox POP3 multiple)
V 0.9b: Aggiornato il
punto 6.4 (news-pulls -> [Add])
Aggiunto il punto 8.5
(shortcut per script)
Aggiunto il punto 12.4 e
scalati quelli a seguire (purge)
Corretto il punto 4.1
Prefazione
Questo documento ha
l'ambizione di colmare almeno in parte l'assenza di informazioni in Rete disponibili in
lingua italiana sul funzionamento di Hamster.
Qualsiasi argomento
non venga coperto dalla guida o da altri documenti qui indicati può offrire lo spunto per
aprire un thread specifico nel gruppo it.comp.software.newsreader o affini e quindi
permettere l'aggiornamento di questa stessa guida.
Cosa bisogna sapere prima di
leggere questo documento
Per una completa
comprensione dei temi trattati è necessario conoscere i rudimenti della struttura della
rete usenet, come le informazioni vengono trasmesse dal suo protocollo NNTP e NNRP, in
cosa consiste il servizio della posta elettronica e cosa sono i gateway Mail-News. Tutti
questi argomenti sono ampiamente trattati nella faq più recente di it.news.aiuto (al
momento la versione 2.02), reperibile su it.faq o it.news.aiuto.
Introduzione
Hamster e` un
newsserver / mailserver locale (va quindi installato sul vostro HD) di facile utilizzo,
che si interpone tra i server remoti e il newsreader / mailreader. In altre parole, si
occupa di scaricare intestazioni e corpo dei messaggi dei gruppi da voi sottoscritti per
poi renderli disponibili al newsreader attraverso l'IP 127.0.0.1 (localhost). Parimenti si
occupa di scaricare e inviare la posta gestendo simultaneamente più account SMTP/POP3.
Hamster è ideale per essere associato a newsreader / mailreader con filtri deboli (come
Outlook Express) o totalmente assenti (FreeAgent) oppure con newsreader che operano in
modalità Online (Xnews).
Usando Hamster si
ha il vantaggio di scaricare da piu` newsserver (se questi consentono di accedere, ovvio)
"accorpando" il tutto (se lo stesso articolo e` disponibile su piu` server
Hamster lo legge una sola volta), per avere un feed piu` completo; in questo modo ci si
mette anche al riparo da eventuali periodi di "latitanza" di un server...
Lo svantaggio piu`
evidente e` che bisogna scaricare ogni intestazione e articolo nei gruppi sottoscritti sia
pure con la possibilita` di scegliere attraverso i filtri; il vantaggio è che Hamster e`
piu` veloce di un normale newsreader (grazie a una migliore razionalizzazione nella
gestione del protocollo NNRP) e dispone di filtri ampiamente configurabili per scaricare
solo i post desiderati in base ai criteri impostati. In alternativa (per chi ha
[Free]Agent o un newsreader multiserver) e` possibile usare due sessioni, una (che legge
da Hamster) con i newsgroup a cui si tiene di piu` (e di cui magari si scaricherebbero
comunque tutti i post), la seconda con i newsgroup meno importanti o piu` trafficati (da
cui si sceglie cosa scaricare) e che legge dal vostro solito server.
1.1 Cos'è Hamster?
Hamster è
un'applicazione freeware per Windows, un news / / mailserver locale, interagente con i
client presenti sul computer dell'utente, in grado di scaricare intestazioni e corpo dei
messaggi da più server remoti in modalità multi-server, multi-socket e multi-threading.
Hamster può
inoltre funzionare come un server remoto e garantire l'accesso, attraverso autenticazione
e/o controllo del numero IP, a client esterni alla macchina dell'amministratore
(proprietà che definisco come *accesso multiplo*).
L'autore di Hamster
è Juergen Haible.
1.2 In quali lingue è disponibile
Hamster?
Al momento attuale
in due sole lingue, inglese e tedesco. La maggior parte della documentazione è scritta
nella lingua madre dell'autore, il tedesco. Come anticipato nella prefazione, questa guida
è stata scritta proprio per rimediare all'assenza di un testo in lingua italiana.
1.3 Cos'è un news server locale?
Cos'è un mailserver locale?
Nella accezione
comune, un server (servente) "è una macchina che in una rete fornisce servizi alle
altre" [1]. Esistono diversi tipi di server: file server, application server,
mailserver, news server, printer server, web server, file server. "I mail server sono
macchine centrali, accessibili con un indirizzo definito, che contengono le caselle
postali di una serie di utenti i quali vi si collegano periodicamente in rete per
consultarne il contenuto" [2] Parimenti, i news server sono macchine centrali,
accessibili con un indirizzo IP definito o ad accesso pubblico, che contengono un insieme
di informazioni strutturate e ripartite in gruppi di discussione e messaggi NNTP. I news
server costituiscono quindi un network di computer che scambia le informazioni riversate
in rete dagli utenti.
Un news server
locale è un software che emula il funzionamento del news server remoto (o di più server
remoti) replicandone il contenuto, o parte di esso, per renderlo accessibile localmente al
client, generalmente attraverso l'indirizzo IP 127.0.0.1. Attraverso un news server locale
è quindi possibile scaricare per intero solo i gruppi necessari.
Un mailserver
locale è un software che emula il funzionamento del mail server remoto (o di più server
remoti), occupandosi di scaricare da questi la posta disponibile nelle mailbox sotto la
responsabilità dell'utente.
[1][2] fonte
glossario CD Computer Inter@ctive N. 21 - Maggio 1999
1.4 Cos'è un client?
Nella accezione
comune, un client (cliente) è "una macchina che su una rete riceve servizi da un
server" [1], definita anche come stazione di lavoro. Tuttavia, si rileva come a volte
il nome venga "assegnato anche al particolare software che accede a tali servizi; ad
esempio un client di posta elettronica sarebbe quel programma caricato su un client
(macchina) che accede ai messaggi registrati su un server". [2] A tal proposito, in
questa guida, la parola client sarà spesso impiegata per indicare indifferentemente
newsreader e mailreader (es: Ms Outlook Express, Forté Agent, Netscape Messenger,
Netscape Collabra, Qualcomm Eudora Pro, Pegasus-mail, MicroPlanet Gravity, ecc.).
[1][2] fonte
glossario CD Computer Inter@ctive N. 21 - Maggio 1999
1.5 Ma Hamster si sostituisce al
newsreader/mailreader (client)?
Da un punto di
vista tecnico si, mentre dal lato pratico Hamster affianca solamente il software di cui
voi già disponete. Dovrete abituarvi a gestire le operazioni online con Hamster, mentre
tutto ciò che riguarda la lettura, la gestione e il posting degli articoli e delle email
continuerà con gli strumenti e le conoscenze in vostro possesso, con qualche piccolo
accorgimento in più.
1.6 Cosa significa freeware? E'
davvero gratis?
Freeware, è
"un tipo di software che è completamente gratuito. Questo software viene solitamente
distribuito sui siti Internet, sulle BBS e sui CD-ROM allegati alle riviste. Può essere
utilizzato senza la necessità di acquistare alcuna licenza a condizione che sia
identificato come freeware" [1].
Hamster è gratis,
ma non è open source. La sua utilizzazione economica è libera, ma il codice che lo
compone è soggetto alle norme generali sul diritto d'autore, tra cui possono considerarsi
validi questi principi [3]: * Conservazione delle comunicazioni di copyright. L'utente non
è autorizzato a rimuovere o alterare alcuna comunicazione di copyright relativa alle
copie di questo prodotto software. * Distribuzione. L'utente e' autorizzato a distribuire
copie di questo prodotto a terzi, ma solo nello stesso formato di file da egli ricevuto. *
Divieto di decodificazione, decompilazione e disassemblaggio. L'utente non puo'
decodificare, decompilare o disassemblare questo prodotto software. * Trasferimento. Non
costituendo Hamster un prodotto commerciale, valgono le stesse restrizioni descritte nel
paragrafo "Distribuzione". * Servizio di supporto tecnico. L'autore non fornisce
in alcun modo supporto tecnico per questo programma. * Conformita' con la legge in vigore.
L'utente e' tenuto a rispettare la legge in vigore relativa all'utilizzo di un prodotto
software. * Esclusione di garanzie. L'autore non riconosce alcun tipo di garanzia per il
prodotto software. Il prodotto software ed ogni tipo di documentazione ad esso relativa
sono forniti "così come sono", senza alcuna garanzia di qualsiasi tipo, sia
espressa che implicita, ivi incluse, senza limitazioni, le garanzie implicite di
commerciabilita' o idoneita' per uno scopo particolare ovvero quelle che escludano la
violazione di diritti altrui. L'intero rischio derivante dall'uso o dalle prestazioni del
prodotto software rimane a carico dell'utente.
[1] fonte glossario
CD Computer Inter@ctive N. 21 - Maggio 1999 [2] liberamente tratto da un disclaimer di
Joseph Parrello
1.7 Cosa significa multi-threading?
E multi-socket?
Comunemente, per
software multi-threading si intende la capacità di invocare più connessioni simultanee
da una o più sessioni dello stesso programma, non necessariamente interagenti l'una con
l'altra e non necessariamente con lo stesso server.
Per software
multi-socket, invece, si intende la capacità di invocare più connessioni simultanee con
lo stesso server da una o più sessioni dello stesso programma, non necessariamente
interagenti l'una con l'altra, non necessariamente interagenti con altri server.
Hamster coniuga le
due caratteristiche dato che può invocare più connessioni simultanee con lo stesso
server e con più server, ovvero ha la capacità di gestire un certo numero di thread
simultanei durante il caricamento delle news per ogni server gestito. In modo predefinito,
Hamster gestisce almeno 2 thread simultanei per server, ma questa quantità può variare
in relazione alle esigenze dell'utente e alle limitazioni del news server remoto corrente.
Hamster è quindi
anche multi-server poiché ha la capacità di invocare da una sessione del programma
connessioni contemporanee a più server e interagenti tra loro.
Infine Hamster può
funzionare con accesso multiplo come anticipato al punto 1.1.
Sezione 2 Dove posso trovare Hamster?
2.1 Dove posso scaricare Hamster?
Hamster è
liberamente scaricabile da http://freebee.home.pages.de
. Si tratta di un sito in lingua tedesca con una sezione in lingua inglese, facilmente
individuabile nell'URL: http://home.t-online.de/home/juergen.haible/english.htm
2.2 Dove posso trovare informazioni
sul suo funzionamento?
Perché questa faq
non basta? ;-))
Scherzi a parte, in
prima battuta sono sicuramente validi i suggerimenti contenuti nella stesso Help online di
Hamster. Poi, in relazione alle necessità si possono considerare:
http://www.egroups.com/subscribe/ehamster/
Mailing-list inglese dedicata al beta-testing di Hamster
http://www.egroups.com/subscribe/usehamsternet/
Mailing-list tedesca dedicata al beta-testing di Hamster
http://www.planet-interkom.de/ulehmann/index.html
Documentazione per Hamster in lingua tedesca, da parte di Uwe Lehmann
(<lehmann(at)gandalf.in-berlin.de>), Joerg Behrend
(<joerg_behrend(at)gmx.net>) e Christian Fritz (<cfritz(at)gmx.net>).
http://home.t-online.de/home/micha-wr/hamster/index.htm
Diverse informazioni su Hamster e un archivio di script (in lingua tedesca) da
parte di Michael Gebert (<m.gebert(at)gmx.net>).
http://home.knuut.de/heiko.rost/
Utility aggiuntive e utili da parte di Heiko Rost (<heiko.rost(at)gmx.net>).
http://home.wtal.de/fritzwww/hamster/
La traduzione in lingua tedesca dell'Help Online di Hamster curata da Christian
Fritz (<cfritz(at)gmx.net>).
Da non scartare
ovviamente nemmeno i newsgroup a tema. Nella gerarchia it.* non esiste uno specifico
gruppo dedicato ai news server locali per cui la loro trattazione deve essere valutata
caso per caso in relazione al topic del newsgroup più adatto. Per problemi relativi
all'interfacciamento tra Hamster e il vostro client, si può usare
it.comp.software.newsreader o it.comp.software.mailreader (a seconda del client,
ovviamente). Invece, per problemi relativi all'interfacciamento con il news server remoto,
potrebbe essere in topic it.news.gestione, ma vi consiglio di chiedere prima al fornitore
del vostro servizio news.
2.3 Perché esistono così poche
informazioni in lingua inglese?
Suppongo perché
l'autore Juergen Haible ha dichiarato di avere una conoscenza pressoché scolastica della
lingua inglese.
Sezione 3: A chi può servire
Hamster?
3.1 Perché installare Hamster?
I motivi che
possono spingere a scegliere questa soluzione possono essere molteplici. Hamster
costituisce una soluzione:
*veloce* fino al
100% più veloce di un normale newsreader;
*potente* ha un
sistema di filtri news e mail moderno e compatibile PCRE.
*affidabile* non
perde o cancella erroneamente un solo articolo;
*comodo* permette
di gestire nella sua cache virtuale i messaggi provenienti da più news server remoti,
fornendo la precedenza a quelli più veloci, ma senza scartare quelli più affidabili. In
questo modo non si perdono articoli, ma soprattutto non si perde tempo.
3.2 Perché Hamster è così
veloce?
Come spiegato al
punto 1.7, Hamster è un news server locale mono-sessione, multi-threading, multi-server e
multi socket. Nella stessa sessione, Hamster si può occupare dello scarico delle news da
più server contemporaneamente e con più thread aperti (thread intesi come istanze NNRP
intercorrenti tra Hamster e singolo news server remoto).
Proviamo a fare un
esempio paragonando l'impiego solitario di Outlook Express con quello svolto in comunione
con Hamster.
Outlook Express è
mono-sessione, mono-threading ma, nonostante supporti server multipli, non è
multi-server. Conseguentemente, dovendo scaricare le news da gruppi appartenenti a due
news server remoti differenti, dovremo occuparci di un solo news server per volta, senza
comunque riuscire a tenere aperto più di un singolo thread. In altre parole, avendo
sottoscritto più gruppi su server distinti, Outlook Express è in grado di interagire con
un solo server per volta e, nell'ambito di questo, caricare i messaggi da un solo gruppo
per volta.
Se abbiniamo
Outlook Express a Hamster, il primo dovrà solo occuparsi di scaricare le news dalla porta
NNRP 119 all'indirizzo locale 127.0.0.1 (localhost). Il secondo, svolgerà il lavoro
difficile in vece del primo, scaricando le news contemporaneamente da più server e
tenendo simultaneamente aperto un numero di almeno due thread, quantità che, come
specificato al punto 1.7, può variare in relazione alle esigenze dell'utente e alle
limitazioni del news server remoto corrente. In altre parole, avendo sottoscritto più
gruppi su server distinti, Hamster è in grado di interagire contemporaneamente su più
server e, nell'ambito di questi, caricare i messaggi da più gruppi alla volta.
3.3
A cosa servono i filtri?
Comunemente, quando
parliamo di Usenet e di posta elettronica, i filtri ricordano la capacità di un client di
eliminare automaticamente alcuni messaggi che, per il contenuto espresso nel subject o per
le qualità dell'autore, sono considerati come indesiderati.
In realtà, questa
interpretazione sul funzionamento dei filtri è piuttosto limitata ed è dovuto al
pregiudizio sorto nel pubblico in forza delle prime implementazioni apparse e delle scarse
capacità di filtro dei client più diffusi (Forté Free Agent, Ms Outlook Express).
Al contrario, i
filtri in Hamster possono fare ben altro che cancellare qualche utente fastidioso.
Costituiscono una soluzione per poter affrontare felicemente gruppi ad alto traffico in
cui la natura degli argomenti eccede le nostre necessità, ad esempio permettendoci di
scaricare solo i messaggi incolonnati su un nostro intervento oppure di scaricare tutti
quelli che riportano la parola Hendrix nel titolo piuttosto che ...
Infine, i filtri di
Hamster soddisfano in pieno il supporto per il Perl Compatible Language Expression, il
più potente sistema per realizzare una condizione per corrispondere una stringa
variabile.
3.4 Perché Hamster è così
affidabile?
Al contrario di
ciò che comunemente si pensa, il software freeware (anche se un po' meno di quello open
source) può garantire un livello di qualità del codice sorgente superiore a quello
commerciale. La formula di questo successo sta in una incondizionata volontà da parte
degli utenti a suggerire miglioramenti e soluzioni che nel caso del software commerciale
sono per lo più dovuti. Hamster è freeware, ma basa alcuni dei suoi principali punti di
forza nella disponibilità di implementazioni open source e simili. Ad esempio, le routine
per le espressioni regolari (filtri) di Hamster sono basate sullo schema delle porte Win32
del "Perl-Compatible Regular Expression (PCRE)", package scritto da Philip
Hazel. Tali implementazioni, proprio perché lasciate al tempo libero di generosi
sviluppatori, non sono proprio user-friendly, ma rappresentano un insieme lineare di
procedure su come devono essere svolte al meglio le cose. Spesso nel software commerciale,
a parte qualche lodevole eccezione, queste soluzioni non sono adottate perché considerate
poco user-friendly, o ancora peggio poco gradevoli per la resa grafica dell'interfaccia.
Tutto ciò favorisce l'emergere di soluzioni di solito meno funzionali, ma soprattutto
meno sicure, perché legate a routine utente-processo-utente difficili da controllare.
3.5 Perché Hamster è così
comodo?
Hamster accentra in
una sola cache sul disco il risultato di tutti i news server e mailserver remoti che
interroga. Già questo dovrebbe fornire un'idea della semplificazione che si prospetta
nell'impiego del vostro client. Non sarà più necessario creare più account news e più
account POP3, poiché Hamster concentrerà tutti i servizi che gestisce sulle porte 119,
110 e 25, affidate rispettivamente ai server NNTP, POP3 e SMTP locali, ma tutte sul numero
IP 127.0.0.1 (localhost).
A questa
caratteristica Hamster unisce, in forza della sua natura multi-server, la capacità di
prediligere i news server più veloci che sopravanzano e anticipano i più lenti durante
il caricamento delle news. Quindi, nel caso di carico dello stesso gruppo da due server,
il più lento non potrà che confrontare il risultato del comando xover con quello già
fornito dal news server più veloce. Il caricamento del corpo dei messaggi da parte del
news server più lento avviene solo se si riscontrano buchi nell'elenco già reso
disponibile e limitatamente agli articoli corrispondenti a questi buchi.
Un'altra
caratteristica di Hamster è la gestione dinamica della posizione dei newsgroup
nell'ordine di caricamento. Vengono incondizionatamente preferiti quelli a più alto
traffico. Nel caso, per la verità raro, in cui questa non si manifestasse come condizione
ottimale, esiste la possibilità di generare script personalizzati a copertura della
specifica esigenza.
Sezione 4: A chi non serve Hamster?
4.1 Ma posso farne a meno?
Se hai saltato
direttamente a questa sezione senza leggere le prime tre, direi di sì ;-)). La
configurazione di Hamster che viene trattata nella sezione 5 non rappresenta certo un
ostacolo insormontabile per l'utente di livello medio-basso. Hamster può invece essere
sconsigliato nei casi in cui si abbiano esigenze specifiche particolari. Ad esempio nei
casi in cui: a. si utilizzino altre piattaforme (sotto Linux, pur considerando l'eventuale
funzionamento di Hamster con l'estensione del supporto Delphi, so per certo che esiste
un'offerta variegata di strumenti più complessi e potenti di Hamster); b. l'impiego delle
news sia del tutto saltuario (per cui sarebbe più indicato l'impiego di un solo
newsreader evitando così di scaricare intestazioni e corpo di centinaia di messaggi;
4.2 Ma allora esistono altri news
server locali?
Nì ;-)). Sotto
Windows al momento conosco solo news server locali a pagamento, più complessi e pesanti
che suggeriscono il passaggio alla più stabile piattaforma di Windows NT. Esiste anche
NewsPlex che è come Hamster ma scarica solo le intestazioni unendo virtualmente tutti i
news server remoti in un unico news server locale.
4.3 Perché Hamster scarica insieme
intestazioni e corpo dei messaggi?
Una risposta
perfettamente lecita, ma circolare è "Hamster è un news server locale". La
filosofia che sottintende questo prodotto è pur sempre quella di replicare in locale ciò
che è contenuto nel server remoto. Nel caso si vogliano caricare solo le intestazioni
provate NewsPlex.
Sezione 5: La configurazione di
Hamster (tratta dalla guida online di Hamster)
5.1 Come partire?
Se avete già
scaricato Hamster, potete ora procedere alla sua installazione. Hamster non dispone del
programma di setup per cui dovrete occuparvi della decompressione del file .zip scaricato.
Un file .zip non è altro che un archivio trattato mediante un algoritmo di compressione.
Per decomprimerlo potete usare Winzip http://www.winzip.com
o software alternativo. Decompattate tutto il contenuto in una cartella di vostro
piacimento, meglio ancora se la chiamerete Hamster in modo da identificarla velocemente.
5.2 L'autenticazione per accedere a
Hamster.
Come spiegato al
punto 1.1 Hamster è un news server locale ad *accesso multiplo*. In altre parole può
fornire i suoi servizi a più utenti che usano la stessa macchina e/o a più utenti che si
collegano in rete alla macchina dove risiede. Questo può comportare alcuni problemi di
sicurezza. Un caso tipico è quello del genitore che vuole permettere l'accesso ai propri
figli in sola modalità offline e, magari, solo in lettura con un elenco parziale dei
gruppi di discussione. Il genitore svolge la funzione dell'amministratore e dovrà
configurare Hamster in modo da lasciare a se stesso tutti i permessi.
Per accedere a
Hamster con un news o mail-client, è consigliabile fornire una password per l'account
predefinito "admin". Per fare ciò, selezionate il menù File ->
Configuration e andate alla rubrica chiamata "Local accounts". L'elenco in
questa pagina contiene un account selezionato chiamato "admin, Hamster
Administrator". Premete il bottone "Edit" per visualizzarne le
caratteristiche.
Per cambiare la
password per l'account, premete il bottone "Change" vicino al campo
"Password:" e immettete la stringa desiderata. Dopo la chiusura della finestra
account con il bottone "Ok", il campo "Password:" dovrebbe mostrare
"{SET}".
In altre parole,
all'atto della prima installazione, per evidenziare una caratteristica che passerebbe
inosservata a un pubblico poco attento, Hamster imposta automaticamente un amministratore
chiamato Hamster Administrator con username "admin" e password vuota.
Configurate a vostro piacere questa password.
Perché il client
possa interagire con Hamster, dovrete poi quindi autenticare con username e password le
connessioni al news server locale. L'autenticazione, quindi, si rende necessaria perché
l'ambiente locale di Hamster è multi-account.
5.3 La configurazione del client.
Hamster interagisce
con qualsiasi client in grado di operare alle porte (anche configurabili a scelta) 119,
110 e 25. Buona parte dei newsreader e dei mailreader esistenti si collegano a queste
porte in modo predefinito. Altri lasciano la possibilità di configurazione, ma qui basti
sapere che si può accettare quella originaria.
5.4 Newsreader.
Per accedere al
news server locale di Hamster attraverso un newsreader, dovete configurarvelo in proprio
con un nome di news server e informazioni di autenticazione appropriati.
Un nome di news
server che interagisce sempre con Hamster è "127.0.0.1", che è l'indirizzo IP
assegnato al vostro computer. Nella maggior parte dei casi, anche il nome
"localhost" dovrebbe funzionare.
Le informazioni
richieste per l'autenticazione sono username "admin" e password
"{SET}" che avete assegnato a vostro piacimento come anticipato al punto 5.2.
Se le impostazioni
sono corrette, potete ora connettervi a Hamster e ottenere l'elenco dei newsgroup
disponibili. L'elenco dovrebbe contenere tre gruppi locali predefiniti di nome
hamster.errors, hamster.misc e hamster.posted. Provate a scrivere un articolo nel gruppo
hamster.misc e controllate se l'articolo vi ritorna scaricando le intestazioni delle news
dal vostro client.
5.5 Mailreader.
Come per il setup
del newsreader, potete usare "127.0.0.1" o "localhost" per i nomi dei
mailserver locali. Usate questo nome per entrambi i server, sia esso POP3 (ricezione
email) o SMTP (invio mail).
Nuovamente, le
impostazioni richieste per l'autenticazione (solo per il POP3) sono username
"admin" e password che avete assegnato a vostro piacimento come anticipato al
punto 5.2.
Se le impostazioni
sono corrette, potete collegarvi ad Hamster ora. Provate a spedire una mail a uno degli
indirizzi annotati qui sotto e controllate se il messaggio vi ritorna scaricando la posta
nel vostro client.
Qui ci sono alcuni
esempi di indirizzi che vengono mantenuti locali e, con le impostazioni predefinite di
Hamster, non faranno uscire nulla al di fuori della rete locale:
admin (senza
nessuno @dominio) admin@hamster admin@localhost admin@127.0.0.1 admin@[127.0.0.1]
admin@something.invalid
Tutti questi
indirizzi termineranno in una mail all'account amministratore di Hamster (esclusivamente
locale). La sola ragione per cui fornisco più alternative è che alcuni mail-client
potrebbero rifiutare alcuni di questi formati. Provateli dall'alto al basso e usate il
primo formato che il vostro mail-client accetta.
5.6 La prima connessione
I passi successivi
sono necessari se volete che Hamster richieda l'elenco dei gruppi disponibili sul news
server remoto del vostro provider, in modo da sottoscriverne alcuni:
- Selezionate il
menù "File -> Configuration" e aggiungete il vostro (o i vostri) news server
nella rubrica "Newsserver"
- (Andate Online)
- Selezionate il
menù "Online -> All servers (News+Mail)" per caricare l'elenco dei gruppi
disponibili (questo potrebbe richiedere alcuni minuti; aspettate fino a quando vi sarà
mostrato "Threads: 0" nell'ancolo in basso a sinistra dello schermo.
- (Andate Offline)
- Selezionate
nuovamente il menù "File -> Configuration" e aggiungete i vostri gruppi
favoriti nella rubrica "News-Pulls".
- (Andate Online)
- Selezionate
nuovamente il menù "Online -> All servers (News+Mail)" per caricare gli
articoli.
- (Andate Offline)
- Aprite il vostro
newsreader, fate un refresh dell'elenco dei newsgroup (automatico per alcuni client),
sottoscrivete i gruppi presenti e caricate i nuovi articoli.
Sezione 6: I menù di Hamster
(tratta dalla guida online di Hamster)
6.1 L'albero dei menù.
File -+-> Configuration ---+-> Newsserver | |-> Newsgroups | |-> News-Pulls | |-> Mailserver | |-> Passwords | |-> Local Accounts | |-> Local Servers | |-> Settings | +-> Online-Menu | |-> Killfile-Log |-> Killfile-Log/Edit Scorefile |-> Killfile-Log/Set sort-sequence |-> Rebuild local lists |-> Purge all groups |-> Rebuild history +-> Clear counters+log
Online -+-> 1-9: ??? |-> All servers (News+Mail) |-> Script: Default.hsc +-> Stop all tasks
Start --+-> Stop Newsserver (NNTP) |-> Stop Mailserver (POP3) +-> Stop Mailserver (SMTP)
6.2 File -> Configuration ->
Newsserver
[ Load news from
(Server, Port): ]
Qui dovete definire
i news server da cui richiamerete e spedirete gli articoli.
Per aggiungere un
nuovo news server, premete [Add] e immettete il nome del server NNTP e il numero della
porta da usare (facoltativo), entrambi separati da una sola virgola (ad es:,
"news.mioprovider.it,nntp"). L'elenco dei gruppi disponibili per i nuovi servers
sarà caricato automaticamente la prossima volta che andrete online.
Per cancellare un
news server, selezionatelo dall'elenco e premete [Delete].
Attraverso
[Settings] si possono utilmente configurare alcune opzioni.
[ ] "Server is
readonly" # permette di escludere il server in scrittura
On the next Pull [
] Reload list of newsgroups [ ] Reload list of newsgroup-descriptions # si tratta di
opzioni "one time only" che permettono di fare un # refresh dell'elenco dei
gruppi disponibili in remoto. Scegliendo # la seconda possibilità, potremo scaricarne
anche le descrizioni.
[ Preferred
Post-Server: ]
Gli articoli
inoltrati saranno spediti dai news server in relazione a quale di essi viene interrogato
per il trasporto delle news. Se scaricate un gruppo da più di un server, per spedire il
messaggio sarà usato il primo server presente nell'elenco. Per non tenere conto di questo
comportamento, potete selezionare un server preferito per spedire (preferred post-server),
che sarà sempre usato per il posting, se il newsgroup in oggetto ottiene il feed da esso.
Per attivare questo
"preferred post-server", selezionate un news server nell'elenco dei server e
premete [Select].
6.3 File -> Configuration ->
Newsgroups
[ Available
newsgroups: ]
Questo è l'elenco
dei newsgroup disponibili che potete leggere da Hamster con il vostro newsreader. I gruppi
che non sono anche elencati nella rubrica "News-Pulls" sono considerati come
locali (gli articoli ad essi inoltrati non saranno spediti ad alcun news server).
Tre newsgroup
locali sono sempre creati all'atto del primo avvio di Hamster:
-
"hamster.errors" usato per archiviare messaggi di errore
-
"hamster.misc" usato per archiviare statistiche e annunciare nuovi gruppi
remoti, nonché riportare le cancellazioni dei messaggi
-
"hamster.posted" usato per archiviare articoli dopo averli spediti
Per aggiungere un
gruppo selezionandolo da uno o più elenchi disponibili da uno o più news server, dovete
usare "News-pulls"
Per aggiungere un
gruppo manualmente, premete [Add/Local] e immettete il nome del gruppo.
Per sovrascrivere
alcune impostazioni predefinite per un certo gruppo, selezionatelo nell'elenco e premete
[Settings].
Per cancellare un
newsgroup, selezionatelo nell'elenco e premete [Delete].
6.4 File -> Configuration ->
News-Pulls
[ Groups to pull
from server (groupname,servername): ]
Questo è l'elenco
dei newsgroup che prendono il feed dai news server remoti. Ogni voce nell'elenco è una
combinazione del nome del gruppo seguita dal nome di un server remoto e, questo significa
che quel dato gruppo dovrebbe essere scaricato da quel dato server.
Normalmente,
dovrebbe essere sufficiente scaricare un gruppo da solo un server (il "più
veloce"/"migliore" server), ma potreste anche definire server addizionali
per ogni gruppo.
Per aggiungere un
newsgroup all'elenco di quelli che prendono il feed, premete [Add] e selezionate un
newsgroup nell'elenco presentato (se l'elenco è vuoto, dovete andare online per caricare
l'elenco dei gruppi disponibili, come anticipato al punto 5.6). Dopo aver trovato e
selezionato il gruppo desiderato, cliccate nella parte sottostante della finestra su [Find
pulls] per ottenere l'elenco dei pull disponibili, ovvero l'elenco dei news server remoti
da voi sottoscritti che portano quel gruppo. Per sottoscriverne uno o alcuni di essi,
selezionateli e premete [Ok].
Per cancellare un
gruppo dall'elenco di quelli che prendono il feed, selezionatelo e premete [Delete].
6.5 File -> Configuration ->
Mailserver
[ [POP3] Load mails
from (Server, Port): ]
Qui potete definire
i mailserver che volete usare per caricare la posta attraverso il protocollo POP3.
Per aggiungere un
server POP3, premete [Add] e immettete il nome del server POP3 e il numero della porta da
usare, entrambi separati da una sola virgola (es:, "pop.mioprovider.it,pop3").
Per cancellare un
server POP3, selezionatelo nell'elenco e premete [Delete].
[ [SMTP] Send mails
to (Server, Port): ]
Qui potete definire
i mailserver che volete usare per spedire la posta attraverso il protocollo SMTP.
Per aggiungere un
server SMTP, premente [Add] e immettete il nome del server SMTP e il numero della porta da
usare (facoltativo), entrambi separati da una sola virgola (es:,
"pop.mioprovider.it,smtp").
Per cancellare un
server SMTP, selezionatelo nell'elenco e premete [Delete].
[ Preferred
Send-Server: ]
Questo è il server
SMTP predefinito usato per spedire la posta. E' sempre usato, a meno di non essere
"escluso" da un "Online-Menu" personalizzabile incaricato di stabilire
il trasporto o da uno script apposito.
Per selezionare
questo server SMTP preferito, selezionate un server SMTP dall'elenco e premete [Select].
6.6 File -> Configuration ->
Passwords
[ Usernames and
passwords for servers, RAS-connections and scripts: ]
Qui potete
impostare lo username e la password per i news/mail- server in oggetto e per il vostro
servizio di accesso remoto (RAS, Remote Access Service). Le impostazioni per la vostra
connessione sono necessarie solo se a Hamster venisse richiesto di connettersi da solo
(automazione).
Le impostazioni
addizionali chiamate "$1", "$2", ..., "$99" sono password a
scopo generico, che possono essere usate in alcuni script. Invece di annotare username e
password in chiaro nello script, si può richiamare una di queste impostazioni usando
"$(numero)" per lo username e lasciando il campo della password vuoto.
Ci sono tre
differenti stati o condizioni che una password può avere. Essi appaiono come segue:
- "{ASK}"
Hamster vi chiederà username e password quando sarà necessario.
- "{SET}"
Username e/o password sono impostate e archiviate nel file "Password.!!!" (leggi
nota sotto).
-
"{NONE}" Username/password è vuota, ovvero non necessarie (es. autenticazione
per numero IP in SMTP).
Per modificare le
impostazioni di ogni singola voce, selezionatela nell'elenco e premete [Edit].
Per cancellare
username and password (es:, impostati entrambi a "{NONE}"), selezionate la voce
relativa nell'elenco e premete [Clear].
*Usare
l'autenticazione APOP per i server POP3*
Per usare
l'autenticazione di APOP, la password deve essere preceduta con "APOP:". Se la
password "casualmente" inizia con "APOP:", si può forzare
l'autenticazione USER/PASS precedendola con "PASS:".
Esempi:
secret => Usa
USER/PASS con password "secret" (default) APOP:secret => Usa APOP con
password "secret". PASS:APOP:secret => Usa USER/PASS con password
"APOP:secret". PASS:PASS:secret => Usa USER/PASS con password
"PASS:secret".
*Nota bene*
Le impostazioni
relative alle password saranno salvate nel file "Password.!!!". Le voci in
"Password.!!!" sono cifrate con l'algoritmo "Blowfish". La chiave
usata per per cifrare i dati è una combinazione di elementi fissi e variabili in
relazione alle diverse impostazioni del sistema operativo, come nome del PC, versione del
sistema operativo, ecc..
I dati archiviati e
cifrati consistono in username e password e, sono indicizzati da un valore alfanumerico
per il relativo server-/RAS-name (es:, questo nome non è archiviato in testo semplice, ma
in un form dove cercare la voce quando ce ne è bisogno).
Se questo sembra
molto sicuro, siate consapevoli che non è vero! Anche se la chiave dipende dal PC dove è
stata generata, le voci utilizzate possono essere indovinate.
Tuttavia, se
pensate che altri programmi usano XOR o ROT13 per cifrare quelle cose ... ;-)
6.7 File -> Configuration ->
Local Accounts
[ Name, Full name,
Password: ]
Qui potete
aggiungere o modificare account locali impiegabili per l'autenticazione presso il server
locale.
Per aggiungere un
nuovo account, premete [Add]. Le impostazioni dell'account selezionato saranno usate per
il nuovo account (password, ecc. a esclusione dello username). Per modificare le
impostazioni di un account, selezionatelo nell'elenco e premete [Edit]. Per cancellare un
account, selezionatelo nell'elenco e premete [Delete].
IMPOSTAZIONI
DELL'ACCOUNT.
Lo User-ID è solo
un numero identificativo dell'account. E' assegnato da Hamster all'atto della creazione e
non può essere cambiato.
Username e password
sono usati per l'autenticazione quando l'utente entra nel server NNTP - e nel POP3 -
locale. L'username (unico e distinto) è assegnato quando l'account viene creato e non
può più essere cambiato. Per modificare la password, premete [Change].
Il "full
name" non ha un significato particolare. Potete usarlo per identificare l'account,
es: "Mario Rossi (solo-news)".
Local NNTP-server:
Il campo "Groups, the user may read" determina quali gruppi sono visibili e
leggibili dall'utente, mentre il campo "Groups, the user may post to" determina
a quali di questi gruppi visibili/leggibili l'utente può spedire messaggi. Il formato di
entrambe le impostazioni è descritto più sotto alla voce "Group-selection".
Local POP3-server:
La casella "User has a POP3-mailbox" determina se l'account ha una mailbox POP3.
Gli account senza una mailbox POP3 non possono ricevere la posta da Hamster. Se il campo
"Local mail-addresses" è specificato, tutta la posta elettronica per questi
indirizzi non è più inoltrata al server remoto, ma consegnata localmente all'utente.
Indirizzi multipli, devono essere separati da un solo spazio, es:
"mario.rossi@provider.it luca.rossi@provider.net".
Local SMTP-server:
Se la sezione "SMTP-after-POP3" è attiva, per il server SMTP locale la casella
"User may send mails" determina se all'utente è concesso di spedire posta.
GROUP-SELECTION
Nei campi
"Group, ..." può essere praticata una selezione di gruppi che consiste in un
elenco di espressioni regolari, con ogni espressione separata da uno spazio. Le
espressioni vengono affrontate da sinistra a destra e la corrispondenza del primo modello
di espressione determina se un gruppo possa apparire oppure no. Se una espressione
regolare è preceduta da "!", questo significa "not", così il
risultato viene invertito.
Esempi:
Selezione: .*
Significato: Tutti i gruppi sono disponibili.
Selezione: !.*
Significato: Nessun gruppo è disponibile (corrisponde a lasciare vuoto il campo).
Selezione:
!^hamster\. .* Significato: Tutti i gruppi sono disponibili ad eccezione dei gruppi
"hamster".
Selezione: .*
!^hamster\. Significato: Tutti i gruppi sono disponibili (ricorda: la prima corrispondenza
determina il risultato e ".*" corrisponde sempre a tutti i gruppi)
Selezione: ^de\.
!^hamster\.posted ^hamster\. Significato: Tutti i gruppi "de" e
"hamster", ad eccezione di "hamster.posted" sono disponibili.
UN ACCOUNT
SPECIALE, "nntpdefault":
Se viene creato un
account con username "nntpdefault" e password "*", le sue impostazioni
NNTP saranno usate, se gli utenti accederanno al server NNTP locale senza autenticazione.
Questa autenticazione automatica (auto-login) ha spazio quando il client si presenta con
un comando NNRP "mode reader" (salta la fase di autenticazione del comando NNRP
"authinfo user|pass").
6.8 File -> Configuration ->
Local Servers
SEZIONE
"Newsserver (NNTP)"
Autostart [x],
Port: [numero] Quando la casella "Autostart" è spuntata, con l'avvio di
Hamster, il server NNTP locale (quello che, oltre a ricevere e inoltrare i messaggi,
richiede e fornisce localmente il feed delle news) parte automaticamente al numero di
porta specificata. Il numero di porta predefinito è "119".
Generate
Message-ID: [ ]
Se questa casella
è spuntata, Hamster aggiunge un unico e distinto Message-ID all'articolo inviato, ammesso
e non concesso che il messaggio sia uscito dal client senza averne già uno (in altre
parole, Hamster non sovrascrive Message-ID esistenti).
Il Message-ID
formulato in locale consiste in un valore cifrato della data corrente, del task-number e
di un contatore a tempo (simile ai Message-ID generati da INN), valore unico e distinto
nel vostro PC locale.
La parte del
dominio è costituita dal vostro unico e distinto FQDN, che dovete immettere nella sezione
"Local Domains" (leggete più sotto).
Allow POST with
unknown groups: [ ]
In modo
predefinito, tutti gli articoli spediti singolarmente, o in crosspost, a gruppi
sconosciuti (unknown groups, ovvero gruppi non disponibili attraverso Hamster anche se
disponibili in remoto) sono rifiutati.
Se questa casella
è spuntata, i post con il nome del gruppo sintatticamente corretto sono accettati, anche
se non sono "conosciuti" da parte di Hamster. Dato che questo permette il
posting in *tutti* i gruppi, non è raccomandabile in un ambiente multiuser (dove ad
alcuni utenti si vorrebbero applicare dei limiti ai gruppi raggiungibili).
Le seguenti
restrizioni sono applicate anche se la casella è spuntata:
- almeno uno dei
gruppi in crosspost deve essere conosciuto
- un massimo di 2
gruppi sconosciuti è permesso, se non è impostato alcun "Followup-To:"
- un massimo di 5
gruppi sono permessi, se non è impostato alcun "Followup-To:"
Days to keep data
(Articles, History, Killfile-Log):
In questa
sottosezione potete impostare per quanti giorni Hamster debba detenere i dati. In altri
termini, questo campo vi dice il numero di giorni di giacenza minima dei dati prima di
essere disponibili al purge manuale ...
"Articles":
[______]
Questo campo
controlla per quanto tempo sono archiviati gli articoli, in base al valore date/time del
caricamento degli articoli (la data riportata nel campo "Date:"
dell'intestazioni non è rilevante a questo scopo).
"History":
[______]
"History"
è un elenco di Message-ID corrispondenti ad articoli già caricati che viene usato per
controllare se un articolo sia già stato caricato da qualche news server remoto. Questo
file (".\Groups\History.dat") è mantenuto completamente in memoria e ogni
articolo deve essere controllato in questo elenco prima di essere richiesto.
Di conseguenza,
più alto è questo valore, maggiore sarà la memoria e (forse costoso) il tempo online
necessario per Hamster. Per darvi un suggerimento: il mio file history su un P133 è
grande circa 500KB, e finora non ho mai avuto problemi con questa dimensione.
Rilevo però che
dalla versione 1.3.5 il file History.dat non esiste più e viene ripartito in più file
del tipo Hist???.dat.
"Killfile-Log":
[______]
Il
"Killfile-Log" (".\Groups\Kills.log") serve ad archiviare le
informazioni relative agli articoli non caricati a causa delle impostazioni di scorefile.
Se non siete interessati a utilizzare lo scorefile o a verificare il risultato di tale
strumento, potete impostare questo campo a "0" giorni.
SEZIONE Mailserver
(POP3):
Autostart [x],
Port: [numero]
Quando
"Autostart" è segnato, all'avvio di Hamster, il server POP3 locale (quello che
fornisce la posta elettronica raccolta da Hamster) parte automaticamente al numero di
porta specificata. La porta predefinita per il POP3 è "110".
Generate
Message-ID: [ ]
Funziona come per
la versione NNTP (leggi più sopra).
SEZIONE Mailserver
(SMTP):
Autostart [x],
Port: [numero]
Quando
"Autostart" è segnato, all'avvio di Hamster, il server SMTP locale (quello che
accetta la posta elettronica inoltrata ad Hamster) parte automaticamente al numero di
porta specificata. La porta predefinita per il POP3 è "25".
SMTP-after-POP3: [
]
Abilita
"SMTP-after-POP3", che significa che una transazione SMTP è rifiutata, se
l'autenticazione POP3 dallo stesso indirizzo IP non è andata a buon fine entro gli ultimi
5 minuti (predefinito; la durata può comunque essere modificata in Hamster.ini).
SEZIONE Local
Domains:
"FQDN for
Message-ID": [______]
Qui potete
immettere il vostro FQDN (Fully Qualified Domain Name), che identifica univocamente il
vostro PC.
Questo valore è
usato per la parte del dominio di un Message-ID generato da Hamster.
Local
mail-delivery, if domain-part of recipient matches this regex: [______]
Se la parte del
dominio di un mail-recipient (il testo che segue il carattere @) corrisponde la specifica
espressione regolare, il messaggio non sarà spedito, ma "solo" consegnato
localmente.
Se la parte locale
dell'email address corrisponde allo username di un account locale e questo account ha una
mailbox POP3, la mail è inviata a questo utente, altrimenti non viene rigettata, ma
inoltrata all'amministratore (questa condotta sarà modificata in una versione futura).
L'impostazione
originaria è .*hamster|\[?127\.0\.0\.1\]?|.*invalid Esempi per gli indirizzi locali
coperti da questa espressione regolare sono:
.*hamster -->
someone@something.hamster \[?127\.0\.0\.1\]? --> someone@127.0.0.1, someone@[127.0.0.1]
.*invalid --> someone@nospam.invalid
Nota: Gli indirizzi
senza una parte dominio o domini senza almeno un punto (".") in mezzo ad esso,
sono sempre considerati come locali, indipendentemente dall'espressione regolare
precedentemente usata.
6.9 File -> Configuration ->
Settings
Pull-Limit
(default/empty group): [______]
In questi campi
potete limitare il numero degli articoli caricati per gruppo in una sessione online.
La prima volta che
si caricano gli articoli (es:, dopo l'aggiunta di un nuovo newsgroup), si usa il valore
presente nel campo "(empty group)". Il caricamento susseguente userà il valore
presente nel campo "(default)".
I valori possibili
sono:
- "0"
Carica tutti gli articoli disponibili.
- >0 Carica solo
un dato numero di articoli estratti tra quelli più recenti (ad esempio, gli ultimi
"100").
- <0 Carica solo
un dato numero di articoli estratti tra quelli più vecchi (ad esempio, i primi
"100").
Leave mails on
server, i.e. do not delete them [x]
Quando spuntata
(configurazione originale), la posta remota scaricata via POP3 attraverso Hamster, non
sarà cancellata dal server.
Ignore already
loaded mails, i.e. do not load them again [x]
Questa funzione fa
uso del comando POP3 UIDL per ravvisare se la posta è già stata caricata in precedenza.
Se questa casella è spuntata (configurazione originale) e il server supporta UIDL, la
posta sarà caricata una volta sola.
Hamster: [x] Start
as icon
Quando spuntata
(configurazione originaria), Hamster alla partenza sarà minimizzato in una piccola icona
nel system-tray .
Hamster: [x]
Minimize on close
Quando spuntata,
Hamster viene solo minimizzato a icona nel system tray quando la finestra principale viene
chiusa. Per chiudere realmente Hamster, dovete usare il menù "File / Exit"
then.
Session-logfiles to
keep: [______]
Ogni volta che
Hamster parte, viene creato un nuovo logfile (".\Logs\0.log"), mentre a quelli
vecchi viene assegnato un altro nome a scalare fino alla posizione indicata in questo
campo (il vecchio "0.log" diventerà "1.log" e così via). Oltre
questa posizione, i log sono cancellati. Questo valore controlla appunto quanti di questi
vecchi log debbano essere trattenuti.
Logfile-lines to
view: [______]
Questo valore
controlla quante righe del logfile sono trattenute in memoria e sono accessibili nella
finestra principale (log). Questa è solo una caratteristica introdotta per non reprimere
le performance, dato che l'aggiornamento dell'elenco a video può richiedere un po' di
tempo.
Save/View
(Errors/Warnings/System/Info/Detail/Debug/Full): [ ]
Queste caselle
controllano quali tipi di "messaggi Hamster" saranno salvati nel log-file
("Save") e quali tipi sono mostrati nella finestra principale
("View").
Usate "[x]
Debug" solo per ottenere il dettaglio completo nel caso aveste problemi di
comunicazione e riportatelo al valore originario subito dopo dato che questo valore
richiede molto spazio sul disco (il mio "Highscore" è di circa mezzo giga...
;-).
6.10 File -> Configuration ->
Online-Menu
Riquadro Menu-item:
Ci sono 9 voci
definibili nell'Online-Menu. Ogni articolo definisce un elenco di server che saranno usati
con la selezione dello stesso articolo.
Title: [______]
Il testo da
mostrare nell'Online-menu.
Riquadri Available
/ Selected servers:
Qui potete
selezionare i server da usare dall'elenco dei news/mailserver definiti. Per attivare un
server, selezionatelo nell'elenco a sinistra e spostatelo in quello di destra con
[-->].
Per disattivare un
server, selezionatelo nell'elenco di destra e spostatelo in quello di sinistra con
[<--].
Ricordatevi di
salvare i cambiamenti con [Save].
Esempi comuni:
"News"
--> attivate tutti i server NNTP "Receive Mail" --> attivate tutti i
server POP3 "Send Mail" --> attivate tutti i server SMTP
"MyProvider-only" --> attivate tutti i server inerenti il vostro provider di
fiducia
6.11 File -> Configuration ->
Killfile-Log
L'argomento sarà
approfondito nelle sezioni relative ai filtri. Qui si mostra solo il funzionamento di
questa finestra.
- Mostra le
informazioni degli articoli non disponibili a causa delle impostazioni dello scorefile.
- Cliccate in testa
alla colonna desiderata per ordinare le righe a vostro piacimento.
- Fate doppio clic
sulla riga per vedere tutte le informazioni disponibili sull'articolo (intestazioni
xover).
- Selezionate più
righe tenendo premuto shift o ctrl quando cliccate.
- Fate clic con il
bottone destro e selezionate "Mark for retrieval" (Ctrl+m) per caricare
automaticamente gli articoli selezionati durante la prossima sessione online (-->
".\Server\(servsername)\getmids.txt").
- Fate clic con il
bottone destro e selezionate "Delete" (Canc) per rimuovere le righe a cui non
siete interessati.
6.12 File -> Killfile-Log/Edit
scorefile
Si tratta di un
semplice editor per lo Scorefile delle news. Corrisponde al file: "Scores.hst".
Don't log killed
articles if score is lower than: [______]
Se il punteggio
assegnato è più basso del valore dato, l'articolo (non caricato) non è nemmeno
registrato nel Killfile-Log.
6.13 File -> Rebuild global list
Costruisce
immediatamente i seguenti elenchi (normalmente sono ricostruiti automaticamente al riavvio
di Hamster):
* Elenco dei gruppi
disponibili in pull (.\Server\allpulls.txt): Questo elenco contiene tutti i gruppi di
tutti i newsserver attivi comprese le loro descrizioni. Questo è l'elenco impiegato
quando volete aggiungere nuovi gruppi in news-pull ed è selezionata la casella [x]
"descriptions".
* Elenco di tutte
le descrizioni dei newsgroup (.\Server\alldescs.txt) Questo elenco contiene le descrizioni
di tutti i gruppi. Quando aggiungete un nuovo gruppo in pull, la descrizione del gruppo
viene caricata dall'elenco.
6.14 File -> Purge all groups
Selezionando questa
funzione, i vecchi articoli, le voci nell'history e le registrazioni nel killfile-log
saranno cancellate e i file relativi compattati.
La giacenza minima
dei dati può essere definita nel "Menù: File -> Configuration -> Local
servers".
6.15 File -> Rebuild history
Selezionando questa
funzione, i file (".\Groups\Hist???.dat") history vengono cancellati e
ricostruiti aggiungendo i Message-ID di tutti gli articoli archiviati in Hamster.
Attenzione: l'operazione può occupare diverso tempo con migliaia di articoli.
Normalmente, non
dovrebbe esserci alcun bisogno di lanciare questa voce dato che le registrazioni
nell'history sono aggiunte e cancellate automaticamente. Se avete invece problemi con
articoli caricati più di una volta, potete risolverli con questa funzione.
6.16 File -> Clear counters+log
Reimposta i
contanttori nella barra di stato e libera il display dal logfile corrente.
6.17 Online -> 1-9: ???
Si tratta di un
massimo di 9 funzioni personalizzabili dall'utente attraverso il "Menù: File ->
Configuration -> Online-Menu".
Quando selezionate
una di queste voci, attivate il trasferimento di informazioni da e/o per i server che
avete scelto.
6.18 Online -> All servers
(News+Mail)
Questo menù avvia
il trasferimento dei dati da e per tutti i news/mailserver definiti.
Se volete
restringere il campo di operazione ad alcuni server specifici (es:, un solo news server),
dovete usare uno dei menù personalizzabili di cui al punto precedente.
6.19 Online -> Script:
Default.hsc
Questa voce avvia
lo script nella cartella principale di Hamster chiamato "Default.hsc".
6.20 Online -> Stop all tasks
Selezionando questa
voce, Hamster proverà a fermare tutti i task correntemente aperti.
Sì, sì... ho
proprio detto "proverà a fermare..." ;-)
6.21 Start/Stop Newsserver (NNTP)
Se questa voce è
già spuntata, il news server locale (NNTP) è avviato. Questo significa che potete
richiedere il feed e inoltrare i messaggi news a Hamster con il vostro newsreader.
Quando selezionate
questa voce, il server, se in moto, sarà fermato, altrimenti, se fermo, sarà avviato.
Per far partire
automaticamente il server con l'avvio di Hamster, potete spuntare la casella apposita nel
"Menù: File -> Configuration -> Settings".
6.22 Start/Stop Mailserver (POP3)
Se questa voce è
già spuntata, il mail server locale (POP3) è avviato. Questo significa che potete
scaricare la posta da Hamster con il vostro mailreader.
Quando selezionate
questa voce, il server, se in moto, sarà fermato, altrimenti, se fermo, sarà avviato.
Per far partire
automaticamente il server con l'avvio di Hamster, potete spuntare la casella apposita nel
"Menù: File -> Configuration -> Settings".
6.23 Start/Stop Mailserver (SMTP)
Se questa voce è
già spuntata, il mail server locale (SMTP) è avviato. Questo significa che potete
inoltrare la posta a Hamster con il vostro mailreader.
Quando selezionate
questa voce, il server, se in moto, sarà fermato, altrimenti, se fermo, sarà avviato.
Per far partire
automaticamente il server con l'avvio di Hamster, potete spuntare la casella apposita nel
"Menù: File -> Configuration -> Settings".
Sezione 7: Lo Scorefile di Hamster
"(root)\scores.hst"
7.1 A cosa serve lo Scorefile? Il
file "(root)\scores.hst"
Le regole del file
"Scores.hst" determinano, dopo il caricamento delle intestazioni
"xover", quali articoli saranno caricati immediatamente, quali articoli saranno
rimandati al Killfile-Log e quali saranno bocciati senza appello (il comando NNRP xover
scarica comunque tutte le intestazioni).
Questo filtro viene
realizzato con una tecnica chiamata "Scoring" ed equivale ad assegnare un
punteggio, un voto. In Hamster, questo significa che ogni articolo parte con un punteggio
(score-value) di zero per poi guadagnare o perdere punti se i campi in esso contenuti
corrispondono una o più regole presenti nello scorefile.
Il punteggio
assegnato determina se l'articolo verrà caricato. Se il valore è maggiore o uguale a
zero (>=0), l'articolo sarà caricato immediatamente. Altrimenti, (<0) non sarà
caricato, ma rimandato al Killfile-Log, da dove potrà essere successivamente caricato
manualmente. Per mantenere questo file-log piccolo e comprensibile, potete impostare un
ulteriore limite di punteggio nel campo Killfile-Settings, il quale previene le
registrazioni con un punteggio molto basso (bocciatura diretta, leggete i punti 6.11 e
6.12).
7.2 Una veduta generale della
sintassi dello Scorefile
Scores.hst
(Scorefile) è un semplice file di testo, modificabile con qualsiasi editor, compreso il
blocco note di Ms Windows.
Prima di iniziare,
vorrei premettere che, contrariamente a ciò che alcuni potrebbero pensare, la sintassi
dello scorefile è molto semplice, in alcuni casi addirittura banale. A una prima analisi
potrebbe sembrare difficile, ma al punto successivo sarà subito possibile passare a
esempi molto semplici che permetteranno di apprenderne velocemente il funzionamento.
ESEMPIO DI
SCOREFILE CON LEGGENDA:
["*"] --+ -9999 Subject "$$$" |-- ScoreBlock =+1 From tuo@indirizzo.it --+
|____| |______________| || || ScoreField Pattern
|_______________________| || ScorePattern
[it.test] <--- ScoreScope =+1 References "tuoFQDN" <-- =+1 Message-ID "tuoFQDN" <-- ScoreRule -9999 Subject "prova" <--
["*" -"it.test"] <--- ScoreScope
|__________| || ScopePattern formato da "+ o -" più il Pattern "it.test"
Lo Scorefile,
appare quindi formato da blocchi di regole, chiamati ScoreBlock, in testa ai quali
campeggiano gli ScoreScope. Gli ScoreScope servono per identificare su quale gruppo o su
quali gruppi debbano o non debbano essere applicate le regole. Gli ScoreScope, infatti,
contengono uno o più ScopePattern che sono modelli o regole che pongono una condizione di
corrispondenza verso un valore o una stringa ancora sconosciuta e quindi astratta. Per
esempio, uno ScopePattern del tipo "$$$" corrisponde qualsiasi stringa in cui
compaiano tre simboli $ consecutivi. Le ScoreRule, invece, possono contenere uno o più
Pattern, in questo caso però all'interno di una struttura più ampia detto ScorePattern,
a sua volta quindi scomponibile in ScoreField (insieme di campi sensibili alle regole) e
uno o più Pattern (regola vera e propria).
Il Pattern può
essere realizzato come PatSimple o come PatRegExp.
Il PatSimple fa
capo a tre modalità di corrispondenza (match) che sono PatSimpleAll, PatSimpleText e
PatSimpleNumber. Il primo caso corrisponde qualsiasi valore o stringa attraverso
"*", il secondo si impiega quando una stringa (ad esempio "$$$") deve
corrisponderne qualsiasi altra che la contiene, infine il terzo è d'obbligo per gestire
valori che possono essere numero di righe, bytes, date, ecc. con simboli come % < =
>.
Il PatRegExp fa
capo invece al Perl Compatible Regular Expression-style (PCRE-style). E' più complesso
del precedente, ma è considerato il migliore mezzo per determinare corrispondenze (match)
e poter così filtrare al meglio.
STRUTTURA DELLO
SCOREFILE IN PILLOLE:
ScoreFile =
*(ScoreBlock \ cEOL )
ScoreBlock =
ScoreScope *( ScoreRule / cEOL )
ScoreScope =
"[" ScopePattern *( 1*WSP ScopePattern ) "]" cEOL ScopePattern = [
"+" / "-" ] Pattern
ScoreRule =
["="] ScoreValue 1*WSP ScoreSelection cEOL ScoreValue = ( "+" /
"-" ) <Number> ScoreSelection = ScoreDefField 1*( 1*WHSP ScorePattern )
ScorePattern = ["+"/"-"] [ "@" ScoreField ":" ]
Pattern ScoreDefField = [ "~" ] ScoreField
ScoreField = (
"Number" / "Subject" / "From" / "Date" /
"Message-ID" / "References" / "Bytes" / "Lines" /
"Xref" / "Xpost" / "Age" ) [":"]
Pattern = (
PatRegExp / PatSimple ) PatRegExp = "{" <PCRE-style regex-pattern>
"}" PatSimple = ( PatSimpleAll / PatSimpleText / PatSimpleNumber ) PatSimpleAll
= "*" PatSimpleText = """ <Text> """
PatSimpleNumber = "%" ( "<" / "=" / ">" )
<Number>
cEOL = [
"#" <commento> ] CRLF CRLF = ritorno a capo
7.3 Lo Scorefile spiegato dall'Help
Online
Score-Header:
Ogni ScoreBlock
comincia con un header "[...]" che descrive i nomi dei gruppi sui i quali
saranno testate le ScoreRule successive:
[*] # ScoreRule
valide per tutti i gruppi
[*
-".news"] # ScoreRule valide per tutti i gruppi, ad eccezione di quelli #
contenenti ".news"
["news"
"usenet"] # ScoreRule valide per tutti i gruppi contenenti "news" o #
"usenet".
[{^news\.}
{^alt\.usenet\.}] # ScoreRule valide per tutti i gruppi che cominciano per
"news." # o "alt.usenet."
I modelli dentro
"[...]" seguono le stesse regole degli ScorePattern descritti più sotto.
ScoreRule:
Lo score-value per
un articolo testato è elevato con "+" e abbassato con "-", seguiti
dal valore del cambiamento.
+100 subject
"hamster" -100 subject "make money fast"
Se una ScoreRule è
preceduta con "=", lo score-value è impostato al valore dato e nessuna modifica
sarà applicata sull'articolo in oggetto:
=+9999 from
"my.mail@address" =-9999 from "spam.mail@address"
I campi sensibili
allo score-value dipendono dalle informazioni restituite dal news server remoto
("XOVER")[*]. Nella maggior parte dei casi, i seguenti campi sono disponibili
per assegnare un punteggio: Subject, From, Date, Age, Message-ID, References, Bytes,
Lines, Xref, Xpost:
+100 subject
"hamster"
-100 from
{no.*spam} +500 message-id "my.unique.fqdn" +100 references
"my.unique.fqdn" -100 bytes %>10000 -100 lines %>250
[*] Nota: Hamster
ancora non supporta campi addizionali eventualmente restituiti dai server.
Lo ScoreField Xpost
è fittizio perché basato su Xref e offre il numero di gruppi in cui l'articolo è in
crosspost:
-10 xpost %>2 #
spedito a più di 2 gruppi =-9999 xpost %>5 # spedito a più di 5 gruppi
Lo ScoreField Age
è fittizio perché basato su "Date:" e offre l'età in giorni degli articoli:
=-9999 age %>14
# ignora tutti gli articoli più vecchi di 14 # giorni
Se un nome di capo
è preceduto con "~", il contenuto del campo in oggetto è decifrato in MIME
prima di testarlo:
+100 ~subject
"hämstêr" -100 ~from "jürgen"
[*] Nota: questa
caratteristica è obsoleta.
ScorePattern:
I modelli senza un
segno "+"- o "-" iniziale significano che uno o più di uno di essi
devono trovare riscontro:
#
"hamster" o "newsserver" o "mailserver" +1 subject
"hamster" "newsserver" "mailserver"
I modelli con un
segno "+" iniziale significano che il campo in oggetto deve corrispondere quel
valore:
#
"hamster" in combinazione con "newsserver" oppure
"mailserver" +1 subject +"hamster" "newsserver"
"mailserver"
I modelli con un
segno "-" iniziale significano che il campo non deve contenere quel valore:
#
"newsserver" o "mailserver" non concernenti "unix/linux/inn"
+1 subject "newsserver" "mailserver" -"unix"
-"linux" -"inn"
# Campo From non
contenente "@" =-9999 from -"@"
Per combinare
differenti campi in una ScoreRule, potete qualificare il modello con il suo nome:
-1 subject
"help" "urgent" "!!!" -@from:"my@address"
-"SCNR"
Se un Pattern è
collocato dentro "{...}", viene trattato come espressione regolare PCRE-style
[*]:
# Ignora quelli che
usano l'antispam: -1 from {no.?spam} {(remove|delete|cut).*this}
[*] La
documentazione Perl per le espressioni regolari può essere trovata all'URL che segue:
http://www.perl.com/CPAN-local/doc/manual/html/pod/perlre.html
Esempi:
# Una sezione che
comincia con "[*]" contiene ScoreRule globali # che saranno usate per tutti i
gruppi
[*] # Carica tutti
i miei articoli immediatamente: =+9999 From "mio nome" =+9999 Message-ID
mio.FQDN
# Carica gli
articoli che riferiscono ai miei articoli: =+5000 References mio.fqdn
# Siamo interessati
negli articoli relativi a questi divertenti e # piccoli animali con piccole antenne sulla
testa: =+1000 Subject hamster "HELP! THERE'S A BIG FAT RAT!" "SCNR
;-)"
# Vogliamo ignorare
stupidi suggerimenti quali: =-1000 Subject "MAKE HAMSTER FAST!!!!" #
(Attenzione: questo pattern è racchiuso tra virgolette e non # altera le corrispondenze
con subject che contengono la parola # hamster
# Gli esempi che
seguono usano ScoreRule specifiche per gruppo # cominciando una nuova sezione nello
ScoreFile con una riga # "[...]" (ScoreScope). # Dato che Hamster costruisce un
elenco score "individuale" per # ogni gruppo prima del caricamento degli
articoli, è meglio # definire filtri "individuali" se le ScoreRule sono
necessarie # solo per alcuni di essi.
# Ignora
"grandi" articoli che non hanno "FAQ" nel subject e non # sono spediti
su it.news.annunci [* -"it.news.annunci"] -10 Lines %>200 -10 Bytes
%>10000 +20 Subject FAQ
# Ignora gli
articoli spediti a più di tre gruppi: -10 Xpost %>3
# Ignora gli
articoli con subject che contiene "!!!" in tutti i # gruppi ad eccezione di
it.news.aiuto [* -"it.news.aiuto"] -1 Subject "!!!"
# Alcuni gruppi
sono più leggibili, se ignorate tutti gli articoli # e caricate solo quelli specifici
immediatamente, ad esempio: [nome.gruppo.uno nome.gruppo.due nome.gruppo.tre] -1
Message-ID * +1 Subject "interest1" "interest2" "interest3"
"interest4" +1 From "user1" "user2" "user3"
"user4"
7.4 Come si fa un filtro plonk?
Cos'è un filtro plonk?
In un gruppo di
discussione, di fronte a un utente che da continuamente vita a polemiche, seguite magari
da decine di messaggi senza senso, molti ricorrono al *plonk*. Il plonk è un filtro che
permette di non caricare i messaggi attribuibili a un determinato utente.
Per realizzare un
plonk con Hamster, è sufficiente modificare il file Scores.hst (menù
Fillfile-Log/Settings, menù File -> Edit Scorefile). Scegliere l'estensione della
regola, ovvero quali gruppi deve riguardare. Creare la regola.
Partiamo da un
esempio: conosciamo un utente fastidioso che ha il seguente campo "from" nelle
intestazioni: From: "Mario Rossi" <mario.rossi@provider.it>
Potremo facilmente
evitarlo in futuro con questo ScoreScope seguito dalla regola contenuta nella ScoreRule.
[it.nome.gruppo]
-9999 From mario.rossi@provider.it
Questo eviterà di
scaricare i messaggi di chi impiega l'email address indicato in quel particolare gruppo.
L'esempio
precedente equivale a scrivere:
["it.nome.gruppo"]
-9999 From "mario.rossi@provider.it"
Le virgolette, in
questo caso, sono solo impiegate per dare chiarezza visiva.
Lo stesso utente
può però essere evitato applicando questa regola:
-9999 From mario
rossi
ma questo ha lo
svantaggio di punire tutti gli utenti che nell'indirizzo o nel loro nickname riportano
anche solo una di queste parole, "mario" e "rossi". Saranno filtrati
anche i vari Rossini, Rossignoli, ecc. (PatSimpleAll).
Possiamo quindi
risolvere il problema usando le virgolette che, se prima non servivano, ora diventano
essenziali.
-9999 From
"mario rossi"
Per essere sicuri
di non fare errori si dovrebbe riportare l'intero campo from. Tuttavia, in questo caso,
vediamo che nell'indirizzo appaiono delle virgolette che sono caratteri riservati per le
regole PatSimple e quindi non comprensibili all'interno di una regola. L'unica soluzione a
questo problema è usare un più complesso PatRegExp di questo tipo:
-9999 From
{"Mario Rossi" <mario\.rossi@provider\.it>}
Come avrete forse
capito analizzando la precedente struttura dello ScoreFile, una regex (regular expression
o espressione regolare) deve essere contenuta in mezzo a due parentesi graffe,
"{" e "}". Su http://www.geocities.com/fashionavenue/1075 si può
scaricare una guida al PCRE-style.
7.5 Come posso scaricare solo i
miei messaggi?
Questa regola può
essere utile quando sottoscriviamo un gruppo per fare prove, come it.test o
it.test.moderato. Senza questa regola Hamster caricherebbe inutilmente messaggi ai quali
non siamo interessati.
Dovremo quindi
porre una regola generale per assegnare un punteggio negativo a tutti i messaggi, esclusi
i nostri.
In generale,
esistono due ScoreField adatti per scaricare solo i nostri messaggi: "From" e
"Message-ID".
Quindi avremo:
[it.test] -9999
From * -"mio@indirizzo.it"
oppure
[it.test] -9999
Message-ID * -"mioFQDN"
Osservate con
attenzione la funzione del simbolo "-" che esclude il secondo Pattern (indirizzo
o FQDN) dal subire gli effetti di quello che lo precede (filtro generalizzato
"*" (PatSimpleAll)).
L'utilità del FQDN
è spiegata al punto 6.8, mentre per la sua realizzazione pratica, leggete il punto della
sezione 11 relativo al vostro newsreader.
7.6 Come posso scaricare solo i
thread che mi interessano?
Questa regola può
essere utile tutte le volte in cui ci imbattiamo in newsgroup ad alto traffico e vogliamo
caricare in prima battuta tutti i messaggi che abbiano nel subject almeno una parola di
nostro interesse.
Ad esempio, se
partecipando al gruppo it.comp.software.newsreader, fossimo interessati ai soli messaggi
relativi ad Outlook Express, potremmo impiegare questa regola.
[it.comp.software.newsreader]
-9999 Subject * -"Outlook" -"OE"
La funzione del
simbolo "-" che precede il PatSimple equivale a quella del punto precedente. In
altri termini, questa ScoreRule assegna un punteggio negativo a tutti gli articoli che non
riportano almeno una delle parole contenute nelle ultime due ScorePattern, Outlook e OE.
Questa regola ha
l'inconveniente di non caricare tutti i messaggi che non riportano alcun segno
identificatore del contenuto e che magari potrebbero trattare proprio il newsreader in
oggetto. Ad esempio, il semplice messaggio: "Aiuto. Cosa è la sincronizzazione"
che con ogni probabilità si riferisce proprio ad Outlook passerà al Killfile-Log senza
essere caricato.
Non è un grosso
male, come già anticipato altrove, è sufficiente selezionare le voci ancora importanti
presenti nel Killfile-Log e poi attivare Ctrl+m. In questo modo, alla connessione
successiva, sarà possibile scaricare anche i messaggi sfuggiti.
Tuttavia,
nonostante un controllo scrupoloso delle voci presenti nel Killfile-Log, alcuni messaggi
possono sempre sfuggire poiché molti utenti non comprendono l'importanza di far capire
nel subject cosa stanno scrivendo, soprattutto quando danno per scontata la lettura del
proprio messaggio.
In questo caso,
l'unica soluzione è scaricare almeno tutti i messaggi padri dei thread, riservandoci la
scelta di seguire manualmente le eventuali repliche.
7.7 Come posso scaricare solo i
messaggi padri?
Questa regola può
essere utile tutte le volte in cui ci imbattiamo in un newsgroup ad alto traffico,
fortemente generalista e vogliamo caricare in prima battuta solo i messaggi padri o
capostipiti dei thread. Sarà nostra cura intervenire poi manualmente nel Killfile-Log con
Ctrl+m sui messaggi appartenenti ai thread che avremo reputato di nostro interesse.
Ad esempio, nel
gruppo it.news.aiuto potremo scegliere di non caricare in prima istanza tutte le repliche,
ovvero tutti i messaggi che riportano all'inizio del subject il prefisso di replica
"Re: ".
[it.news.aiuto]
-9999 Subject {^Re:\s|^R:\s}
E' da notare come
in questo caso non sia possibile fare a meno delle conoscenze di base del PCRE-style che
ci permette di realizzare un PatRegExp semplice ed efficace.
Questa regola
comprende un'alternativa al fine di individuare il maggior numero possibile di repliche.
Questa scelta è dovuta al fatto che alcune versioni di Outlook Express impiegano prefissi
fuori standard come "R: "
In realtà,
l'utilità in sé della ScoreRule creata non è determinante, ma esistono esempi di filtri
complessi con più ScoreRule interrelate, in cui tale utilità cresce in misura notevole.
E' il caso del punto 7.10
Il metodo
utilizzato non è l'unico per individuare le repliche NNTP. Inoltre, se è vero che
"Re: " rappresenta il prefisso standard, è anche vero che il suo impiego non è
obbligatorio e, quindi, qualche corrispondente Usenet potrebbe avere un newsreader che ne
fa a meno. Un altro metodo, quindi, corrisponde all'impiego dello ScoreField References al
posto di Subject o meglio ancora in suo abbinamento. Ricordo che i messaggi padri non
dispongono di alcun campo References a meno di non essere frutto di reindirizzamenti da
thread di altri gruppi (followup-to:). Avremo quindi:
[it.news.aiuto] =+1
References -"@" -9999 Subject {^Re:\s|^R:\s} -9999 References "@"
Questa è già una
forma di filtro complessa poiché le tre ScoreRule sono tra di esse interrelate. La prima
assegna un punteggio positivo a tutti i messaggi senza campo References (tutti i messaggi
con campo References riportano almeno una volta il carattere @ in quel dato ScoreField).
Il simbolo "=" all'inizio rende immuni alle regole presenti nelle ScoreRule
successive gli articoli che ottengono un punteggio. La seconda ScoreRule assegna un
punteggio negativo a tutti i messaggi con prefisso di replica nel Subject (vengono però
esclusi quelli senza References che hanno il punteggio di 1, ma teoricamente non
dovrebbero esistere messaggi che soddisfano la prima e la seconda ScoreRule). Infine, la
terza ScoreRule assegna un punteggio negativo a tutto ciò che rimane (indi messaggi di
replica con campo References, ma senza prefisso di replica)
Tuttavia,
considerando azzardata l'ipotesi del newsreader che non applica il prefisso di replica e
valutando possibile il followup-to da altri gruppi, lo ScoreBlock "eccellente"
sembra non formulabile, ma questo non è grave. Abbattere in modo sostanziale il traffico,
non comporta avere il controllo assoluto su di esso. Questa caratteristica di Usenet è
ben nota ai newsmaster che non perdono tempo ad inseguire la luna, ma si limitano a
gestire la maggior parte del feed possibile, con le risorse disponibili.
7.8 Come posso evitare i messaggi
di grandi dimensioni?
Questa regola può
essere utile se non vogliamo prodigarci a leggere messaggi di lunghezza eccessiva.
Esistono due
ScoreField che possiamo prendere in considerazione, Lines e Bytes. Il primo riguarda il
numero di righe il secondo la sua dimensione in byte del messaggio. Per avere un
riferimento tra le due dimensioni, un messaggio di 50 righe occupa circa 4.000 byte (senza
contare le intestazioni).
["*"
-"binari" -"binary"] -9999 lines %>300
Nell'esempio
precedente, abbiamo creato uno ScoreBlock che dovrebbe essere posto in testa allo
ScoreFile, prima di tutte le altre. Lo ScoreScope contiene tre ScopePattern che servono in
buona sostanza ad applicare le regole contenute nelle ScoreRule successive a tutti i
gruppi ad esclusione di quelli che riportano le parole binari o binary nel nome. La regola
nella ScoreRule evita il caricamento dei messaggi che eccedono le 300 righe.
Lo ScoreBlock
precedente equivale di fatto al seguente:
["*"
-"binari" -"binary"] -9999 bytes %>24000
7.9 Come posso limitare il
crossposting?
Il crossposting è
un fenomeno tipicamente diffuso dove ci sono gruppi generalisti che condividono parte del
proprio topic con gruppi specialisti. Su Usenet il crosspost, se non limitato con il
followup-to, viene spesso considerato come qualcosa di sbagliato poiché accade che il
thread prenda una piega diversa senza rispettare più il topic originario. Nel contempo
chi scrive lascia colpevolmente il crosspost senza curarsi dell'effetto fastidioso che
può generare sugli utenti presenti nell'altro gruppo.
Nel caso fossi ad
esempio un utente di it.discussioni.telecom e volessi evitare di leggere qualsiasi xpost
con it.discussioni.consumatori.tutela, potrei fare così:
[it.discussioni.telecom]
=-9999 Xref "it.discussioni.consumatori.tutela"
Se invece volessi
evitare tutti i messaggi in crosspost con qualsiasi gruppo potrei usare:
[it.discussioni.telecom]
=-9999 Xpost %>1
Xpost è uno
ScoreField che determina il numero di gruppi presenti nel campo Newsgroups. Xref, invece,
identifica il contenuto dell'omonimo campo delle intestazioni.
7.10 Alcuni esempi di filtri
complessi
Caso a. Seguito dei
thread di proprio interesse
[it.comp.software.newsreader]
=+1 Subject "Outlook" "OE" =+1 Message-ID "mio.FQDN" =+1
References "mio.FQDN" -9999 References "@"
In questo modo
viene data priorità agli articoli che riportano la parola Outlook o la parola OE nel
Subject. Parimenti non sono esclusi tutti i miei messaggi anche se non riportano almeno
una di quelle parole e tutti i messaggi degli altri utenti incolonnati per References su
uno dei miei. Sono scaricati comunque tutti i messaggi padre, ad eccezione di quelli in
followup-to da altri gruppi, mentre vengono accuratamente evitate tutte le repliche che, o
non sono attinenti all'argomento Outlook (Subject), o non sono miei messaggi (Message-ID),
o non appartengono ad un thread a cui io ho partecipato (References).
La stringa FQDN è
oggetto di trattazione al punto 6.8, mentre per la sua realizzazione pratica, leggete il
punto della sezione 11 relativo al vostro newsreader.
Caso b. Seguito
distaccato di un gruppo in cui compaiono racconti.
[it.arti.scrivere]
=-1 Subject {^Re:\s|^R:\s} =+1 lines %>50 -1 Subject *
Lo ScoreBlock offre
la massima visibilità agli articoli che superano le 50 righe che però non sono repliche.
A tutto il resto viene assegnato un punteggio negativo. In altre parole, possiamo leggere
gli articoli (presumibilmente racconti) che superano un certo numero di righe ma, allo
stesso tempo, scartiamo tutti i messaggi lunghi che, con ogni probabilità, costituiscono
repliche e spunti di discussione sul contenuto dei racconti. Non ci interessiamo ai
messaggi brevi, anche se originari, perché presupponiamo che possano essere sonetti,
poesie o altro.
Lo ammetto, questa
logica che valuta la letteratura per numero di righe farebbe accapponare la pelle a
qualsiasi insegnante, ma lasciamo liberi di partecipare gli utenti nelle forme che loro
desiderano ;-))
7.11 Come posso filtrare la posta
elettronica?
Hamster permette di
filtrare la posta elettronica solo da una versione relativamente recente, ovvero la
1.3.14.
7.12 Cos'è HamScore? A cosa serve?
Dove si scarica?
HamScore è un
utility che interagisce con il database di Hamster e serve per testare ScoreRule di cui
non si è sicuri sul parco articoli disponibile, in modo da non arrecare danni nel
trasporto news dai server remoti.
HamScore è
liberamente scaricabile da: http://home.knuut.de/heiko.rost/
La lingua
utilizzata è il tedesco, ma il programma offre solo due o tre funzioni essenziali e
comprensibili.
Per installare
HamScore basta decompattare il relativo file .zip nella stessa cartella di Hamster.
Quando vogliamo
realizzare una nuova regola o una serie di esse, possiamo usare tranquillamente lo
Scorefile di Hamster per poi testarne gli effetti sul parco dei messaggi presenti nella
cache.
Creata la nuova
regola, lanciate HamScore, selezionate il gruppo oggetto del vostro interesse e premete
[Start]. Alternativamente, doppio click sul gruppo. HamScore comincerà immediatamente a
setacciare dentro il database di Hamster la corrispondenza alle regole che avete creato.
Se HamScore si dovesse bloccare, il fatto è causato con ogni probabilità da regole
sintatticamente sbagliate. Al termine, nei due grandi riquadri appariranno, da una parte
l'elenco degli articoli presenti nel gruppo ordinabili per i vari ScoreField e per Score,
dall'altra le ScoreRule applicate nel gruppo corrente (comprendendo anche quelle globali).
Potrete quindi verificare se lo score applicato sugli articoli soddisfa le vostre esigenze
iniziali, senza aver rischiato di arrecare danni agli articoli, e senza aver perso
inutilmente tempo online. Inoltre, nell'elenco degli articoli potrete vedere anche un
singolo articolo semplicemente aprendolo con il doppio click. Se l'esperimento riesce,
potrete subito passare alla connessione al server remoto.
7.13 Cosa sono le espressioni
regolari? Cosa è il PCRE?
Questo argomento è
oggetto di trattazione articolata e completa in un'altra guida, precisamente potete
scaricarla da: http://www.geocities.com/fashionavenue/1075
La PCRE library è
un set di funzioni che implementano espressioni regolari con condizioni da soddisfare
usando la stessa sintassi e semantica del Perl 5 (con qualche piccola differenza).
Una espressione
regolare è una condizione, o un modello di condizioni, che deve essere soddisfatta da una
stringa, partendo da sinistra verso destra. All'interno di un modello, la maggior parte
dei caratteri vale per sé e misura o soddisfa i corrispondenti caratteri oggetto della
nostra attenzione. Alcuni di essi, invece, operano come caratteri speciali o
metacaratteri.
Come si è visto in
precedenza (punto 7.2), in Hamster un Pattern o modello può essere realizzato sia come
PatSimple che come PatRegExp. RegExp è il termine usato per abbreviare le parole
"regular expression" (espressione regolare).
Realizzare un
PatRegExp in Hamster è piuttosto semplice. La stessa cosa non si può dire per le
espressioni regolari racchiuse al suo interno che richiedono almeno un po' di familiarità
nel loro utilizzo e sono da sconsigliare se la funzione assolta può essere parimenti
svolta da un PatSimple.
Così, con il
modello "$$$" e il PatRegExp {$$$}, potremo scrivere la seguente ScoreRule:
-9999 Subject {$$$}
In questo modo, non
caricheremo più ogni messaggio che riporta la stringa {$$$} all'interno del suo subject,
in qualsiasi posizione sia essa contenuta. Una regex, quindi, per essere definita come
tale deve essere racchiusa all'interno delle parentesi graffe "{" e
"}". Tali parentesi non sono presenti sulla tastiera italiana, ma possono essere
facilmente riprodotte usando contemporaneamente " Shift + Alt Gr + [ " (]),
oppure in tutte le altre tastiere con le combinazioni di tasti Alt+123 e Alt+125.
Nonostante
l'incremento costante della potenza di calcolo dei processori, esistono alcuni modelli
(formati da ripetizioni, alternative e subpattern) particolarmente complessi che
richiedono diverso tempo per essere risolti. Ciò porta, se non si è accorti, a un
deprimento delle prestazioni del sistema, ma soprattutto a ritardi nell'esecuzione delle
operazioni online.
In ogni caso, è
raro, almeno per quanto riguarda i filtri Usenet, avere bisogno di modelli così
complessi.
Sezione 7a: I filtri e-mail di
Hamster "(root)\MailFilt.hst"
7a.1 A cosa servono i filtri
e-mail? Il file"(root)\MailFilt.hst"
Le regole presenti
nel file "MailFilt.hst" determinano: a. quali email saranno scaricate dai server
POP3 di posta; b. cosa fare con le email una volta scaricate.
In altri termini,
questo file da modificare manualmente con il blocco note di Windows, permette di scrivere
regole che possono bloccare in partenza determinate email o, in alternativa, predisporre
percorsi diversi quali, ad esempio, la consegna a un utente locale piuttosto che
all'amministratore.
7a.2 Come evitare di scaricare la
posta indesiderata dal server?
Se il file
MailFilt.hst contiene una regola "ignore" o "kill", Hamster per prima
cosa proverà a caricare le intestazioni della posta disponibile e, solo se alla fine le
regole diranno "yes, it's ok to load them", la posta verrà scaricata
completamente e inoltrata al loro destinatario finale.
* Ogni email
comincia con "yes, it's ok to load it". * Se una regola "ignore"
corrisponde, il messaggio email non sarà caricato completamente e verrà inoltrato ai
destinatari finali. * Se una regola "kill" corrisponde, il messaggio email non
sarà caricato, ma cancellato. * Se una regola "load" corrisponde, verrà
revocata una regola "ignore" o "kill" precedentemente corrisposta.
In modo
predefinito, "ignore" e "kill" funzionano "silenziosamente",
così solo Hamster conosce se e quali messaggi sono stati realmente ignorati o cancellati.
Per abilitare la notifica per ogni email che è stata ignorata o cancellata, aggiungete
una riga "notify".
Nota: l'opzione
"[X] Leave mails on server, i.e. do not delete them" ha una priorità più alta
delle regole fornite in Mailfilt.hst. In questo modo, con la spunta di questa casella, se
una regola dicesse "cancella questa email", essa non verrebbe comunque
cancellata .
7a.3 Come destinare la posta a un
destinatario o a un newsgroup?
Dopo che un
messaggio email è stato scaricato, deve essere inoltrato al suo destinatario finale. Il
secondo gruppo di regole determina in quali mailbox (account) locali o in quali newsgroup
debba essere archiviata la posta.
* Ogni email
comincia con un elenco vuoto di destinatari e newsgroup. * Se una regola "add"
corrisponde, il destinatario dato sarà aggiunto all'elenco dei destinatari. * Se una
regola "del" corrisponde, il destinatario dato sarà rimosso dall'elenco dei
destinatari. * Se una regola "set" corrisponde, l'elenco dei destinatari sarà
sostituito con il destinatario dato. * Se una regola "postto" corrisponde, il
newsgroup dato sarà aggiunto all'elenco dei newsgroup.
La regola
"addaccounts" controlla se un certo campo nelle intestazioni contiene indirizzi
email conosciuti da Hamster. Se viene individuato un indirizzo email locale (specialmente
uno di quelli definiti sotto "Local Accounts"), l'account corrispondente viene
aggiunto all'elenco dei destinatari.
Se, dopo il test di
tutte le regole, entrambi gli elenchi, destinatari e newsgroup, sono ancora vuoti, il
messaggio email non verrà perso, ma inviato all'account predefinito. Questo account è
sempre l'amministratore a meno che non venga definito un diverso account locale o utente
attraverso l'ultimo parametro di un comando script per fetchmail, come
ControlRunFetchMail, oppure a meno che non sia inserita una riga "default" in
MailFilt.hst.
7a.4 Una veduta generale della
sintassi di MailFilt.hst
MFilterFile = *(
MFilterBlock / cEOL ) MFilterBlock = MFilterScope *( MFilterRule / cEOL ) MFilterScope =
"[" ScopePattern *( 1*WSP ScopePattern ) "]" cEOL MFilterRule =
["="] ( MRuleLoad / MRuleDeliver ) cEOL
MRuleLoad =
"load" [ "(" ")" ] 1*WSP MSelection MRuleLoad =/
"ignore" [ "(" ")" ] 1*WSP MSelection MRuleLoad =/
"kill" [ "(" ")" ] 1*WSP MSelection MRuleLoad =/
"notify" [ "(" AccountList ")" ]
MRuleDeliver =
"default" "(" AccountList ")" MRuleDeliver =/
"addaccounts" [ "(" ")" ] 1*WSP MDefaultField MRuleDeliver
=/ "add" "(" AccountList ")" 1*WSP MSelection MRuleDeliver
=/ "set" "(" AccountList ")" 1*WSP MSelection MRuleDeliver
=/ "del" "(" AccountList ")" 1*WSP MSelection MRuleDeliver
=/ "postto" "(" NewsgroupList ")" 1*WSP MSelection
MSelection =
MDefaultField 1*( 1*WHSP MSelectPattern )
MDefaultField = [
"~" ] [ "*" ] ( MSingleField / MGroupedField ) MSingleField = (
<Name of any header-field> / "Bytes" ) [ ":" ] MGroupedField = (
"Any-Sender" / "Any-Recipient" ) MSelectPattern= [ "+" /
"-" ] [ "@" MSingleField ":" ] Pattern
AccountList =
<account-name> *( "," <account-name> ) NewsgroupList =
<newsgroup-name> *( "," <newsgroup-name> )
ScopePattern = [
"+" / "-" ] Pattern
Pattern = (
PatRegExp / PatSimple )
PatRegExp =
"{" <PCRE-style regex-pattern> "}" PatSimple = ( PatSimpleAll /
PatSimpleText / PatSimpleNumber ) PatSimpleAll = "*" PatSimpleText =
""" <Text> """ PatSimpleNumber = "%" (
"<" / "=" / ">" ) <Number>
cEOL = [
"#" <Commento> ] CRLF CRLF = ritorno a capo / nuova riga
Filter-Scope:
Ogni blocco
comincia con un'intestazione "[...]" che descrive gli elementi distintivi
(identifiers) per i quali la corrispondente regola dovrà essere applicata. L'unico modo
per impostare questi contrassegni è l'ultimo parametro di un comando script fetchmail
(ControlRunFetchMail), ad esempio:
fetchmail
"pop3.serv.er" "pop3" "$7" ""
"admin,identifier"
[*] # regole valide
per tutte le email, indipendentemente # dall'elemento distintivo o contrassegno
considerato.
[private] # regole
valide per tutte le email caricate con il contrassegno # "private"
[* -private] #
regole valide per tutte le email, a eccezione per quelle con il # contrassegno
"private"
Filter-Rules:
Nota: la seguente
descrizione copre solamente le principali differenze tra i filtri mail e quelli news. Per
maggiori dettagli su Pattern (modelli) e tutto il resto, leggete la sezione 7.
Diversamente dai
filtri news, ogni regola comincia con una specifica "parola chiave" (keyword)
seguita dai suoi parametri all'interno di due parentesi.
kill() From:
"spammer@conosciuto.it"
add(john) To:
"john@mail.serv.er" postto(hamster.ehamster) To:
"ehamster@egroups.com"
Il campo speciale
"Bytes" permette di filtrare in base alla dimensione del messaggio:
ignore() Bytes:
%>100000
Il campo speciale
"Any-Sender" controlla tutti i seguenti campi: "From:"
"Apparently-From:" "Sender:" "Reply-To:"
"X-Sender:" "Envelope-From:" "X-Envelope-From:"
Ad esempio: load()
Any-Sender: "boss@compa.ny" -@Subject:"You are fired!"
Il campo speciale
"Any-Recipient" controlla tutti i seguenti campi: "To:"
"Apparently-To:" "CC:" "BCC:" "Envelope-To:"
"X-Envelope-To:".
Ad esempio:
add(john) Any-Recipient: "john@mail.serv.er" add(jane) Any-Recipient:
"jane@mail.serv.er" addaccounts() Any-Recipient:
Se un nome campo è
preceduto con "~", prima di filtrare il valore del dato campo sarà decifrato in
MIME.
Ad esempio: load()
~To: "jürgen"
In modo
predefinito, solo la prima intestazione (header) che corrisponde al dato campo verrà
testata. Se un nome campo viene preceduto da "*", tutte le intestazioni con quel
nome verranno testate:
Ad esempio:
add(john) *Received: "john@"
Esempi:
Consegna la posta
basata su un indirizzo locale conosciuto.
[*] addaccounts()
Any-Recipient: addaccounts() *Received:
Invia la posta
delle mailing-list che trattano di Hamster ai newsgroup locali (e una ulteriore copia di
ogni messaggio all'amministratore "admin", fino a quando non sarete sicuri che
funzioni secondo le vostre aspettative...).
[*]
postto(hamster.ml.usehamsternet) To: "usehamsternet@egroups.com" add(admin) To:
"usehamsternet@egroups.com" postto(hamster.ml.ehamster) To:
"ehamster@egroups.com" add(admin) To: "ehamster@egroups.com"
Sezione 8: Gli script di Hamster
(tratta dalla guida online di Hamster escluso il punto 8.4)
8.1 A cosa servono gli script?
Gli script di
Hamster servono a fornire un metodo per semplificare il lancio di compiti ricorrenti. Gli
script permettono inoltre di personalizzare in una semplice funzione un lungo e complesso
elenco di compiti da soddisfare.
Ad esempio,
potremmo voler realizzare uno script per spedire solo i messaggi con un dato news server,
ecc.
8.2 Cos'è e come si lancia uno
script?
Uno script è un
semplice insieme di istruzioni, realizzate attraverso appositi comandi, che risiede in un
file di testo con estensione *.hsc. Hamster ne fornisce un esempio con default.hsc che si
trova nella cartella principale.
Uno script per
essere operativo, deve essere salvato come file .hsc all'interno della cartella principale
di Hamster. E' sufficiente creare un file di testo con il blocco note di Windows, ad
esempio script.txt, per poi modificarne solo l'estensione. Windows non offre in modalità
predefinita la possibilità di visualizzare (e cambiare) le estensioni dei file, quindi
questa operazione dovrà essere compiuta in Ms-Dos, in questo modo:
c:\>cd\hamster
<--- nell'ipotesi che la vostra cartella principale si chiami hamster e si trovi
direttamente in C: c:\>ren newscript.txt newscript.hsc
c:\>exit
A questo punto, per
lanciare lo script che abbiamo creato, dovremo avviare Hamster (oppure riavviarlo se era
già in esecuzione) e verificare che lo script creato appaia nell'elenco del menù Script.
8.3 Quali sono i comandi
utilizzabili negli script?
I comandi che
possono essere incorporati in uno script sono:
{ quit }
ferma l'esecuzione
dello script
{ restart }
riavvia lo script
dall'inizio
{ call
"scriptname.hsc" }
Chiama ed esegue il
dato script. Una volta terminato lo script figlio, il genitore continua dopo la riga
"call".
{ wait.delay
milliseconds }
attende il dato
numero di millisecondi (1/1000 di secondo). Esempio: wait.delay 5000
{ wait.until
timepoint1 timepoint2 timepoint3 ... }
attende fino a uno
dei dati punti di tempo. I tempi devono essere espressi nella forma "hh.mm".
Esempio: wait.until 02.00 08.00 12.00 18.00 21.00
{ wait.idle }
attende fino alla
chiusura di tutti i task attivi (come purging, pulling news, sending mail, ecc.). Esempio:
wait.idle
{ mail.pull
["ServerList"] }
avvia il thread,
che prima attira la nuova posta dal mailserver e poi invia all'esterno le mail (se
presenti). Se omettete ServerList (elenco dei server) oppure lo impostate come stringa
vuota (""), tutti i server POP3 e SMTP definiti in Hamster potranno essere
usati. Altrimenti, il trasferimento è ristretto ai server indicati nell'elenco.
Se è presente un
elenco dei server, deve essere costituito dai nomi dei server separati da un punto e
virgola (";"). I nomi dei server devono essere espressi nello stesso formato
come mostrato nelle impostazioni di Hamster (ovvero nomeserver + "," + porta).
Esempio: mail.pull Esempio: mail.pull
"mail.aaa.com,pop3;mail.bbb.com,pop3;mail.aaa.com,smtp"
{ fetchmail Server
Port User Pass DestUser }
Avvia un thread,
che attira la posta da un dato server POP3 (Server, Port).
Se si forniscono in
chiaro username e password, saranno usati per autenticare il server, se sono entrambi
vuoti, saranno usate le impostazioni user/pass per il dato server. Inoltre, una delle
password archiviate può essere richiamata per evitare la sua messa in chiaro all'interno
dello script (User="$(number)", Pass=""). Se viene fornito il nome
dell'utente destinatario (DestUser), la posta scaricata sarà archiviata nella mailbox di
questo utente, altrimenti sarà usata la mailbox dell'amministratore. Il nome può
opzionalmente essere seguito da una virgola e un elemento distintivo o contrassegno
(identifier) che determina la filter-section da usare per la posta scaricata con questo
comando (sono predefiniti i filtri globali, ovvero la sezione "[*]" in
MailFilt.hst). Esempi: fetchmail "pop3.serv.er" "" ""
"" "" fetchmail "pop3.serv.er" "pop3"
"john.doe" "secret" "john" fetchmail
"pop3.serv.er" "10110" "$7" "" "jane"
fetchmail "pop3.serv.er" "pop3" "$7" ""
"admin,myfilters"
{ sendmail Server
Port FromSelection }
Avvia un thread che
spedisce la posta al dato server SMTP (Server, Port). Se non è presente alcuna
"FromSelection", tutta la posta in attesa di inoltro viene spedita. Se invece è
presente una selezione (espressione regolare), solo la posta che riporta un Envelope-From
corrispondente sarà spedita a questo server. Esempi: sendmail "smtp1.serv.er"
"smtp" "john\.doe@serv\.er" sendmail "smtp2.serv.er"
"" ""
{ news.post
["ServerList"] }
Avvia un thread che
spedisce nuovi articoli news (se presenti). Se l'elenco dei server (ServerList) è
impostato a stringa vuota (""), potranno essere usati tutti i server NNTP
definiti in Hamster. Altrimenti, il trasferimento è ristretto ai server dati (leggete
mail.pull per avere visione dei dettagli sul formato impiegato per scrivere l'elenco dei
server).
{ news.pull
["Serverlist"] }
Avvia i thread che
richiameranno i nuovi articoli dai news server. Se l'elenco dei server (ServerList) è
impostato a stringa vuota (""), potranno essere usati tutti i server NNTP
definiti in Hamster. Altrimenti, il trasferimento è ristretto ai server dati (leggete
mail.pull per avere visione dei dettagli sul formato impiegato per scrivere l'elenco dei
server).
{ news.purge
[PurgeOptions] }
Avvia un thread
purge (ovvero la cancellazione dei vecchi dati). Il parametro "PurgeOptions" è
"bit-oriented", nel senso che accetta solo due valori, e descrive quali dati
debbano essere cancellati (bit0=1=articles, bit1=2=voci history, bit2=4=killfile-log,
bit3=8=voci mailhistory). Se omettete questo valore, tutti i tipi di vecchi dati saranno
"purgati". Esempio: news.purge Esempio: news.purge 15
{
news.rebuildhistory }
Avvia un thread che
cancella i file history correnti (".\Groups\Hist???.dat") e lo ricostruisce
aggiungendo i Message-ID di tutti gli articoli archiviati in Hamster.
Nota: Questo può
occupare diverso tempo con migliaglia di articoli, perciò dovrebbe essere usato solo se
strettamente necessario! Dopo aver lanciato questa funzione, aspettate fino a quando
Hamster avrà terminato.
{
news.rebuildgloballists }
Inizia un thread
che ricostruisce alcuni elenchi necessari per Hamster (leggete il menu: "File ->
Rebuild global lists" per maggiori dettagli).
{ setlogin
"Identifier" "Username" "Password" }
Imposta
temporaneamente username e password per il dato "Identifier", che può essere
sia il nome di una connessione RAS, sia il nome di un news/mailserver.
"Temporaneamente" significa che questa impostazione non viene salvata in un file
ma tenuta in memoria fino alla chiusura di Hamster.
Se lo username e/o
la password sono impostati con un punto interrogativo ("?"), Hamster ve ne
chiederà il contenuto non appena ne avrà bisogno. Inoltre, una delle password archiviate
può essere richiamata dallo script per evitarne la messa in chiaro nello stesso. Esempio:
setlogin "RAS-connection" "DoeJohn" "Secret!" Esempio:
setlogin "news.xxx.com" "DoeJane" "42" Esempio: setlogin
"ser.verna.me" "$11" ""
{ ras.dial
"ConnectionID" ["Username" ["Password"]] }
Questa funzione
attiva la connessione di accesso remoto (RAS) chiamata "ConnectionID". Lo
username e/o la password possono essere impostati come stringhe vuote (""). In
questo caso, le impostazioni memorizzate in Accesso remoto (se ci sono) oppure i valori
archiviati in Hamster saranno impiegati per attivare la connessione. Se il dialogo
relativo fallisce, lo script sarà fermato. Esempio: ras.dial "RAS-connection"
"DoeJohn" "Secret!" Esempio: ras.dial "RAS-connection"
{ ras.hangup }
Chiude la connessione di accesso remoto (RAS) attivata da "ras.dial". Esempio:
ras.hangup
{ msgbox
"message" } Mostra il dato messaggio. Esempio: msgbox "Script
finished!"
{ start.wait
"command and parameters" } Avvia un programma esterno con i parametri dati. Lo
script viene sospeso fino a quando il programma esterno non ha terminato. Esempio:
start.wait "before-dial.bat"
{ start.nowait
"command and parameters" } Come "start.wait", ma Hamster non
aspetterà fino a quando il programma esterno avrà finito. Lo script continua. Esempio:
start.nowait "after-connected.bat"
{ message
msg-number [parameter] } Avvia alcune funzioni di Hamster, normalmente disponibili e
accessibili attraverso le voci nei suoi menù.
msg-number
parameter scopo 1 none Chiude Hamster 2 none Reimposta log e contatori 3 0=stop, 1=start
Start/Stop NNTP-server locale 4 0=stop, 1=start Start/Stop POP3-server locale 5 0=stop,
1=start Start/Stop SMTP-server locale 6 0=hide, 1=show Mostra/Nascondi la finestra princ.
7 0=hide, 1=show Mostra/Nascondi l'icona systray Esempio: message 2 Esempio: message 3 0
Esempio:
wait.idle
# purge # wait.idle
ras.dial "name
of ras-connection"
mail.pull news.post
wait.idle
news.pull wait.idle
ras.hangup
8.4 Dove posso trovare
documentazione sugli script?
A quanto mi è dato
sapere, non esiste documentazione in inglese, né tanto meno in lingua italiana. Al
momento le uniche informazioni sono disponibili in lingua tedesca presso l'URL http://home.t-online.de/home/micha-wr/hamster/scriptarchiv.htm
Si auspica la
creazione di un database degli script, descritto in lingua italiana.
8.5 Come lanciare uno script con un
collegamento sul desktop?
Sì ed è piuttosto
semplice. E' sufficiente creare un nuovo collegamento (shortcut) a "Hamster.exe"
seguito dal nome del file contenente lo script che si vorrebbe lanciare. Potreste, ad
esempio, creare una cartella di rapido accesso con tutte le funzioni che ritenete
importanti.
Sezione 9: I file e le cartelle di
Hamster (tratto dalla guida online di Hamster)
9.1 Da quali file è composto
Hamster?
Hamster organizza
la posizione dei file in questa struttura di directory.
(root) | | +-- Server | | | +-- (nomi dei server) | +-- Groups | | | +-- News.Out | | | +-- (nomi dei gruppi) | +-- Mails | | | +-- Mail.Out | | | +-- admin | +-- Logs
==> I file
presenti in (root) sono:
Hamster.exe il vero
e proprio motore del programma
Hamster.hlp il file
help
Hamster.ini le
impostazioni di Hamster (leggete il punto 9.3)
Changes.txt la
storia dei cambiamenti apportati
Groups.hst elenco
dei gruppi esistenti in Hamster
Pulls.hst elenco
dei gruppi da caricare dai news server
Server.hst,
SrvPOP3.hst, SrvSMTP.hst elenco dei server NNTP, POP3 e SMTP.
Password.!!! elenco
cifrato delle password
Accounts.!!!
account locali e relative impostazioni.
IPAccess.hst
accoglie/rifiuta connessioni in relazione agli indirizzi dei client.
Scores.hst
scorefile impiegato nel carico news.
MailFilt.hsd filtri
impiegati quando si scarica la posa remota
Ham.exe utility a
linea di comando per vedere ed esportare articoli news (leggete "ham help" per
maggiori dettagli).
h*.hsc, demo*.hsc
Hamster-Scripts
h*.pl, demo*.pl
Perl-Scripts
h*.vbs, demo*.vbs
VBScript-Scripts ("Windows Script Host")
>>> I file
presenti in "(root)\Server" sono:
allpulls.txt
conteneva un elenco di gruppi che fornivano pull da ogni singolo newsserver locale. E'
stato introdotto con la versione 1.3.15, ma dalla versione 1.3.16 è stato escluso poiché
il suo aggiornamento all'avvio di Hamster poteva causare problemi con gli script. Se usate
la versione 1.3.16 o successive potete cancellarlo.
alldescs.txt
contiene un elenco di tutti i gruppi disponibili con la loro descrizione. Formato:
nome-gruppo TAB descrizione-gruppo
>>> I file
presenti in "(root)\Server\(nomeserver)" sono:
Greeting.txt
Messaggio di benvenuto iniziale del server remoto
Groups.txt Elenco
dei gruppi disponibili sul server remoto
Help.txt Comandi
NNRP supportati dal server remoto e aiuto relativo.
NewGrps.txt Elenco
dei nuovi gruppi sul server (Anche "Groups.txt" sarà aggiornato.
GrpDescs.txt Elenco
delle descrizioni-gruppo caricate dal server.
Overview.txt Campi
restituiti dal server con il comando xover
Server.ini Opzioni
specifiche per server (approfondimento al punto 9.4)
GetMids.txt Elenco
di Message-ID da caricare dal server (impiegato per caricare articoli tramite
"Killfile-Log -> Mark article for retrieval"). Se un Message-ID è preceduto
con "!", sarà richiesto al server, anche se è già segnato come conosciuto nel
file history.
>>> I file
presenti in "(root)\Groups" sono:
History.dat File
residuo di vecchie installazioni di Hamster. Non serve.
Hist4??.dat Un
elenco di informazioni sugli articoli (in primo luogo un MD5-hash di Message-ID) usato per
riconoscere articoli già caricati e per trovare dopo articoli attraverso il Message-ID.
Kills.log
Intestazioni di articoli non caricati a causa delle impostazioni scorefile.
>>> I file
presenti in "(root)\Groups\News.Out" sono:
*.msg Si tratta di
messaggi in uscita (leggete il punto 9.2)
>>> I file
presenti in "(root)\Groups\(nomegruppo)" sono:
data.dat Dati degli
articoli.
data.idx Indice
degli articoli archiviati in "data.dat".
data.ini
Informazioni e impostazioni in base al gruppo.
>>> I file
presenti in "(root)\Mails" sono:
MHistory.dat Simile
al file history della cartella "groups", questo file è usato per riconoscere
mail già caricate.
>>> I file
presenti in "(root)\Mails\Mail.Out" sono:
*.msg Posta
inoltrata al server SMTP locale (ogni messaggio separato in un singolo file di testo; le
righe per guidare l'SMTP sono segnate con un punto esclamativo "!"). La posta
sarà cancellata dopo l'invio al server SMTP remoto.
>>> I file
presenti in "(root)\Mails\admin" sono:
*.msg Mail
scaricate da un server POP3 remoto (ogni mail in un singolo file di testo.
>>> I file
presenti in "(root)\Logs" sono: 0.log, 1.log, 2.log, ... Si tratta di file log
monitoranti le sessioni di Hamster. Ogni volta in cui Hamster viene avviato, i file sono
rinominati in base a una unità (0.log->1.log, 1.log->2.log, ...). "0.log"
è sempre il log più recente.
MailIn.log Contiene
informazioni per ogni mail caricata da server POP3 remoti.
MailOut.log
Contiene informazioni per ogni mail spedita a server SMTP remoti.
RasDial.log
Contiene una voce per ogni connessione dial-up iniziata da Hamster
9.2 Dove risiedono i messaggi in
uscita? Come posso cancellarli?
Un messaggio
inoltrato attraverso Hamster e, quindi, in attesa dell'invio definitivo, viene salvato in
una apposita cartella. Bisogna distinguere tra messaggi news che sono salvati in:
(root)\groups\news.out
e messaggi di posta
elettronica, salvati in
(root)\mails\mails.out
Ogni articolo viene
salvato in un singolo file di testo. Saranno cancellati dopo averli spediti al
news/mailserver Se configurato in modo da aggiungere un Message-ID prima di spedire
l'articolo, Hamster svolgerà questa funzione solo se il Message-ID è assente. Hamster
non sovrascrive Message-ID esistenti.
Nota: Hamster
aggiunge una intestazione "X-Posting-Agent: Hamster Vr. ..." su ogni articolo
prima della spedizione.
9.3 Hamster.ini. Le opzioni manuali
di Hamster.ini.
Hamster.ini è il
file deputato a gestire le opzioni di Hamster da impostare manualmente.
[Setup]
; Disabilita le
intestazioni di Hamster "X-Posting-Agent", ; rispettivamente per news/mail:
news.addxhamster=0 mail.addxhamster=0
; Disabilita
l'intestazione "received" nelle intestazioni della ; posta elettronica:
mail.addreceived=0
; Timeout in minuti
dopo di quale il server locale disconnette ; i client inattivi (nativo 60):
local.timeout.inactivity=60
; Tempo in
millisecondi che Hamster attende prima di chiudere ; una connessione dopo un comando nnrp
"quit" (nativo 100 ms): local.timeout.quitdelay=100
; Tempo in secondi,
nel quale un'autenticazione POP3 rimane ; valida per SMTP-after-POP3 (nativo 300 s,
leggere punto 6.8) local.smtpafterpop3.period=300
; Limiti per
lunghezza delle righe e dimensione del testo ; inviabili a un server locale di Hamster. Se
uno di questi limiti ; viene superato, la connessione sarà fatta cadere ; (default:
1000/2MB; 0 per disabilitare): local.limit.linelen.nntp=1000 local.limit.linelen.pop3=1000
local.limit.linelen.smtp=1000 local.limit.textsize.nntp=2097152
local.limit.textsize.pop3=2097152 local.limit.textsize.smtp=2097152
; Secondi entro i
quali i server remoti devono rispondere (durante ; la connessione/dopo l'invio di un
comando) prima che Hamster ; replichi con un 'no response from server' (nativo 120 s).
remote.timeout.connect=120 remote.timeout.command=120
; Rimuove il
Message-ID dalla posta spedita al server SMTP locale, ; se il suo FQDN è uno di questi
elencati separati da una virgola mail.removemids=fqdn1,fqdn2,fqdn3,...
; Definisce come
viene costruita la parola chiave impiegata per ; decifrare le voci presenti nel file delle
password. ; Se pari a "1", lo user-name non è usato per essa (es: su NT, se ;
Hamster viene usato per login differenti.) Se pari a "2", non ; sono usate
nemmeno le caratteristiche del sistema operativo. ; Nota: dovete riavviare Hamster e
reimpostare nuovamente tutte le ; password dopo aver cambiato questo valore!
password.codebase=0
; Se l'invio di una
mail fallisce per qualsiasi ragione, Hamster ; proverà nuovamente per un dato numero di
volte (.max=...). ; Alla fine, la mail non consegnabile sarà rinominata in
"*.err" ; (.del=0) oppure cancellata (.del=1) per evitare ulteriori ; tentativi
a vuoto. sendmail.attempts.max=10 sendmail.attempts.del=0
; Filtri globali
per la posta scaricabile basati sulla dimensione ; dei messaggi (riportata attraverso
l'iniziale comando List). Se ; un messaggio eccede quella data dimensione, viene ignorato
; (.ignore), cancellato (.kill) oppure comporta l'invio di una ; notifica
all'amministratore (.notify). : Un valore di 0 (default) disabilita questi filtri, che
hanno una ; priorità più alta dei filtri e-mail definiti in MailFilt.hst.
mail.filter.mailsize.ignore=0 mail.filter.mailsize.kill=0 mail.filter.mailsize.notify=0
; Numero di righe
del corpo-email da caricare quando si scaricano ; le intestazioni per filtrare le email.
Queste righe sono incluse ; nel messaggio di notifica quando una email viene ignorata o ;
cancellata. mail.filter.toplines=20
; Numero di giorni
per conservare le voci in mail-history ; (default: 14). purge.mhistory.keepdays=14
; Il file history
viene diviso in più file e questa opzione ; controlla, quanti file sono usati
("0"=1 file, "2"=4 file, ..., ; "8"=256 file). Il valore
nativo è "4" che da di 2^4=16 file, ; che dovrebbero essere sufficienti nella
maggioranza dei casi. ; Per cambiare il numero dei file usati (non raccomandabile per ;
installazioni con meno di 100.000-200.000 articoli): ; 1. chiudete Hamster ; 2. modificate
l'opzione "history-chunkbits" ; 3. cancellate "hist*.dat" nella
directory "groups" ; 4. avviate Hamster per ricostruire automaticamente i file.
history.chunkbits=4
9.4 Server.ini. Le opzioni manuali
per ogni singolo news server.
Server.ini ha la
funzione di assegnare impostazioni manuali specifiche ai server remoti gestiti da Hamster.
[Setup] ; Se
ReadOnly è uguale a 1, i news server non saranno usati ; per spedire articoli (default:
0). ReadOnly=0
[Newgroups] ; Se
4-Digit-Years è uguale a 1, il comando NNRP "newgroups" sarà ; gestito con il
formato "YYYYMMDD ..." (nativo: 0 = 2 cifre). 4-Digit-Years=0 ; Normalmente,
"LastGMT" contiene la data dell'ultimo caricamento ; dei nuovi gruppi. Per
disabilitare il carico di nuovi gruppi, ; potete impostarlo a "NEVER" (ovvero,
mai). LastGMT=NEVER
[Pull] ; Numero di
thread avviati nel caricamento delle news (intervallo ; da 0-4, con valore nativo di 2). ;
Nota: la policy di alcuni server potrebbe richiedere di non ; usare valori più alti di 1,
2 o 3. Il valore predefinito di ; "2" dovrebbe andare bene per la maggioranza
dei server ma, nel ; dubbio, chiedete al vostro newsmaster quante connessioni ; simultanee
("sockets") sono permesse da quel server. Threads=2
9.5 IPAccess.hst. La connessione
dei client locali e remoti
Funzione: consente
o rifiuta la connessione ai server locali in base all'indirizzo IP dei client che si
connettono.
Formato: semplice
testo
I commenti iniziano
con "#" o ";" e possono essere aggiunti per migliorarne la
leggibilità.
Ogni riga è
composta di 3 o 4 voci separate da una virgola (","):
1.) Scope
Questa voce
descrive, quali server locali sono influenzati dalle modifiche. Per esempio, una riga che
inizia con "NNTP" influenzerà i soli server NNTP, ma non quelli POP3/SMTP
Keywords:
NNTP: Local
NNTP-server POP3: Local POP3-server SMTP: Local SMTP-server MAIL: Local POP3- and
SMTP-server ALL: All local servers
2.) Access
Questa voce descive
se un client può connettersi al dato server locale e quali azioni gli sono permesse.
Keywords:
RW: consente
scrittura e lettura (Read/Write) WO: consente la sola scrittura (Write-Only) RO: consente
la sola lettura (Read-Only) NA: blocca l'accesso (No Access)
Scopo Accesso
Effetto NNTP RW/RO Il client può leggere articoli. NNTP RW Il client può leggere e
spedire articoli. POP3 RW/RO Il client può scaricare la posta. SMTP RW/WO Il client può
spedire la posta (relay). (all) (other) La connessione viene rifiutata.
3.) Range of
IP-addresses (low address) 4.) Range of IP-addresses (high address)
Il limite superiore
può essere omesso se si tratta di un solo indirizzo.
> Impostazioni
speciali per gli indirizzi IP locali <
La keyword
"LOCAL" nel campo 3 dice a Hamster che tutti gli indirizzi IP locali dovranno
essere trattati come gli indirizzi forniti nel 4° parametro. Questa impostazione è
particolarmente utile, se gli indirizzi locali sono assegnati dinamicamente, ad esempio
gli indirizzi assegnati da un server DHCP o assegnati dal vostro provider in dial-up.
I campi 1 e 2 non
hanno alcun significato in questo caso, ma devono essere sintatticamente corretti.
Esempio: # tutti
gli indirizzi IP locali dovranno essere trattati come # 127.0.0.1: ALL, NA, LOCAL,
127.0.0.1
Note aggiuntive:
(*) L'elenco di
definizione viene caricato solo all'avvio di Hamster, così dovete riavviare Hamster dopo
un'eventuale modifica del file.
(*) Dato che
Hamster è pensato per essere usato "a casa", l'impostazione predefinita è
quella di permettere pieno accesso a tutti i server locali per indirizzi 127.0.0.1 e
192.168.0.0 - 192.168.255.255. Inoltre, tutti gli indirizzi IP locali vengono trattati al
pari di "127.0.0.1".
Per modificare
questo comportamento, dovete creare un file chiamato "IPAccess.hst" nella
cartella root di Hamster e aggiungere almeno una valida regola di definizione.
(*) L'elenco di
definizione è testato dall'alto verso il basso e viene usata la prima corrispondenza di
definizione valida. Se non si corrisponde alcuna definizione, la connessione sarà
rifiutata.
Esempio:
# tratta tutti gli
indirizzi IP locali come 127.0.0.1: ALL, NA, LOCAL, 127.0.0.1
# pieno accesso su
tutti i servizi per i localhost: ALL, RW, 127.0.0.1
# pieno accesso su
titti i servizi per le LAN-stations: ALL, RW, 192.168.0.0, 192.168.255.255
# pieno accesso su
tutti i servizi per indirizzi specifici: ALL, RW, 11.22.33.44 # John Doe ALL, RW,
44.33.22.11 # Jane Doe
# accesso in sola
lettura alle news per tutti gli indirizzi: NNTP, RO, 0.0.0.0, 255.255.255.255
# nessun accesso
per tutti gli altri indirizzi e servizi: ALL, NA, 0.0.0.0, 255.255.255.255
Sezione 10: Gli eventi di Hamster. L'automazione. (tratta dalla guida
online di Hamster ad eccezione del punto 10.8)
10.1 L'automation-server di Hamster
Hamster fornisce un
modo per pilotarlo attraverso altre applicazioni e, quindi, automatizzarne l'operato. Per
automatizzare Hamster (OLE), dovete creare un oggetto "automazione" usando
"Hamster.App" come nome della classe.
Esempi:
Perl:
use Win32::OLE; my
$Hamster = Win32::OLE->new("Hamster.App"); print $Hamster->ControlGetInfo;
undef $Hamster;
VBScript (Windows
Script Host):
Set Hamster =
Wscript.CreateObject( "Hamster.App" ) Wscript.Echo Hamster.ControlGetInfo
Wscript.DisconnectObject Hamster
Visual Basic:
Dim Hamster as
Object Set Hamster = CreateObject( "Hamster.App" ) MsgBox Hamster.ControlGetInfo
Set Hamster = Nothing
Delphi 3:
use comobj; var
Hamster: Variant; Hamster := CreateOleObject( 'Hamster.App' ); writeln(
Hamster.ControlGetInfo ); Hamster := Unassigned;
10.2 Funzioni di automazione varie
ControlGetInfo:
String Carica una riga di testo contenente la versione e il percorso di Hamster (lo scopo
è quello di realizzare una presentazione ...).
ControlGetPath:
String Carica il percorso dell'automation-server attualmente caricato (ad esempio, il
percorso dell'"Hamster.exe" usato)
ControlGetVersion:
String Carica il numero di versione di Hamster in formato stringa ("1.3.0.16").
ControlSetLogin(Identifier,
Username, Password: String) Imposta temporaneamente username e password per la data
identità, che può essere siail nome di una connessione di accesso remoto, sia il nome di
un news/mailserver. "Temporaneamente" significa che questa impostazione non
verrà salvata in un file, ma sarà trattenuta in memoria fino a quando Hamster non verrà
chiuso. Se lo username e/o la password sono impostati con un punto interrogativo
("?"), Hamster chiederà il loro valore quando sarà necessario. Inoltre, una
delle password generiche archiviate può essere qui selezionata per evitarne l'annotazione
in chiaro nello script (es. ControlSetLogin("serv.er", "$1",
"").
ControlMessage(Msg,
Param: Integer): Integer HAM_MSG_HAMSTER_EXIT = 1 HAM_MSG_RESET_COUNTERS = 2
HAM_MSG_LOCALNNTP_ONOFF = 3 HAM_MSG_LOCALPOP3_ONOFF = 4 HAM_MSG_LOCALSMTP_ONOFF = 5
HAM_MSG_SHOWWINDOW = 6 HAM_MSG_SHOWICON = 7
Inizializza alcune
funzioni di Hamster che sono normalmente disponibili e accessibili attraverso le voci nei
menù.
Msg Param scopo 1
nulla Exit Hamster 2 nulla Reset counters and log 3 0=stop, 1=start Start/Stop local
NNTP-server 4 0=stop, 1=start Start/Stop local POP3-server 5 0=stop, 1=start Start/Stop
local SMTP-server 6 0=hide, 1=show Hide/show main-window 7 0=hide, 1=show Hide/show
tray-icon
Valori restituiti:
0 OK; command executed. 1 Error; command failed. 2 Unknown Msg-number. 3 GPF, please
reboot ... ;-)
10.3 Funzioni task
ControlIsIdle: Bool
Restituisce TRUE (vero) se non ci sono attualmente task attivi come purging, pulling news,
sending mails etc. Nota: in questo caso le connessioni dei client ai server locali non
valgono come task attivi.
ControlWaitIdle(WaitTimeout:
Integer): Bool Const HAM_WAITIDLE_INFINITE = 0 Come il ControlIsIdle di sopra, ma questa
funzione aspetta anche un certo ammontare dato di millisecondi se ci sono task attivi.
Quando WaitTimeout=0, la funzione non restituisce nulla fino a quando i task sono
terminati. Nota: leggete "Events: evtHamster.IsIdleAgain" per un migliore
gestione dei tempi di attesa fino a quando Hamster non diviene nuovamente libero (idle).
Nota: in questo caso le connessioni dei client ai server locali non valgono come task
attivi.
ControlThreadCount:
Integer Riporta il numero dei task correntemente attivi. Nota: in questo caso le
connessioni dei client ai server locali non valgono come task attivi.
ControlRunPurge(PurgeOptions:
Integer): Integer Const HAM_PURGEOPT_DOALL = 0xFF Const HAM_PURGEOPT_DONEWS = 0x01 Const
HAM_PURGEOPT_DOHISTORY = 0x02 Const HAM_PURGEOPT_DOKILLS = 0x04 Const
HAM_PURGEOPT_DOMHISTORY = 0x08 Inizia un thread purge (ovvero la cancellazione dei vecchi
dati). Il parametro PurgeOptions è bit-oriented e descrive quali vecchi dati debbano
essere cancellati (bit0=1=articoli, bit1=2=voci dell'history, bit2=4=killfile-log,
bit3=8=voci di mailhistory).
ControlRunRebuildHistory:
Integer Inizia un thread che cancella l'history file corrente
(".\Groups\Hist???.dat") e lo ricostruisce aggiungendo i Message-ID di tutti gli
articoli archiviati in Hamster. Nota: Questa operazione può occupare diverso tempo con
migliaia di articoli, quindi dovrebbe essere usata solo se necessario! Assicuratevi di
aspettare fino a quando Hamster non sarà nuovamente libero (idle)(per esempio, usando
ControlWaitIdle) dopo aver usato questa funzione!
ControlRunRebuildGlobalLists(
Options: Integer ): Integer Inizia un thread che ricostruisce alcuni elenchi necessari per
Hamster (leggete il menu: "File -> Rebuild global lists" per maggiori
dettagli). Ancora nessuna opzione, usa sempre 0.
ControlRunMail(ServerList:
String): Integer Inizia il thread che prima scarica la nuova posta dai mailserver e dopo
spedisce quella in uscita (se presente). Se l'elenco dei server "ServerList" è
impostato a una stringa vuota (""), tutti i server POP3 e SMTP definiti in
Hamster potranno essere usati. Altrimenti, il trasferimento sarà ristretto ai server
dati.
Se usato,
"SeverList" deve consistere in un elenco di server separati da un punto e
virgola (";"). I nomi dei server devono essere nello stesso formato espresso
nelle impostazioni di Hamster (ovvero nome server + "," + porta). Esempio:
"mail.aaa.com,pop3;mail.bbb.com,pop3;mail.aaa.com,smtp"
ControlRunFetchMail(Server,
Port, User, Pass, DestUser: String): Integer Inizia un thread che scarica la posta dal
server POP3 dato (Server, Port).
Se username e
password sono dati, essi saranno usati per autenticare il server, se invece sono entrambi
vuoti, saranno usate le impostazioni per i dati server. Inoltre, si può usare una delle
password generiche archiviate per evitarne l'annotazione in chiaro all'interno dello
script (User="$(number)", Pass=""). Se viene dato il destinatiario
"DestUser", la posta scaricata sarà archiviata nella mailbox di questo utente,
altrimenti sarà usata la mailbox dell'amministratore. Il nome può opzionalmente essere
seguito da una virgola e un elemento distintivo o contrassegno (identifier) che determina
la filter-section da usare per la posta scaricata con questo comando (sono predefiniti i
filtri globali, ovvero la sezione "[*]" in MailFilt.hst). Esempi:
ControlRunFetchMail( "pop3.serv.er", "pop3", "",
"", "" ) ControlRunFetchMail( "pop3.serv.er", "",
"john.doe", "secret", "john" ) ControlRunFetchMail(
"pop3.serv.er", "10110", "$7", "",
"jane" ) ControlRunFetchMail( "pop3.serv.er", "",
"$7", "", "admin,myfilters" )
ControlRunSendMail(Server,
Port, FromSelection: String): Integer Inizia un thread che spedisce la posta in uscita al
server SMTP dato (Server, Port).
Se non viene
specificata alcuna provenienza "FromSelection", tutta la posta in attesa per la
spedizione verrà inoltrata. Se si fornisce una "FromSelection" (espressione
regolare), solo la posta con un corrispondente campo From come involucro sarà spedita al
server. Esempi: ControlRunSendMail( "smtp1.serv.er", "smtp",
"john\.doe@serv\.er") ControlRunSendMail( "smtp2.serv.er",
"", "" )
ControlRunNewsPost(ServerList:
String): Integer Inizia il thread che spedisce i nuovi articoli (se presenti). Se l'elenco
dei server "ServerList" è impostato come stringa vuota (""), potranno
essere usati tutti i server NNTP definiti in Hamster. Altrimenti, il trasferimento sarà
ristretto ai server dati (leggete ControlRunMail per i dettagli sul formato di
ServerList).
ControlRunNewsPull(ServerList:
String): Integer Inizia i thread che caricano gli articoli dai news server. Se l'elenco
dei server "ServerList" è impostato come stringa vuota (""), potranno
essere usati tutti i server NNTP definiti in Hamster. Altrimenti, il trasferimento sarà
ristretto ai server dati (leggete ControlRunMail per i dettagli sul formato di
ServerList).
10.4 Funzioni di accesso remoto
(RAS, remote access service)
RasDial(ConnectionID,
Username, Password: String): Bool Questa funzione stabilisce una connessione RAS chiamata
ConnectionID. Username e/o password possono essere impostati a stringa vuota
(""). In questo caso, le impostazioni ControlSetLogin (se presenti) o i valori
archiviati in Hamster sono impiegati per stabilire la connessione. Se il dialogo per
l'accesso remoto ha successo (ovvero la connessione viene stabilita), la funzione
restituisce TRUE, altrimenti FALSE (usate RasLastError per ottenere informazioni
aggiuntive in caso di fallimento).
RasHangup Chiude le
connessioni di accesso remoto stabilite tramite RasDial.
RasIsConnected:
Bool Restituisce TRUE, se c'è una valida connessione RAS stabilita tramite RasDial.
RasLastError:
Integer Restituisce l'ultimo RAS-errorcode (specialmente quando RasDial restituisce
FALSE).
10.5 Funzioni News
NewsGrpCount:
Integer Restituisce il numero di newsgroup disponibili ai client su Hamster.
NewsGrpName(GrpIdx:
Integer): String Restituisce il nome del newsgroup dato. GrpIdx può andare da 0 a
(NewsGrpCount-1).
NewsGrpIndex(GrpName:
String): Integer Restituisce il numero di indice del dato nome gruppo (-1 per i gruppi
sconosciuti).
NewsGrpOpen(GrpName:
String): Integer Apre i dati gruppi e restituisce un identificativo (>=0) che server
per caricare informazioni aggiuntive nella funzione che segue (l'identificativo viene qui
determinato come GrpHdl). Se la funzione fallisce, il valore restituito è negativo
(<0) If
NewsGrpClose(GrpHdl:
Integer) Chiude un gruppo precedentemente aperto.
NewsArtCount(GrpHdl:
Integer): Integer Restituisce il numero degli articoli disponibili nel gruppo.
NewsArtNoMax(GrpHdl:
Integer): Integer Restituisce l'articolo disponibile con l'indice (numero) più basso.
NewsArtNoMin(GrpHdl:
Integer): Integer Restituisce l'articolo disponibile con l'indice (numero) più alto.
NewsArtText(GrpHdl,
ArtNo: Integer): String Restituisce il testo del dato articolo contrassegnato. Una stringa
vuota indica che l'articolo non è più disponibile.
NewsArtTextExport(GrpHdl,
ArtNo: Integer): String Come NewsArtText, ma il testo viene convertito in un formato
valido per l'esportazione.
NewsScoreListFor(GrpName:
String): String Restituisce un elenco contenente tutte le ScoreRule che saranno usate
durante il caricamento delle news per il dato gruppo.
NewsScoreTest(GrpName,
ArtText: String; var MatchLog: String): Integer; Restituisce lo ScoreValue per il dato
articolo (ArtText). La prova viene compiuta nell'ipotesi che l'articolo sia stato caricato
dal gruppo dato (GrpName). Viene restituito in MatchLog un elenco di tutte le ScoreRule
riscontrate separate da un ritorno a capo.
NewsLocateMID(MessageID:
String; var Groupname: String; var ArtNo: Integer): Bool; Restituisce TRUE, se il dato
Message-ID è [ancora] salvato nell'history-file. In questo caso, il Groupname e l'ArtNo
saranno puntati a questo articolo. Altrimenti, la funzione restituirà FALSE e Groupname e
ArtNo resteranno immodificati.
NewsLocateMID2(MessageID:
String; var Groupname: Variant; var ArtNo: Variant): Bool; Come per
"NewsLocateMid" sopra, ma con paramentri varianti. Usate questa versione con i
VBScript-script (Windows Script Host).
NewsDeleteByMID(MessageID:
String): Bool; Individua l'articolo identificato da un dato Message-ID e lo cancella dal
database di Hamster. La funzione restituisce TRUE, se l'articolo può essere individuato e
cancellato; FALSE altrimenti.
NewsImport(ArtText,
OverrideGroups: String; IgnoreHistory, MarkNoArchive: Bool): Bool; Cerca di importare il
dato articolo nel database di Hamster e restituisce TRUE se l'articolo viene importato,
FALSE altrimenti. ArtText contiene l'articolo da importare, comprese tutte le intestazioni
(header e separatore dal corpo) e il corpo dell'articolo. La riga deve essere separata da
CR+LF (0x0d, 0x0a) (ritorno a capo). Se OverrideGroups è vuoto, l'articolo viene
archiviato nei gruppi in relazione all'intestazione "Newsgroups:" dell'articolo.
Altrimenti, viene archiviato nel gruppo indicato in OverrideGroups. Se non viene offerto
alcun valido gruppo locale, l'articolo viene archiviato in hamster.misc. Se IgnoreHistory
è TRUE, non viene effettuato alcun controllo nell'history per il Message-ID dell'articolo
importato, così sarà importato anche se è già conosciuto. Se MarkNoArchive è TRUE,
l'articolo importato è segnato con "NoArchive=1" nell'intestazione
"X-Hamster-Info:". Questo flag potrebbe essere usato per segnare l'articolo
importato come temporaneo, così potrebbe, per esempio, essere ignorato da un appropriato
software di archiviazione [non ancora disponibile ;-)].
10.6 Hamster-Event-objects (Win32)
Hamster prevede un
oggetto-evento chiamato "evtHamster.IsIdle" che è in stato positivo quando non
ci sono task attivi, mentre è in stato negativo quando ci sono task attivi (come purge,
pulling news, ecc.).
Dopo l'avvio dei
task in Hamster, potete usare questo oggetto-evento per attendere fino a quando Hamsteer
non li avrà terminati. Il vantaggio di questo approccio di attesa è che la vostra
applicazione è sospesa (ovvero, non consuma cicli del processore) fino a quando l'oggetto
entrerà nuovamente in stato positivo.
Nota: in questo
caso, le connessioni dei client ai server locali non contano come task.
Esempi:
Perl: use
Win32::Event; $evtHamsterIsIdle = Win32::Event->open("evtHamster.IsIdle"); #
start Hamster-tasks $evtHamsterIsIdle->wait();
Visual Basic:
Private Const INFINITE = &HFFFF Private Const SYNCHRONIZE = &H100000
Private Declare
Function OpenEvent Lib "kernel32" Alias _ "OpenEventA" _ (ByVal
dwDesiredAccess As Long, ByVal bInheritHandle As Long, _ ByVal lpName As String) As Long
Private Declare Function WaitForSingleObject Lib "kernel32" _ (ByVal hHandle As
Long, ByVal dwMilliseconds As Long) As Long Private Declare Function CloseHandle Lib
"kernel32" _ (ByVal hObject As Long) As Long
Dim
evtHamsterIsIdle As Long, res As Long evtHamsterIsIdle = OpenEvent(SYNCHRONIZE, False, _
"evtHamster.IsIdle") ' start Hamster-tasks res =
WaitForSingleObject(evtHamsterIsIdle, INFINITE) res = CloseHandle(evtHamsterIsIdle)
Delphi 3: uses
Windows; var evtHamsterIsIdle: THandle; evtHamsterIsIdle := OpenEvent( SYNCHRONIZE, False,
_ 'evtHamster.IsIdle' ); // start Hamster-tasks WaitForSingleObject( evtHamsterIsIdle,
INFINITE ); CloseHandle( hdlEvent );
Nota: il carattere
_ a fine riga indica un ritorno a capo che nella realtà non sussiste.
10.7 Hamster-Mutex-objects (Win32)
L'oggetto-mutex
"mutexHamster.App.*" viene usato per prevenire l'apertura nello stesso percorso
di istanze aggiuntive di Hamster. E' chiuso quando un'istanza di Hamster è avviata ed è
aperto non appena questa verrà nuovamente chiusa. Se l'oggetto non può essere chiuso
all'avvio, l'istanza addizionale non sarà avviata.
Può essere usato
anche per testare se un'instanza di Hamster è già avviata.
Format:
"mutexHamster.App."
+ (full path to Hamster.exe)
Il percorso e il
nome del file sono convertiti in minuscolo e tutti i caratteri ad eccezione di
"a"-"z" e "0"-"9" saranno sostituiti da
"_".
Esempio:
Programma:
C:\Program Files\News\Hamster.exe Nome-Mutex:
mutexHamster.App.c__program_files_news_hamster_exe
Programma:
\\Server\C$\News\Hamster.exe Nome-Mutex: mutexHamster.App.__server_c__news_hamster_exe
10.8 Che cosa è il MiniOle? Dopo
posso scaricarlo?
MiniOle è
un'applicazione con guida in lingua tedesca liberamente scaricabile da:
http://home.knuut.de/heiko.rost/
MiniOle offre
alcune funzioni aggiuntive al supporto OLE di Hamster ed è compatibile con il Windows
Scripting Host.
Sezione 11: la configurazione dei
newsreader
11.1 Microsoft Outlook Express 5
Per creare un nuovo
account news con OE5, dovete aprire il menù "Strumenti" ->
"Account...", quindi selezionare nella finestra Account Internet la rubrica
"news" e cliccare su "Aggiungi -> News..."
[ NOME UTENTE ] Si
aprirà una nuova finestra chiamata "Connessione guidata Internet" con
"Nome visualizzato" come unico campo presente. Questo sarà il vostro
identificativo (nickname, nome e/o cognome) con il quale apparirete su Usenet.
Modificatelo e cliccate su "Avanti>".
[ INDIRIZZO DI
POSTA ELETTRONICA PER LE NEWS INTERNET ] La "Connessione guidata a Internet" vi
chiederà questa volta di immettere nell'unico campo disponibile il vostro "indirizzo
di posta elettronica". Secondo la RFC 1036, From è una RHL (required header line)
composta da almeno un indirizzo di posta elettronica valido, anche se non necessariamente
consegnabile. Quindi in questo campo dovrete obbligatoriamente immettere un indirizzo di
posta elettronica, avendo cura, se usate una tecnica anti-spam, di trasformare il dominio
finale in .invalid. Es. mail@tin.it.invalid Cliccate su "Avanti>".
[ NOME DEL SERVER
DELLE NEWS INTERNET ] Ora vi saranno richieste informazioni relative al vostro news
server, ma dato che fate uso di un news server locale sarà sufficiente specificare
l'indirizzo IP che il vostro computer gli ha assegnato. Immettete "127.0.0.1"
oppure dovrebbe andare bene anche "localhost". Ricordatevi però che Hamster
richiede l'autenticazione dell'accesso locale, se non avete ancora impostato una password
fatelo ora, sospendendo per un momento la procedura di configurazione di OE e leggendo il
punto 5.2. Una volta scelta e impostata una password, dovrete quindi autenticare le vostre
connessioni di accesso locale spuntando la casella "Accedi al server news" della
Connessione guidata a Internet prima lasciata in sospeso. Cliccate su
"Avanti>".
[ ACCESSO AL SERVER
DELLE NEWS INTERNET ] Ora vi saranno richieste informazioni relative a
"username" e "password" che Hamster richiede per l'autenticazione
dell'accesso locale (punto 5.2), ovvero rispettivamente dovrete completare i campi
"Nome Account" e "Password". Assicuratevi della spunta della casella
"Memorizza password" [x], mentre liberate quella di "Accesso tramite
autenticazione password di protezione" [ ]. Cliccate su "Avanti>". Nota:
in alcune versioni di OE, si parla di "immettere il nome e la password dell'account
di posta elettronica forniti dal provider di servizi Internet". Non fatevi ingannare,
si tratta di un errore causato dal "riciclaggio" della finestra di
autenticazione della posta elettronica. Infatti è raro dover autenticare il proprio
accesso con i servizi news offerti dalla generalità dei provider.
Cliccate su
"Fine" e selezionate il nuovo account. Hamster dovrà già essere avviato.
Nota FQDN: per la
configurazione di un FQDN (punto 6.8) a piacere attraverso Hamster, è necessario che il
newsreader non fornisca alcun Message-ID, lasciando questo compito al news server. OE non
è in grado di impostare Message-ID propri, di conseguenza lascia già nativamente questo
compito al news server.
11.2 Netscape
"Communicator" Newsgroup
Per creare un nuovo
account news con Netscape, dovete aprire il menù "Modifica -> Preferenze"
del profilo corrente, selezionare "Mail & Newsgroup" e "Newsgroup
server", cliccare su "Aggiungi". Vi si aprirà una finestra in cui dovrete
immettere il server (127.0.0.1 o localhost per l'accesso locale ad Hamster), con porta
predefinita 119. Cliccate su Ok. Cliccate nuovamente su Ok per salvare le nuove
preferenze.
Selezionate il
nuovo server (127.0.0.1 o localhost) presente nell'elenco di sinistra. Cliccate su di esso
con il pulsante destro del mouse oppure attivate il menù contestuale. Attivate
"Sottoscrivi newsgroup" e vi saranno richiesti nell'ordine, username e password.
Ricordatevi infatti che Hamster richiede l'autenticazione dell'accesso locale, se non
avete ancora impostato una password fatelo ora, sospendendo per un momento la procedura di
configurazione di NS e leggendo il punto 5.2. Una volta scelta e impostata una password,
dovrete quindi autenticare le vostre connessioni di accesso locale immettendo ogni volta
username e password. Hamster dovrà già essere avviato.
Nota: ricordatevi
che il formato HTML è fortemente sconsigliato nei newsgroup, quindi disabilitatelo in
"Modifica -> Preferenze", nella scheda relativa al formato dei messaggi.
Nota FQDN: per la
configurazione di un FQDN (punto 6.8) a piacere attraverso Hamster, è necessario che il
newsreader non fornisca alcun Message-ID, lasciando questo compito al news server. NS
imposta Message-ID propri coniugando il dominio del vostro indirizzo di posta elettronica.
Tuttavia, non permette come altri newsreader di elidere il proprio Message-ID. Dall'altra
parte, Hamster, non può cancellare giustamente un Message-ID già impostato e non è
quindi in grado di inserire un proprio FQDN. Se volete impiegare questa funzionalità
dovrete quindi cambiare newsreader oppure impiegare un piccolo trucco. Ad esempio,
potreste specificare un dominio alterato nel campo From in questo modo:
@vostroFQDN.invalid e inserire l'indirizzo corretto nel campo Reply-to. In questo modo i
vostri Message-ID e le relative "reference" riporteranno il vostro FQDN e
potrete così applicare in pieno i filtri di Hamster. L'annotazione ".invalid"
si rende necessaria secondo la RFC 2606 per identificare "undeliverable" il
vostro indirizzo nel campo From quando questo viene alterato. L'immissione corretta
dell'indirizzo nel campo Reply-to vi permette comunque di poter ricevere la posta, anche
se è stato documentato un drastico calo dei messaggi pubblicitari non sollecitati
"spam" (gli spammer impiegano il comando xhdr per reperire e-mail address e il
campo reply-to non è compreso).
Nota: quando ho
scritto questo punto, avevo NS nella versione 4.7 in lingua inglese. Quindi il nome dei
menù da me tradotti, potrebbero non corrispondere perfettamente a quelli della versione
italiana.
11.3 Forté Free Agent
Se state avviando
agent per la prima volta, vi chiederà informazioni circa il news/mailserver. A entrambi
attivate le impostazioni come segue: [127.0.0.1] (oppure [localhost]) e quindi il vostro
email address e nome. Dopo Agent vi chiederà di andare online. Cliccate su
"Yes" ed Agent caricherà l'elenco dei newsgroup disponibili in locale. Hamster
dovrà già essere avviato.
Potrete fare questo
e molto di più nel menù "options":
General
Preferences:
rubrica User Email
Adress: il vostro Email-Adress Fullname: il vostro nome o nickname Newsserver login: [X]
Login with a username and password Username: [admin] [X] Remember password between
sessions Password: [***] (la stessa in Hamster-Accounts)
rubrica System
Entrambi i server dovrebbero avere [127.0.0.1] nei campi.
rubrica Online
Potete attivare utilmente [Use online defaults], se avete sempre Hamster online.
rubrica Dial-Up [_]
Open Dial-Up-Connection before going online [_] Close Dial-Up-Connection after going
online
Agent.ini nella
cartella ../agent/data/: [Message] GenerateId=0 (Così Agent non genererà un Message-ID)
Nota FQDN: dopo
aver modificato Agent.ini come sopra illustrato, Agent non apporrà più il proprio
Message-ID lasciando questo compito, se impostato correttamente, a Hamster. In altre
parole, Agent non essendo dotato di uno scorefile non ha la possibilità di caratterizzare
un proprio FQDN e si limita perciò a lasciare questo compito al news server locale (punto
6.8).
11.4 Forté Agent 1.5/1.6/1.7/1.8
Se state avviando
Agent per la prima volta, le istruzioni da seguire sono le stesse illustrate in precedenza
per Free Agent. Se invece vi avvalete dell'opzione [Upgrade] installandolo sul
"vecchio" Free Agent, non avrete bisogno di configurare alcunché. Tuttavia, se
volete testare Agent usando la modalità trial-version (versioni 1.6/1.7), Agent vi
chiederà nuovamente gli stessi passi da seguire con Free Agent, ovvero dovrete impostare
news/mailserver a [127.0.0.1] (oppure [localhost]).
Potrete fare questo
e molto di più nel menù "options":
User and System
Profile:
rubrica User I
vostri dati personali... Newsserver login: [X] Login with a username and password
Username: [admin] [X] Remember password between sessions Password: [***] (la stessa in
Hamster-Accounts)
rubrica System
Newsserver = [127.0.0.1] [X] Send email messages with SMTP Emailserver = [127.0.0.1]
rubrica Online
Potete attivare utilmente [Use online defaults], se avete sempre Hamster online.
rubrica Dial-Up [_]
Open Dial-Up-Connection before going online [_] Close Dial-Up-Connection after going
online
Inbound email:
rubrica System [X]
Receive email with POP POP-Server = [127.0.0.1] [X] Login with a username and password [_]
Use APOP if supported by the server (if you like) Username = [admin] [X] Remember password
between sessions Password = [***] (la stessa in Hamstter-Accounts) [_] Login with Secure
Password Authentification
Agent.ini nella
cartella ../agent/data/:
[Message]
GenerateId=0 (Così Agent non genererà un Message-ID)
Nota FQDN: dopo
aver modificato Agent.ini come sopra illustrato, Agent non apporrà più il proprio
Message-ID lasciando questo compito, se impostato correttamente, a Hamster. In altre
parole, Agent non essendo dotato di uno scorefile non ha la possibilità di caratterizzare
un proprio FQDN e si limita perciò a lasciare questo compito al news server locale (punto
6.8).
11.5 SLRN per Windows
SLRN per Windows
gira sotto Windows in una finestra DOS. Di diverso dall'Ms-DOS c'è che avete molte più
opzioni per configurarne layout, colori e altro ancora.
Homepage e download
: http://space.mit.edu/~davis/slrn.html oppure http://www.vex.net/~cthuang/slrn/ Autore:
John E. Davis davis(at)space.mit.edu Newsgroup: news:news.software.readers Lingua: inglese
(sarebbe auspicabile la traduzione in lingua italiana della documentazione)
Decomprimete il
file .zip in una cartella a vostro piacimento. Leggete la documentazione nella cartella
"./slrn/doc/" Modificate il file slrn.rc. Scrivete un batch file per avviare
SLRN. La cartella ./slrn/doc/ contiene un esempio di slrn.rc. Copiate questo file nella
cartella di slrn e modificatelo. Per usare SLRN con Hamster, prendete spunto da questo
esempio:
% slrn.rc, file di
esempio nnrpaccess "localhost" "admin" "."
hostname
"gmx.net" set username "m.gebert" set realname "Michael
Gebert" set quote_string ">" set followup_strip_signature 1 set
non_Xbrowser "start explorer '%s'" set show_article 0 set show_descriptions 0
set unsubscribe_new_groups 0 set show_thread_subject 1 set mouse 1 set author_display 2
set display_author_realname 1 set write_newsrc_flags 0 set generate_message_id 0 set
editor_command "c:\\windows\\notepad.exe %s" set mail_editor_command
"c:\\windows\\notepad.exe %s" set post_editor_command
"c:\\windows\\notepad.exe %s" set score_editor_command
"c:\\windows\\notepad.exe %s" set sendmail_command "sendsmtp
127.0.0.1" set read_active 1
Il batchfile per
avviare SLRN potrebbe essere come questo:
REM SLRN.BAT set
HOME=d:\programs\slrn\ set NNTPSERVER=localhost set TMP=c:\windows\temp slrn.exe
E' raccomandabile
usare l'opzione -create al primo avvio di SLRN in modo da creare il file jnews.rc
(slrn.exe -create).
Nota FQDN: SLRN è
stato il primo newsreader a impiegare uno scorefile. Conseguentemente dovrebbe essere in
grado di attivare un proprio FQDN (set username).
11.6 Xnews
Xnews è il
newsreader favorito da parte di molti utenti Hamster.
Homepage e download
: http://xnews.3dnews.net/ Autore: Luu Tran luu(at)xnews.3dnews.net Newsgroup:
news:news.software.readers Lingua: inglese (sul sito potete comunque rintracciare una
traduzione italiana del manuale).
Per connettere
XNews a Hamster dovete Configurare "Special -> Setup-Xnews" :
Identities
I vostri personali
(Nome, indirizzo email) Nota: lasciando il campo [IDToken] vuoto Xnews non genererà un
Message-ID. Hamster potrà così essere impostato in modo da creare un Message-ID, se
assente.
Servers Newsserver
= [127.0.0.1] / Port = [119] SMTP (mail send) Server = [127.0.0.1] Username: [admin]
Password: [***] (la stessa in hamster-accounts)
Misc Default SMTP
Server = [127.0.0.1]
Per ulteriori
configurazioni leggete il manuale compreso con Xnews, di cui, come anticipato, esiste una
versione in lingua italiana.
Nota FQDN: Xnews si
è ispirato a SLRN per realizzare il proprio scorefile. Ne consegue che anche questo
newsreader è in grado di attivare un proprio FQDN [IDToken]. IDToken infatti è una
stringa di lettere e/o numeri per essere identificati inequivocabilmente. Xnews usa questo
campo per creare il Message-ID al fine di tracciare gli articoli da voi spediti e non
solo.
11.7 NewsXpress
NewsXpress è un
newsreader online come Xnews.
Homepage per la
configurazione sono: http://www.malch.com/nxfaq.html
http://www.nemontel.net/files/chap8.htm
http://www.nh.ultranet.com/support/usenet/newsx2.html
http://www.accesscom.com/support/windows/win_newsxpress.html
Download: ftp://ftp.hk.super.net/pub/windows95/wskutil/
(nx????.zip) Autore: W.L. Ken, Ng kenng(at)HongKong.Super.NET.
Se NewsXpress è
avviato, cliccate su "File -> Options" per configurare:
rubrica Servers and
Directories News NNTP server = [127.0.0.1] Port = [119] Username: [admin] Password: [***]
(la stessa in hamster-accounts) Mail SMTP server = [127.0.0.1] Port = [25]
rubrica Compose [_]
Generate Message-ID Header
Tutto il resto può
essere configurato a vostro piacimento.
Nota FQDN:
NewsXpress non è in grado di determinare un proprio identificativo FQDN, ma potete
disabilitare la generazione automatica del Message-ID lasciando questo compito al news
server locale (punto 6.8).
Sezione 12: Varie ed eventuali su
Hamster
12.1 Che cosa è Ham.exe? A cosa
serve?
Ham.exe è un file
eseguibile, un utility a linea di comando che si trova nella cartella principale di
Hamster. Si può adoperare in una sessione Ms-DOS.
Ham.exe è in grado
di accettare i seguenti parametri:
1) ham help [
credits | info | groups | locate | delete | type | export | import | grep | scoreview |
scoretest ]
Mostra la
descrizione del dato comando. Esempio: ham help export
ham help all Mostra
tutte le descrizioni Show all descriptions. Esempio: ham help all | more
2) ham credits
Visualizza
l'autore, la versione dell'utility, nonché i relativi riconoscimenti.
3) ham info
Mostra la versione
e il sentiero del file Hamster.exe correntemente registrato, che è /The Hamster/, a cui
Ham.exe fa riferimento.
4) ham groups
[groupname-patterns...]
Mostra alcune
informazioni circa i dati gruppi gruppo, selezionabili con una o più regex-pattern. Il
formato dell'output sarà così espresso:
nomegruppo:numero-articoli:primo-articolo:ultimo-articolo
Esempio: ham groups
"^news\." "^alt\.usenet\."
Esempio: ham groups
"it\.comp" con risultato... it.comp.appl.pegasus-mail:63:58:120
it.comp.hardware.motherboard:958:1:958 it.comp.hardware.overclock:241:1:241
it.comp.software.mailreader:473:2025:2498 it.comp.software.newsreader:1000:4729:5728
5) ham locate
"<Message-ID>"
Individua il dato
Message-ID nel file history di Hamster. Se lo trova, la sua collocazione avrà il printing
a video. Il formato dell'output sarà così espresso:
nomegruppo:numero-articolo:message-id Esempio: ham locate
"<4K0k4.16583$C3.172760@4ax.com>" con risultato...
it.comp.software.newsreader:5596:<4K0k4.16583$C3.172760@4ax.com>
6) ham delete
"<Message-ID>"
Cancella l'articolo
con quel dato Message-ID presente nel database di Hamster Esempio: ham delete
"<86pe4a$n8k$3@news.flashnet.it>" con risultato... Message
<86pe4a$n8k$3@news.flashnet.it> deleted.
7) ham type
[-number] groupname-patterns...
Mostra tutti gli
articoli nel dato gruppo. Se uno specifico numero di articolo è specificato attraverso
"-number", sarà visualizzato solo questo. Esempio: ham type
de.comm.software.forte-agent > dcsfa.txt Esempio: ham type -42
de.comm.software.forte-agent | more
8) ham export
[-number] groupname-patterns...
Come
"type", ma gli articoli sono convertiti in un formato di esportazione Esempio:
ham export it.comp.software.newsreader > icoswn.exp
9) ham import
[-go"groupnames"] [-ih] [-na] [-t] [-x] file-selections...
Importa gli
articoli nel database di Hamster.
Formati dei file
supportati: 1. un articolo per file; 2. file mbox 3. rnews-batches ("#! rnews
SIZE" only)
Opzioni:
-go: Group
Override, ovvero non importa gli articoli nel gruppo presente nel campo
"Newsgroups", ma nel dato gruppo. -ih: Ignore History, ovvero importa gli
articoli anche se già conosciuti -na: No Archive, ovvero segna gli articoli importati con
"NoArchive=1" nell'intestazione "X-Hamster-Info:". -t: Test-only,
ovvero gli articoli non sono importati ma mostrati. -x: eXperimental: converte i file di
testo in dummy-message Esempio: ham import -t \var\spool\news\SCNR\*.* Esempio: ham import
-ih -na -go"hamster.temp" archive.mbx Esempio: ham import -x
-go"hamster.doc.rfc" \rfc\*.txt
10) ham grep
[options] search-pattern groupname-patterns...
Trova
righe/articoli che corrispondono il determinato search-pattern.
Opzioni:
-i: ignore case;
-c: count only; -l: names only; -h: lines only -n: line numbers -va: show article if one
line matches -ve: like -va, but use export-format
Search-pattern,
Groupname-patterns:
Perl-compatible
regular expressions (PCRE).
Esempio: ham grep
-i "^Subject:.*hamster" "com[mp]" "^news\."
11) ham scoreview
[groupname]
Scarica un elenco
contenente tutte le score-entries che saranno usate durante il caricamento delle news per
il dato gruppo. Se il nome del gruppo viene omesso, saranno mostrate le score-entries
globali (ovvero, quelle usate su tutti i gruppi). Esempio: ham scoreview Esempio: ham
scoreview it.nome.gruppo
Può essere utile
per testare l'efficacia di una nuova regola di cui ancora non ci fidiamo per l'impiego
online.
12) ham scoretest (
article-file | Message-ID ) Costruisce un riepilogo basato sul dato messaggio e gli
fornisce un voto. Lo score-value risultante e le score-entries corrispondenti saranno
visualizzati. Esempio: ham scoretest test.msg Esempio: ham scoretest
"<xxx@yyy>"
12.2 Come posso fare un backup
degli articoli caricati?
Si può utilmente
impiegare l'utility ham.exe in una finestra di Ms-DOS, in questo modo:
ham export
nomegruppo > nomefile.exp per esportare i messaggi
ham import
nomefile.exp per importare i messaggi.
Leggete il punto
precedente per avere maggiori informazioni sul funzionamento di ham.exe
12.3 Come si disinstalla Hamster?
Nel caso in cui ci
fossero problemi con il supporto OLE, è buona norma ripetere l'installazione di Hamster
assicurandovi prima di cancellare ciò che è stato scritto nel registro di Windows. Il
comando da impiegare è:
hamster
/unregserver
12.4 Come posso evitare il purge in
un gruppo specifico?
Dalla versione
1.3.15, ponendo un valore pari a "0" nella casella "Days to keep
articles" presente nei [settings] del File -> Configuration -> Newsgroups, è
possibile evitare che il purge abbia effetto limitatamente ai newsgroup interessati dalla
modifica. Per fare un backup, usate ham.exe.
12.5 Chi sono gli autori citati
negli "Acknowledgement"?
Greg Carter Autore
dell'implementazione MD5 e BlowFish usate in Hamster. CRYPTOCard Corporation
(<gregc(at)cryptocard.com>, http://www.cryptocard.com/).
Philip Hazel Autore
del package "Perl-Compatible Regular Expression (PCRE)" sul quale sono basate le
routine per le espressioni regolari (Win32) (<ph10(at)cam.ac.uk>, ftp://ftp.cus.cam.ac.uk/pub/software/programs/pcre/)
.
Luu Tran Autore
dell'interfaccia Delphi4 per il PCRE, nonché autore di Xnews
(<luu(at)xnews.3dnews.net>, http://xnews.3dnews.net/).
12.6 I collegamenti
ai siti e alle informazioni
Oltre ai siti
indicati al punto 2.2, restano quelli dei fun di Hamster. Posso ricordare:
Hamster CAM http://www.cyberramp.net/~stinger/hamster.htm
How to eat a
hamster http://gizzard.fortunecity.com/hamster/hamster.html
Speedy - Speedy´s
Hamster-Galerie http://www.f1-gruppe.de/speedy/main01_3.htm
The Hamster Dance http://www.colyns.ch/hamsterdance.htm
the Hamster Page http://www.direct.ca/hamster/
Sezione 13: Risoluzione dei
problemi
13.1 Newsgroup doppi dal news
server remoto
Con ogni
probabilità questo dipende da problemi nella gestione dell'anno 2000 del news server
remoto (soprattutto con alcune versioni di INN). Bisogna modificare il file server.ini ed
aggiungere alcune righe in modo adattare Hamster al comportamento del news server remoto.
Per maggiori informazioni, leggere il punto 9.4. In ogni caso, contattate il newsmaster
del vostro provider e chiedete che installi le apposite patch disponibili in Rete.
13.2 Errore 10061 - Impossibile
connettersi al server
Se l'errore è
dovuto all'attivita del vostro client, le cause possono essere sostanzialmente due: a.
Hamster non è stato avviato correttamente; b. I server locali di Hamster sono disattivi
(menù "Local")
13.3 Errore 480 - Authentication
required
Se l'errore è
dovuto all'attività del vostro client, avete dimenticato di autenticarne l'accesso presso
i servizi dei server locali di Hamster. Leggete il punto relativo alla configurazione del
vostro newsreader.
Se, invece,
l'errore viene commesso da Hamster nella connessione al vostro server remoto, significa
che quest'ultimo ne richiede l'accesso autenticato. Contattate il newsmaster responsabile
se non disponete di login e password.
Nella maggioranza
dei casi, se parliamo di news server _NON_ ad accesso pubblico, l'autenticazione non viene
richiesta. Per accertarvene è sufficiente collegarsi a Internet, aprire una finestra di
Ms-DOS, digitare "telnet nomeserver 119" e osservare la risposta del server.
13.4 Impossibile passare al
newsgroup "" sul server ""
Questa è una
fisima di Microsoft Outlook che non documenta in alcun modo la natura degli errori.
L'errore è dovuto con ogni probabilità alla mancanza di autenticazione. Leggete il punto
precedente.
13.5 Perché vengono cancellate le
password di Hamster?
Con ogni
probabilità avete aggiornato il vostro sistema operativo, oppure condividete la cartella
di Hamster tra più sistemi operativi, oppure condividete la cartella di Hamster tra più
utenti (profili) sullo stesso computer (es. Windows9x/NT) o sulla stessa rete, anche se
locale (es. WindowsNT).
Come anticipato al
punto 6.6, le impostazioni relative alle password vengono salvate nel file
"Password.!!!". Le voci in "Password.!!!" sono cifrate con l'algoritmo
"Blowfish". La chiave usata per per cifrare i dati è una combinazione di
elementi fissi e variabili in relazione alle diverse impostazioni del sistema operativo,
come nome del PC, versione del sistema operativo, ecc..
Le password possono
essere facilmente riconfigurate in "File -> Configuration".
Tuttavia, per gli
utenti in rete di Windows NT è oppurtuno seguire il consiglio fornito al punto 9.3
ponendo "password.codebase=1" nel file Hamster.ini. In questo modo, il nome
dell'utente non sarà utilizzato come variabile per determinare la parola chiave
responsabile della cifratura delle password. Chi invece condivide Hamster addirittura tra
più sistemi operativi può porre nello stesso file "password.codebase=2". In
questo modo, oltre al profilo utente, nemmeno il sistema operativo verrà impiegato per
determinare la parola chiave responsabile della cifratura delle password. Dopo
quest'operazione, le password dovranno essere riconfigurate.
In alternativa, la
soluzione può essere quella di mettere in chiaro le password all'interno di uno script
(soluzione sconsigliabile oltre che inaffidabile) oppure quella di realizzare un batch
file che sostituisca il file password.!!! in relazione al diverso sistema operativo e/o
computer con il quale si accede ad Hamster. Nel secondo caso, sarà necessario ricordarsi
di aggiornare entrambi i file password.!!! nel caso si dovessero aggiungere nuovi server
remoti.
13.6 Come posso fare se ho più
mailbox allo stesso server POP3?
Se le mailbox non
sono più di due, molti preferiscono creare due account distinti ai quali assegnare da una
parte il nome del server POP3, mentre dall'altra il suo numero IP risolto attraverso
"ping nome_server_POP3 -a".
La soluzione più
ortodossa è quella di realizzare uno script che permetta di scaricare dallo stesso server
le mailbox in esso ospitate. In proposito, leggete la sezione 8 e studiate il
funzionamento del comando "fetchmail"
|