# $Id: .procmailrc, v. 1.9.2 2003/07/02 12:20 lukasz_k Exp $ # # this procmailrc file was composed by Lukasz Kozicki # on basis of spamrc by Pawel Krawczyk, which you can find at # http://arch.ipsec.pl/spamrc/spamrc.txt, and other by people # who posted their rules to newsgroup news:pl.news.mordplik. # # ten plik procmailrc złożył Łukasz Kozicki # na podstawie spamrc Pawła Krawczyka, który jest dostępny # pod adresem http://arch.ipsec.pl/spamrc/spamrc.txt, oraz # na podstawie przykładów regułek opublikowanych przez inne # osoby na forum grupy dyskusyjnej news:pl.news.mordplik MAILDIR=$HOME/.mail DEFAULT=$MAILDIR/inbox/ LOGFILE=$HOME/procmail.log # SMIETNIK=/dev/null # # UWAGA !!! taki wpis do regłek sprawi, że wszystko będzie # kasowane, czyli węduje do /dev/null - jeśli więc nie jesteś # pewien, że możssz tak zrobić - lepiej tego nie rób. Zamiast # /dev/null wpisz nazwę jekiegoś katalogu na swoim koncie aby # później móc przejrzeć pocztę przeniesioną przez procmaila. # Przenoszenie całej skasowanej poczty do oddzielnego folderu # do późniejszego przejrzenia za pomocą pine'a. SMIETNIK=$HOME/.mail/pine/filtered # Pliki .whitelist i .blacklist to pliki tekstowe, zawierajšce # adresy w postaci: "login@domena", po jednym wpisie w każdej # linii (bez cudzysłowia). # Pliki .white_domains i .black_domains , to pliki zawierajšce # same domeny, po jednym wpisie w każdej linii. WHITELIST=$HOME/.whitelist WHITE_DOM=$HOME/.white_domains # BLACKLIST=$HOME/.blacklist # BLACK_DOM=$HOME/.black_domains # Ścieżki do pogramów natrzędziowych FORMAIL=/usr/local/bin/formail GREP=/usr/bin/grep SED=/usr/bin/sed # Korekta adresów nadawcy, na wypadek nieprawidłowych zapisów :0 fhw | $FORMAIL -I "From " -a "From " # Ekstrakcja adresu nadawcy, następnie wyodrębnienie z niego # domeny i ewentualnie loginu ADDRESS=`${FORMAIL} -zxFrom: -zxReply-To: | $SED -e s/"^.*<"// | $SED -e s/">.*$"//` SERWER=`echo ${ADDRESS} | cut -f2 -d"@"` #LOGIN=`echo ${ADDRESS} | cut -f1 -d"@"` ############################################################# # Teraz, najpierw pozbędziemy się całej poczty przychodzącej z # Chin, Tajwanu i Korei. Przeniosłem tę regułki na początek, # bo dostawałem za dużo spamu z Azji, z fałszywymi adresami w # mojej domenie. # # Na początek 2 regułki, odrzucające spam na podstawie adresu # nadawcy - ale także odbiorcy lub adresu zrotnego w domanach # tych krajów... Można tez dodać ar, br, jp, hk, my, ng i th. :0 H * ^(From|To|Reply-To|Return-Path).*<.+@.+\.(cn|kr|th|tw)> { :0 fhw | $FORMAIL -A"X-Sorted: Bad TLD" :0 $SMIETNIK } # ... 3 regułki na koreańskie - lub inne nieczytelne znaki - # zawarte w temacie listu ... :0 H * ^Subject:.*[ \x80-\xFF]{8} # Dowolny ze znaków, jakich nie ma w polskim alfabecie... # ... lub więcej niż 7 kolejnych znaków o kodzie > 128 # (z podziękowaniami dla Pawła Kierskiego) # * ^Subject:.*[¤ĐTDÎÔRRUÜUÚLÄRÇtíöôäs?çd¸°¨´] { :0 fhw | $FORMAIL -A"X-Sorted: Bad Subject Alphabet" :0 $SMIETNIK } # Filtrowanie po charsecie w niektórych polach nagłówka :0 H * 0^0 * 1^1 ^(From|To|Content-Type|Subject).*koi8-r * 1^1 ^(From|To|Content-Type|Subject).*(gb2312|big5) * 1^1 ^(From|To|Content-Type|Subject).*ks_c_5601\-1987 * 1^1 ^(From|To|Content-Type|Subject).*(euc|EUC).(kr|KR) * 1^1 ^(From|To|Content-Type|Subject).*(iso|ISO).2022.(jp|JP|kr|KR) { :0 fhw | $FORMAIL -A"X-Sorted: Bad Charset" :0 $SMIETNIK } ############################################################# # Zanim zaczniemy filtrować przeniesiemy pocztę od niektórych # nadawców prosto do skrzynki pocztowej :0 H #* ? test -f ${WHITELIST} && (${FORMAIL} -zxFrom: -zxReply-To: |\ # $SED -e s/"^.*<"// | $SED -e s/">.*$"// | $GREP -i -f ${WHITELIST}) # Regułka sprawiała jakies kłopoty, do sprawdzenia. #* ? test -f ${WHITELIST} && (${ADDRESS} | $GREP -i -f ${WHITELIST}) # Ta tez sprawiała kłopoty, do sprawdzenia. * ? grep "${ADDRESS}" $WHITELIST { :0 fhw | $FORMAIL -A"X-Sorted: Whitelist - Address" :0 $DEFAULT } :0 H * ? grep "${SERWER}" $WHITE_DOM { :0 fhw | $FORMAIL -A"X-Sorted: Whitelist - Domains" :0: $DEFAULT } # Ponadto, od razu wysyłam do skrzynki pocztowej maile z list # dyskusyjnych w Yahoo. :0 H * 0^0 * 1^1 ^Return\-Path.*\@returns\.groups\.yahoo\.com * 1^1 ^To.*\@yahoogroups\.com { :0 fhw | $FORMAIL -A"X-Sorted: YahooGroups" :0: $DEFAULT } # Na razie nieużywana regułka na blacklist - poczty od pewnych # nadawców nawet nie warto filtrować. # #:0 H #* ? test -f ${BLACKLIST} && (${FORMAIL} -zxFrom: -zxReply-To: |\ # $SED -e s/"^.*<"// | $SED -e s/">.*$"// | $GREP -i -f ${WHITELIST}) #{ # :0 fhw # | $FORMAIL -A"X-Sorted: Blacklist" # # :0 # $SMIETNIK #} # Nie lubię listów w czystym HTML... :0 H * ^Content-type: text/html { :0 fhw | $FORMAIL -A"X-Sorted: HTML Only" :0 $SMIETNIK } # Filtrowanie po wybranych tematach spamów komercyjnych i porno # # Wyłączone z powodu jakiegoś błędu w regexpie, ktrego nie mogę # znaleźć. # #:0 H #* ^Subject:.*(\ # [ ]*ADV[.: ]+.*\ # |\(ADV\).*\ # |[ ]*XXX[ ]+.*\ # |[ ]*ADD Support:[.]+.*\ # |[?!][ ][0-9]\ # |money.*\ # |[Mm].o.n.e.y.*\ # |$$$$$.*\ # |[cC]ash.*\ # |millionaire.*\ # |Info you request[ \t]*-[0-9]+.*\ # |[Ii]nformation that you have requested.*\ # |guaranteed[?!]*.*\ # |investment.*\ # |E-Business.*\ # |for FREE.*\ # |[iI]nvestment.*\ # |[sS]pecial.[oO]ffer.*\ # |[hH]ot.*[tT]een.*\ # |[E|e]streme.*[S|s]ex.*\ # |[S|s]exy.*\ # |[P|p]ussy.*\ # |[F|f]uck.*\ # |sexual.*\ # |ADULT.*\ # |adult.*\ # |pportunity.*\ # |viagra.*\ # |penis.*\ # |nude.*\ # |ltimate\ HGH.*\ # |H[. ]G[. ]H.*\ # |OTCBB) #{ # :0 fhw # | $FORMAIL -A"X-Sorted: Bad Subject Words" # # :0 # $SMIETNIK #} ############################################################ # ... i na koniec coś jeszcze na szczególnie (dla mnie) # uciążliwe spamerkie azjatyckie firmy. Jeśli do Ciebie spam # wysyła inna firma - może warto ją dodać. :0 H * 0^0 * 1^1 ^(From|To|Reply-To|Return-Path).*(\ china\ |dreamwiz\ |earthlink\ |eastciti\ |email\ |empal\ |eudoramail\ |hanmir\ |korea\ |koreaibc\ |naver\ |netian\ |sinamail\ |test\ )\.com * 1^1 ^(From|To|Reply-To|Return-Path).*yahoo\.co\.(\ jp\ |br) * 1^1 ^(From|To|Reply-To|Return-Path).*\.(\ orgio\ |hanmail\ |x0z\ )\.net * 1^1 ^(From|To|Reply-To|Return-Path).*\.(\ \.or\ |\.ne\ )\.jp { :0 fhw | $FORMAIL -A"X-Sorted: Bad From Domain" :0 $SMIETNIK } # Teraz regułka na serwisy, których użytkownicy wysyłają dużo # spamu, a szefostwo firm nie bardzo się tym chyba przejmuje. # Usuwane są jednak tylko te adresy, które zawierają w nazwie # użytkownika co najmniej 4 liczby pod rząd. Są to najczęściej # fikcyjne adresy, żywi ludzie, jeśli mają numery w loginie - # to raczej nie aż tyle. # # Jednak uwaga - jeśli masz znajomych używających konta w yahoo, # excite albo hotmail - być może musisz usunąć te nazwy z tej # regułki, jeśli ich loginy zawierają co najmniej 4 cyfry. :0 H * ^(From|To|Reply-To|Return-Path).*<.*[0-9][0-9][0-9][0-9].*\@.*(\ (aol\ |msn\ |yahoo\ |excite\ |hotmail\ |altavista\ |naver\ |earthlink\ |eudoramail\ |eastciti\ )\.com)\ |webcity\.ca\ |surg.co.uk> { :0 fhw | $FORMAIL -A"X-Sorted: Bad From Numbered Login In Bad Domain" :0 $SMIETNIK } # A ta regułka pozwala pozbyć się całej grupy wirusów, które się # rozsyłają jako multipart i próbują uruchamić się w iframe. # Tę regułkę napisał Paweł Kierski z MkS_vir pkierski<>mks.com.pl # i opublikował 2002-06-09 w grupie news:pl.news.mordplik :0 H * ^Content-Type:.*multipart { :0 B * ^Content-Type:.*text/html * iframe.*src * ^Content.ID: { :0 fhw | $FORMAIL -A"X-Sorted: Bad Content-Type" :0 $SMIETNIK } } # Revision history # # $Id: .procmailrc, v 1.9 2003/07/01 20:11:00 lukasz_k Exp $ # większa porcja zmian i korekta kilku niedziałajšcych # regułek, głównie na alternatywne wpisy # # $Id: .procmailrd, v 1.8 2002/12/25 23:58:50 lukasz_k Exp $ # dopisana reguła na czysty HTML Content-type: text/html # # $Id: .procmailrd, v 1.7 2002/12/03 11:49:44 lukasz_k Exp $ # Dopisane whitelist - przenoszone od razu do poczty oraz # przy każdym odfiltrowanym mailu do jego nagłówka będzie # dopisane wyjaśnienie przyczyny odfiltrowania # # $Id: .procmailrd, v 1.6 2002/11/30 23:04:44 lukasz_k Exp $ # filtrowanie po tematach spamów komercyjnych i porno # przenoszenie skasowanej poczty do oddzielnego folderu # # $Id: .procmailrc, v 1.5 2002/10/12 14:29:04 lukasz_k Exp $ # uzupełnienie regexpa na once znaczki o kolejne pozycje # uzupełnienie regexpa euc(_|-)kr i iso-2022-(kr|jp) # # $Id: .procmailrc, v 1.4 2002/10/02 22:32:10 lukasz_k Exp $ # ochrona przed spamem z Japonii * ^Subject: =?iso-2022-jp? # # $Id: .procmailrc, v 1.3 2002/10/01 ??:??:?? lukasz_k Exp $ # przenoszenie do $DEFAULT maili pochodzących z/do # * ^(To|Reply-To).*\@yahoogroups\.com # # $Id: .procmailrc, v 1.2 2002/09/29 20:33:00 lukasz_k Exp $ # pierwsza jako-tako wyglądająca wersja # #