hixsplit dokumentáció

Richard Klinda, ignotus@freemail.hu

v1.6.9, 2001-03-29
hix.hu-féle digesteket mbox formátumra konvertáló program

1. Copyright

2. Mi is ez?

3. Bevezető

4. Telepítés

5. hixsplit beállítása

6. A hixsplit használata

7. Ha valami gondom van kinek írjak?


1. Copyright

Copyright 2000 Richard Klinda Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Foundation.

2. Mi is ez?

Ez a Perl nyelven készült program a következőket tudja: az `STDIN'-en érkező HIX digest(ek)et (ennek formátuma lehet akár standard mailbox vagy sima mentett ASCII file is) szétdarabolja és kinyomtatja az `STDOUT'-ra. (És még sok-sok-sok-sok más dolgot. :-)

3. Bevezető

3.1 Miért jobb mint a digest?

3.2 Jobb-e mintha news-ként olvasnám?

Bizonyos esetben ugyanolyan, bizonyos esetben jobb. Ha cégnél netezel vagy ha nem számít a telefonszámla akkor mindegy, nincs igazán szükséged erre a programra. De az tény, hogy news-ból lassabban tudod letölteni a leveleket, mintha egy db e-mailben kapnád meg POP3-mal. Ezért, ha mondjuk otthonról modemmel töltöd le leveleidet, akkor jobban jársz, ha e-mailben feliratkozol a HIX-ekre amiket járatni akarsz, és ezzel a programmal földaraboltatod.

Megjegyzés: a news-on elég gyakran elvész 1-2 levél!

3.3 Milyen esetben tudom egyszerűen haszálni a programot?

3.4 Mire van szükség a program futtatásához?

