# Port for Aardvark to listen on
port: 1729

# Which backend to proxy to if request is kosher
proxy_url: "http://localhost:8080/"

# Max size in bytes for a request payload. 60MB.
max_request_size: 62914560

# Default IP forward header from httpd
ipheader: x-forwarded-for

# This is the text of the 403 response if a request is blocked
spam_response: "Your request has been blocked. If you feel this is in error, please let us know at: abuse@infra.apache.org. Be sure to include your IP address so we know what to look for."

# Debug prints for ...debug. disabled by default
debug: false

# Enable persistent storage of offenders
persistence: true

# Suppress repeat offenders from syslog. setting `debug: true` overrides this.
suppress_repeats: true

# This is where we save the bad requests, for further perusal. Only one request per IP is saved (the first)
savedata: /tmp/aardvark

##############################
# The actual spam scan rules #
##############################

# When using the naïve spam corpus for form data, this threshold causes a block.
# 0 is considered perfectly sane ham, 50 is bordering on spam, 100 is definitely spam
enable_naive_scan: true
naive_spam_threshold: 85

# These automatically cause a ban
spamurls:
    - "/jira/rest/api/.+/issue/AAR-\\d+/comment"

# Don't run spam check here...
ignoreurls:
    - "AttachTemporaryFile"

# Match any of these to banninate
postmatches:
    - "mobilestrikehacktools"
    - "monsterlegendshackx"
    - "router customer service"
    - "router customer support"
    - "customer service number"
    - "customer care phone"
    - "\\b(https?[:/%32AF]*\\S*essay\\S*)\\b"
    - "escorts"
    - "solitairetimes"
    - "myspades"
    - "myeuchre"
    - "ringtone"
    - "keywords INNER JOIN keyworddefs ON keywords.keywordid"
    - "\\b(https?[:/%32AF]*[^/\\s]*resume\\S*)\\b"
    - "\\b(https?[:/%32AF]*\\S*800support\\S*)\\b"
    - "drzafarsaifi"
    - "\\b(https?[:/%32AF]*\\S*dissertation\\S*)\\b"
    - "\\b(https?[:/%32AF]*[^/\\s]*assignment\\S*)\\b"
    - "\\b(https?[:/%32AF]*[^/\\s]*dumps\\S*)\\b"
    - "\\b(https?[:/%32AF]*[^/\\s]*lead\\S*)\\b"
    - "\\b(https?[:/%32AF]*\\S*poker\\S*)\\b"
    - "assignmenthelp"
    - "paperwriting"
    - "bestdiss"
    - "besttempmail"
    - "eventeca"
    - "ngaydem"
    - "moneyprinters"
    - "free[- ]watch.+?listen"
    - "https://tvvslivenba.co/"
    - "certsexpert"
    - "online bank"
    - "bank online"
    - "online deposit"
    - "deposit online"
    - "deposit bank"
    - "bank deposit"
    - "casino"
    - "money back"
    - "% discount"
    - "Full Movie Online"
    - "sevenmentor"
    - "streamsable"

# Match multiple of these to ban
multimatch:
    auxiliary:
        - "p.?h.?o.?n.?e"
        - "s.?u.?p.?p.?o.?r.?t"
    required:
        - "(1[-.\\s]+\\d\\d\\d[-.\\s]+\\d\\d\\d[-.\\s]+\\d\\d\\d\\d)"
