<commit_before>;
; good: get a karma score greater than the positive connection limit
; bad: achieve a karma score lower than the negative connection limit
;
; how many days to penalize bad senders
penalty_days = 1

; each IPs karma history is expired after this many days
; Note: this value is refreshed upon each connection. Frequent
; senders karma may never expire.
expire_days = 60


; Redis is our super-lightweight key/value store
[redis]
server_ip   = 127.0.0.1
server_port = 6379


; concurrency limits. Limit how many concurrent connections an IP can make.
; Caution: Using this *and* the rate_limit plugin may produce unexpected
;          results. Use one or the other.
; Comment out this block of settings to disable
[concurrency]
bad=1
neutral=2
good=10

; delay excess connections this many seconds before disconnecting
disconnect_delay=10

; maximum number of recipients allowed
[recipients]
bad=1
neutral=5
good=20


[thresholds]
; Be conservative to avoid false positives!
; the threshold below which a connection is considered bad
negative=-3
; score at which a connection is considered good
positive=2

; karma history = good - bad connections. To achieve a negative score,
; senders must send more bad than good messages. Is it worth getting
; 5 spam and 2 ham? Adjust this knob accordingly.
history_negative=-3


[spammy_tlds]
; award negative karma to spammy TLDs
; caution, awarding karma > msg_negative_limit may blacklist that TLD
info=-4
biz=-3
pw=-4
;tw=-3
;cl=-2
;br=-2
;fr=-2
;be=-2
;jp=-2
;no=-2
;se=-2
;sg=-2

; karma can award points based on other plugins results.
; the key is a note to inspect and the value is a karma award
;
; Connection and transaction notes are checked by default. Use a transaction
; prefix to only check the transaction note.
;
; karma awards can be positive or negative.
;
; Any true value in the specified note will match. If that's not sufficient,
; a pattern can be specified with an @ postfix. The note value will be
; matched case insensitively.
[awards]
relaying=1
notes.auth_user=2
notes.fcrdns.fcrdns.length=1
notes.rdns_access@white=1

notes.fcrdns.no_rdns=-2
notes.fcrdns.ip_in_rdns=-1
notes.spamassassin.flag@Yes=-2
notes.bounce@invalid=-3

; SPF results: 3=Fail, 4=SoftFail, 6=Temperror, 7=Permerror
notes.spf_helo@3=-2
notes.spf_helo@4=-1
notes.spf_helo@6=-1
notes.spf_helo@7=-1
notes.spf_mail_result@3=-2
notes.spf_mail_result@4=-1
notes.spf_mail_result@6=-1
notes.spf_mail_result@7=-1
<commit_msg>karma: added disabled awards for geoip and p0f<commit_after>;
; good: get a karma score greater than the positive connection limit
; bad: achieve a karma score lower than the negative connection limit
;
; how many days to penalize bad senders
penalty_days = 1

; each IPs karma history is expired after this many days
; Note: this value is refreshed upon each connection. Frequent
; senders karma may never expire.
expire_days = 60


; Redis is our super-lightweight key/value store
[redis]
server_ip   = 127.0.0.1
server_port = 6379


; concurrency limits. Limit how many concurrent connections an IP can make.
; Caution: Using this *and* the rate_limit plugin may produce unexpected
;          results. Use one or the other.
; Comment out this block of settings to disable
[concurrency]
bad=1
neutral=2
good=10

; delay excess connections this many seconds before disconnecting
disconnect_delay=10

; maximum number of recipients allowed
[recipients]
bad=1
neutral=5
good=20


[thresholds]
; Be conservative to avoid false positives!
; the threshold below which a connection is considered bad
negative=-3
; score at which a connection is considered good
positive=2

; karma history = good - bad connections. To achieve a negative score,
; senders must send more bad than good messages. Is it worth getting
; 5 spam and 2 ham? Adjust this knob accordingly.
history_negative=-3


[spammy_tlds]
; award negative karma to spammy TLDs
; caution, awarding karma > msg_negative_limit may blacklist that TLD
info=-4
biz=-3
pw=-4
;tw=-3
;cl=-2
;br=-2
;fr=-2
;be=-2
;jp=-2
;no=-2
;se=-2
;sg=-2

; karma can award points based on other plugins results.
; the key is a note to inspect and the value is a karma award
;
; Connection and transaction notes are checked by default. Use a transaction
; prefix to only check the transaction note.
;
; karma awards can be positive or negative.
;
; Any true value in the specified note will match. If that's not sufficient,
; a pattern can be specified with an @ postfix. The note value will be
; matched case insensitively.
[awards]
relaying=1
notes.auth_user=2
notes.fcrdns.fcrdns.length=1
notes.rdns_access@white=1

; penalties (negative karma)
notes.fcrdns.no_rdns=-2
notes.fcrdns.ip_in_rdns=-1
notes.spamassassin.flag@Yes=-2
notes.bounce@invalid=-3
;notes.geoip.too_far=-1
;notes.p0f.os_name@windows=-1

; SPF results: 3=Fail, 4=SoftFail, 6=Temperror, 7=Permerror
notes.spf_helo@3=-2
notes.spf_helo@4=-1
notes.spf_helo@6=-1
notes.spf_helo@7=-1
notes.spf_mail_result@3=-2
notes.spf_mail_result@4=-1
notes.spf_mail_result@6=-1
notes.spf_mail_result@7=-1

{'fraction_non_alphanumeric': 0.08320158102766799, 'fraction_numerical': 0.02766798418972332, 'mean_word_length': 4.537199124726477, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4070515', 'n_tokens_mistral': 1744, 'n_tokens_neox': 1639, 'n_words': 634}