Mivel a program Perl nyelven készült, ezért szükséged van egy Perl értelmezőre, mondjuk egy 5-ös verzió megfelel. (A Perl minden disztribúciónak része, `perl' néven keresd.)

Az 1.48-as verziótól szükség van egy IniConf nevű Perl Library-ra is, ezt letöltheted a http://www.cpan.org/modules/by-module/IniConf/ címről.

Az 1.58-as verziótól szükség van egy CRC32 nevű Perl Library-ra is, ezt is töltsd le a http://www.cpan.org/modules/by-module/String-CRC32/ címről.

Az egyszerűség kedvéért kiraktam a deb csomagot a honlapomra. Remélem az installálással nem-debian disztribúcióknál sem okoz gondot senkinek (ha igen, nyugodtan írhattok, akkor az INSTALL-ba leírom amit kell).

4. Telepítés

  1. Bizonyosodj meg róla, hogy a két szükséges Perl Library-t helyesen feltelepítetted! Lásd: Mire van szükség a program futtatásához?
  2. Magát a hixsplit-et a ``make install'' parancs kiadásával installálhatod (később a ``make clean''-nel törölheted le a programot). A program defaultból a ``/usr/local'' hiearchiába kerül beillesztésre (ha ez neked nem tetszik, akkor ezt a ``Makefile'' prefix változójának átállításával módosíthatod). Megjegyzés: ha stow-t használsz, akkor lásd: stow
  3. A csomagban található ``hixsplitrc'' fájlt másold be a $HOME könyvtáradba ``.hixsplitrc'' néven, és valami szövegszerkesztővel állítsd be magadnak úgy, ahogy akarod.
  4. Állítsd be a megfelelő ``procmail'' szabályokat.

4.1 procmail szabályok

A ``.procmailrc''-dben pl. a következő módon állíthatod be a HIX GURU kezelését:

## HIX GURU
:0
* ^Reply-to:.*guru@hix.com
|hixsplit.pl >>hix-guru-darabolt

E recept hatására a feldarabolt GURU(k) a ``hix-guru-darabol'' mailboxba kerülnek. A többi HIX újság darabolásához csak a fenti receptben lévő guru szavakat cseréld le kukker-re, randi-ra stb-re...

Ha az eredeti HIX újságokat is el akarod menteni, akkor azt így oldhatod meg:

## HIX GURU
:0
* ^Reply-To:.*guru@hix.com
{
    :0 c
    Archives/hix-guru


    :0
    |hixsplit.pl >>hix-guru-darabolt
}

Ekkor az eredeti GURU-k az ``Archives/hix-guru'' mailboxba, a darabolt GURU-k pedig a ``hix-guru-darabol'' mailboxba kerülnek.

Ha eddig nem használtad a procmail dupeszrűrő szolgáltatását, akkor azt is érdemes beállítanod:

## -- Duplicate vedelem --
:0 Whc: msgid.lock
| formail -D 16384 /home/ignotus/.msgid.cache


:0 a:
duplicate-mail
## -- ------------------ --

Ez annyit csinál, hogy amikor levelet kapsz, akkor annak msgid headerét elmenti a ``~/.msgid.cache'' fájlba, és ha később ugyanolyan msgid-vel rendelkező levelet kapsz, akkor pedig a ``duplicate-mail''-be.

4.2 Netscape Mailer/Messenger

Szakács Vass Sándor írt nekem egy levelet, remélem mindenki számára világos! ;-)

Viszont netscape-t hasznaloknak: megiscsak kell a netscape-nek
a `.history' file.  Ha a splitterrel egyenesen beleomlesztem a
ns mailboxba, akkor az addig olvasott levelek olvasatlanna
valnak. Tehat a `/var/spool/mail/login'-ba iranyitom es majd a
netscape szortirozza a reply-to alapjan.  Igy mar nincs gond.                           

4.3 stow

Ha Te is szereted rendben tartani a ``/usr/local''-odat, és ``stow''-t használsz, akkor is könnyű dolgod van. Rootként add ki a ``make install prefix=/usr/local/stow/hixsplit'' parancsot, utána pedig a ``/usr/local/stow'' könyvtrásban ``stow hixsplit''-et és kész is vagy.

5. hixsplit beállítása

Ebben a fejezetben a ``~/.hixsplitrc''-ben beállítható változokat dokumentálom.

5.1 valos_nev

Tudjátok, van amikor a Felado: mezőben nem egy e-mail cím van, hanem a küldő neve, és alatta egy "e-mail:" tag után jön az e-mail cím. Namost, ha ennél az opciónál igent (1) adsz meg, akkor a fentiből ilyesmit csinál: `From: "Kovacs Janos" <jani@freemail.hu>'. Míg nem (0) esetén simán `From: jani@freemail.hu'.

5.2 kell_e_szam

Szerintem fölösleges, csak a helyet növeli. A date mező kinézete pl.:

5.3 kell_e_szam_to_mezo

Ha valaki szeretné, hogy a To: mezők így nézzenek ki: `To: "guru #9999" <email@cim.hu>' Ez pl. arra használható, hoy To: mező alapján könnyen lehet sorba rendezni a leveleket HIX-beli sorszámuk alapján.

5.4 date_kell_de_idozona_nelkul

Ha pine-t használsz, ezt rakd 1-re!! Ha nem pine-t használsz, de valami gondod van a Date: mezővel, akkor is rakd 1-re!

5.5 temakor_csonkitas

A levelek Temakor mezőjéből kivágja a "szemetet". Mi is a szemét? Íme egy példa:

Temakor:   RE.:[WINDOWS]Re[4]: aW   Aw.:Ket   monitor?? ( 36 sor )  ( 7 sor )
Egy ilyen témakörből mi "marad", ha a hixsplit megdolgozta? (temakor_csonkitas=1 esetén)

Subject: Re: Ket monitor??

Szerintem ez utóbbi sokkal szimpatikusabb...

5.6 ures_sorok

A HIX digestben minden levél egy üres sorral kezdődik és végződik, gondolom azért mert így jobban átlátható, azonban ha sok külön levélre daraboljuk akkor fölösleges. (Ezzel nyerünk 2 byteot minden üzeneten! ;-))

Megjegyzés: A legtöbb levelező (pine és netscape biztosan) igényli ezeket az üres sorokat, tehát érdemes 1-re állítani, mutt bírja 0-val is.

5.7 anti_hixeditor

Ha az ``anti_hixeditor'' változót 1-re állítod, akkor a hixsplit kiszedi az ``Ez a levél HixEditor x.xx-el/al/val/vel készült'' szöveget a sigek végéről (a kérdéses sort korrekten, teljesen eltünteti). Végül is kit érdekel? ;-)

Ha a ``kell_e_anti_jeloles''-t 1-re állítod, akkor a kiszedett szöveg helyére beírja az ``anti_jeloles_szoveg''-et. (hixsplit baby!)

Megjegyzés: ezzel a feature-el nem Vili munkáját akarom lealacsonyítani vagy ilyesmi, egyszerűen csak fölöslegesnek tartom a sigbe ezt berakni.

5.8 uj_levelek

Ha 1-re állítod az azt jelenti, hogy nem illeszt be minden levél header mezőjének végére egy ``Status: RO'' sort, ami azt jelenti (legalább is a mutt-nak), hogy a levelet olvastad. A 0-ra állítás akkor lehet hasznos, ha a régi digestjeidet konvertálod, amúgy állítsd 1-re!

5.9 Naplózás

Ha a akarsz logfájlt, akkor a ``kell_e_logfajl'' változót állítsd 1-re. A logfájl a $HOME könyvtáradban lesz, ``$logfajl'' néven. Az alábbiak kerülnek bele:

5.10 dupe check

Ha a ``kell_e_msgid'' változót 1-re állítod, akkor a hixsplit minden egyes levélre kiszámol egy msgid-t, ami egy --az adott és csak az adott levélre jellemző-- szám, és ezt eltárolja a ``~/.hixsplit.msgids'' fájlban. Mielőtt egy levelet beengedne a mailboxodba, megnézi, hogy a száma szerepel-e már a ``.hixsplit.msgids''-ben, mert ha igen, az azt jelenti, hogy a levelet egyszer már megkaptad. (Magyarul kivédei a duplán / triplán / ... postázott leveleket, és a cross postolt üzeneteket.)

Azt, hogy hány levél msgid-jét tárolja, a ``msgid_tag_szam'' változóval állíthatod be.

Mivel a HIX is bevezetett egy saját crosspost gátló rendszert, ezért az emberek nem ugyan azt a levelet küldik el egyszerre több HIX újságba, hanem kicsit megváltoztatnak rajta ezt-azt, hogy a HIX rendszere ne vegye észre, hogy ugyan arról a levélről van szó. Ha az ``izmos_msgid'' változót 1-re állítod, akkor a hixsplit az ilyen crosspostok bizonyos hányadát is ki tudja szűrni.

Ha azt szeretnéd, hogy a hixsplit a kiszámított Message ID-t beleírja a levél fejlécébe, akkor a ``kell_e_msgid_mezo'' mezőt változtasd 1-re.

Megjegyzés: Ez teljesen független a ``kell_e_msgid'' beállításától, azaz akár a ``kell_e_msgid'' lehet 0, míg a ``kell_e_msgid_mezo'' 1.

5.11 Hírdetések

kell_e_hirdetes

Ha a ``kell_e_hirdetes'' változót 1-re állítod, akkor a HIX GURU újság esetén megkapod a GURU végéhez csapott hírdetéseket is; ha 0-ra, akkor elnyeli őket a feneketlen mélység.

hirdetes_ami_erdekel

Ha a ``kell_e_hirdetes=0'', akkor itt reguláris kifejezések formájában megadhatod melyek azok a hírdetések, amelyek mégis érdekelnek. Pár példával szemléltetem a változó használat:

$hirdetes_ami_erdekel=sony|fenykepezogep|kamera

Ez esetben az összes olyan [HIRDETES] megmarad, amelyekben szerepel vagy a sony, vagy a fényképezőgép, vagy a kamera szó (kis-nagybetű érzéketlen).

$hirdetes_ami_erdekel=sony.*fenykepezogep

A hírdetésben szerepelnie kell a sony, majd utána a fényképezőgép szónak. (Nem szükséges egy sorban lenniük!)

5.12 E-mail blacklist

kell_e_email_blacklist

Igaz (1) esetén az ismert spam e-mail címekről érkező leveleket átirányítja a ``/dev/null''-ba.

email_blacklist

Azon e-mail címek felsorolása, amelyekről érkező levelek törölhetők. Formátuma remlem mindenki számára egyértelmű, regexpek is használhatóak.

5.13 MIME dolgok

dpgmime_levelek_kosz_nem

Ha ezt a változót 1-re állítod, akkor automatikusan törlődnek a drótpostások által gyakran megjelenő "This is a cryptographically signed message in MIME format..."-szerű üzenetek.

kell_e_mime_figyelmezteto_uzenet

A MIME leveleket küldőknek automatikusan visszaküld a hixsplit egy figyelmeztető levelet, ha ezt a változót 1-re állítod.

mime_figyelmezteto_subject

Ez lesz a figyelmeztető levél subject-je.

mime_figyelmezteto_uzenet

Ez maga a levél. (Ha a defaultot használod, ne felejtsd el a levél végén az ignotus-t kicserélni a saját nevedre! :-))

5.14 Ékezettelenítés

ekezetek_le

1-re állítva a hixsplit ékezetteleníti a leveleket.

kell_e_ekezetek_header

Beszúr a levél fejléc mezői közé egy ``X-hixsplit-ekezetek'' mezőt, mely tartalmazza hogy hány ékezetet talált a hixsplit az eredeti levélben. (Mire jó? Pl.: ha korrekt mail klienst használsz, akkor megcsinálhatod, hogy mikor válaszolsz egy levélre akkor automatikusan beszúrásra kerül egy ilyen szöveg: A leveledben talat 36 ekezetes betut lecsereltem. Vagy valami ilyesmi. :-))

kell_e_ekezetet_leszedtem_szoveg

Akarod-e, hogy a hixsplit mikor ékezettelenített egy levelet (tehát a levélben voltak ékezetek), akkor kiírjon valami szöveget a levél végére.

ekezet_tureshatar

Amikor a hixsplit eldönti, hogy beszúrja-e azt a bizonyos szöveget a levél végére, akkor előtte megnézi, hogy több ékezetet talált-e mint ami meg van adva az ``ekezet_tureshatar''-ban. Ez arra jó, hogy ha pl. valakinek csak az aláírásában van 2-3 ékezet akkor ne "pofázzon" a hixsplit.

ekezetet_leszedtem_szoveg, idezetben_levo_ekezeteket, mindenhol_voltak_ekezetek

Az itt megadott szöveget szúrja be a hixsplit attól függően, hogy hol talált ékezeteket.

kell_e_helyes_charset_header

Ha ezt, illetve az ``ekezetek_le'' változót 1-re állítod, akkor a hixsplit nem ékezetteleníti, hanem a levél header mezőjébe beszúrja a ``charset=KODOLAS'' mezőt, aminek hatására minden levél ékezethelyesen fog megjelenni a leveleződben. (Kivéve, ha valamelyik szerver vágta le a 8. biteket vagy quoted printable a használt kódolás). Vigyázz, ez nem jelenti azt, hogy ékezetesen írhatsz a HIX listákra!

6. A hixsplit használata

6.1 Régebbi HIX-ek darabolása

Régebbi digestjeidet a következő módon daraboltathatod:

$ hixsplit < digest-mailbox >> darabolt-mailbox

A ``digest-mailbox'' akárhány digestet tartalmazhat, a végeredmény a ``darabolt-mailbox''-ba kerül. Tehát, ha pl. vagy egy standard unix mailbox formátumú ``hix-guru'' fájlod, amiben van 361 db GURU újság, akkor ezt a következő paranccsal konvertálhatod:

$ /usr/local/bin/hixsplit.pl < hix-guru > hix-guru-darabolt

Így lesz egy ``hix-guru-darabolt'' mailboxod, amiben az én esetemben 30530 db levél van.

És hogy ezek mennyi helyet foglalnak?

hix-guru = 33.3 MB
hix-guru-darabolt = 25.86 MB

Megjegyzés: Vigyázz, ne felejtsd el --ideiglenesen-- átállítani a ``~/.hixsplitrc''-dben az ``uj_levelek'' változót 0-ra!!

7. Ha valami gondom van kinek írjak?

Légyszíves ne (közvetlenül) nekem! Erre való a hixsplit-chat@egroups.com levelezési lista. (Nem kell, hogy fel is legyél iratkozva, ebben az esetben légyszíves a leveledben jelezd, hogy magánba is Cc-zzük a válaszokat!)

Ez így neked is jó, mivel többen látják a problémát és gyorsabban ki lehet találni kinél van a hiba. (Ugyanis ha nekem írsz, akkor én is itt kérdezem meg, hogy amit írtál azt már más is észrevette-e!)

Megjegyzés: Ha más nem is, én biztosan válaszolok majd az oda küldött leveledre!