File:
(main catalogue) \Scores.hstIn the file "Score.hst" to fixed rules decide which articles (news) is loaded and which are ignored.
This filter procedure is generally called "Scoring". Every article gets a fictitious value which can sink with wearing through the filter and rise. Every article begins the filter run with the Worth zero. If this value is bigger after the filter run or like zero, the article is loaded, he is negative, the article is ignored.
If an article is ignored, he becomes - if he an adjustable value (standard:-9999) does not remain - registers in the Killfile-log. Later one can get about the menu "Killfile-Log/-Einstellungen" an overview about the uninvited articles and separate articles possibly, nevertheless, allow still to reload.
First the theory follows in form of the syntax-overview, definition of the sections and allowed score-rules, afterwards still some practical examples.
Syntax-overview:
Score file = * (score block / cEOL)
Score block = score section * (score rule / cEOL)
Score section = "[" group sample * (1*WSP group sample) "]" cEOL
Group sample = ["+" / "-"] searching sample
Score rule = ["="] score value 1*WSP score choice cEOL
Score value = ("+" / "-") <number>
Score choice = ScoreDefFeld 1 * (1*WHSP score sample)
Score sample = ["+" / "-"] ["" score field ":"] searching sample
ScoreDefFeld = ["~"] score field
Score field = ("Number" / "Subject" / "From" / to "dat." /
"Message-ID" / "References" / "bytes" /
"Lines" / "Xref" / "Xpost" / "Age") [":"]
Searching sample = (RegExpMuster / simple sample)
RegExpMuster = "{" < regular expression in the PCRE-style > "}"
Simple sample = (MusterAlle / sample text / sample number)
MusterAlle = "*"
Sample text = """ <text> """
Sample number = "%" ("<" / "=" / ">") *WSP <number>
CEOL = ["*" < comment >] CRLF
Score-sections:
Every section in the score file begins with the validity area "
[...] " This area fixes the news groups in which the afterwards following filter expressions should be valid. Therefore can be filtered according to group or partial hierarchy with different criteria:[*]
* score-section for all groups
[* - ".announce"]
* score-section for all groups, out of those, which
Contain character string ".announce"
["News" "usenet"]
* score-section for all groups, which the character strings
"News" or "usenet" contains.
[{^news\}. {^alt\.usenet\}.]
* score-section for all groups which with the character strings
"News". Or "alt.usenet." begin
Besides, the expressions within the square clips " [...] " and the score-expressions in the real filter lines are constructed according to the same plan.
Score-rules:
With every score-rule the whole score of an article can decrease or raise. A positive or negative value vorangestellt becomes of the line this:
+100
subject "hamster"-100
subject " make money almost "Alternatively a firm(fixed) worth assignment is also possible, in addition becomes "=" to the real value vorangestellt:
= +9999
from "my.mail@address"=-9999
from "spam.mail@address"In both cases the score-value is changed naturally only or is set if the following rule applies to the score-value.
Besides, within the rule
can be processed only in the "XOVER" of the server to existing fields. Usually are the following fields: Subject, From, to dat., Age, Message-ID, References, bytes, Lines, Xref and Xpost.Examples of the application of different fields:
+100
subject "hamster"-100
from {no.*spam}+500
message-id "my.unique.fqdn"+100
references "my.unique.fqdn"-100 bytes % > 10000
-100
% Line's > 250The fictitious field
Xpost is based on the field Xref and contains the number of the groups in which the article should appear. This allows aimed reactions to cross-Postings:[* - ".announce"]
-10
xpost % > depreciate 2 * article in more than two groups=-9999
xpost % > 5 * article in more than five groups in the metric ton(barrel)The fictitious field
Age is based on the field to dat. and contains the age of the article during days:=-9999
age % > ignore 14 * more than two weeks old articlesIf the field name begins with the tilde
"~", the field is decoded before the application of the rule with the ACTOR'S-PROCEDURE (umlauts decode). Besides, for Performance-reasons it is done 1:1-Abbildung on the Windows-font, with exotic fonts a correct recognition is not guaranteed therefore by special character. UTF-codings are also not supported, but also (still) very rarely:+100
~subject "hämstêr"-100
~from "Jürgen"Score-sample:
Character strings without leading plus
"+" - or deficit "-" mark mean that at least one of several character strings must correspond to the field, so that the rule is valid:* "hamster" or "newsserver" or "mailserver"
+1 subject
"hamster" "newsserver" "mailserver"Character strings with leading plus sign mean that this character string must correspond to the field, so that the rule is valid:
* "hamster" in combination with "newsserver" or "mailserver"
+1 subject
+ "hamster" "newsserver" "mailserver"Character strings with leading minus sign mean that this character string may not correspond to the field, so that the rule is valid:
* "newsserver" or "mailserver" and not "unix/linux/inn"
+1 subject "newsserver" "mailserver"
- "unix" - "linux" - "inn"* From-Header without ""
=-9999 from
- ""To be able to access in an interrogation the content of another field, must the field name to the real value with " @Feldname: " vorangestellt become:
* Degrade score, provided that the Subject "help", "urgent" or "!!! "
* Contains, out of, the From-field contains "my@address" or
* Subject contains "SCNR"
-1 subject
"help" "urgent" "!!! " - @from: "my@address" - "SCNR"Stop character strings instead of in quotation marks in wandered clips "
{...} ", they are considered regular expressions (PCRE) [*] what allows much more complex expressions:* Spam-spoilers ignore, From kills, e.g., ": nospam@nix ",
* " From: no.spam.please@nada ", " From: h.g.delete@this.gmx.de "...
-1 from
{no.? Spam} {(remove|delete|cut) .*this}[*] Perl-documentation for Regular expressions in the Internet under:
Http: // www.perl.com/CPAN-local/doc/manual/html /pod/perlre.html
Other examples:
* " [*] " for all groups validly
[*]
* Your articles have a highest priority:
= 9999 From " Your name "
= 9999 Message-ID dein.fqdn
* Answers to your articles:
= 5000 References dein.fqdn
* Excessive articles ignore, provided that not "FAQ" in the Subject and not in
* Announce/information (s) groups appeared:
[ *-announce - {information? $}]
-10 % Line's > 200
-10 bytes % > 10000
20 Subject FAQ
* Ignore from articles which should appear in more than 3 groups:
-10 Xpost % > 3
* Ignore from articles with "!!! " In the Subject out of in beginner's-groups:
[ *-newuser]
-1 Subject "!!! "