LA FAQ DI HAMSTER

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"