Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 3.144.114.4
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
share /
rspamd /
plugins /
[ HOME SHELL ]
Name
Size
Permission
Action
antivirus.lua
11.24
KB
-rw-r--r--
arc.lua
26.72
KB
-rw-r--r--
asn.lua
4.78
KB
-rw-r--r--
aws_s3.lua
7.93
KB
-rw-r--r--
bayes_expiry.lua
14.21
KB
-rw-r--r--
bimi.lua
11.5
KB
-rw-r--r--
clickhouse.lua
49.6
KB
-rw-r--r--
clustering.lua
9.16
KB
-rw-r--r--
dcc.lua
3.19
KB
-rw-r--r--
dkim_signing.lua
5.25
KB
-rw-r--r--
dmarc.lua
21.89
KB
-rw-r--r--
dynamic_conf.lua
8.7
KB
-rw-r--r--
elastic.lua
54.28
KB
-rw-r--r--
emails.lua
128
B
-rw-r--r--
external_relay.lua
7.89
KB
-rw-r--r--
external_services.lua
12.3
KB
-rw-r--r--
force_actions.lua
7.67
KB
-rw-r--r--
forged_recipients.lua
5.32
KB
-rw-r--r--
fuzzy_collect.lua
5.46
KB
-rw-r--r--
gpt.lua
11.32
KB
-rw-r--r--
greylist.lua
16.36
KB
-rw-r--r--
hfilter.lua
16.15
KB
-rw-r--r--
history_redis.lua
9.31
KB
-rw-r--r--
http_headers.lua
6.46
KB
-rw-r--r--
ip_score.lua
130
B
-rw-r--r--
known_senders.lua
13.2
KB
-rw-r--r--
maillist.lua
6.55
KB
-rw-r--r--
maps_stats.lua
3.7
KB
-rw-r--r--
metadata_exporter.lua
20.19
KB
-rw-r--r--
metric_exporter.lua
6.4
KB
-rw-r--r--
mid.lua
3.58
KB
-rw-r--r--
milter_headers.lua
21
KB
-rw-r--r--
mime_types.lua
20.09
KB
-rw-r--r--
multimap.lua
40.08
KB
-rw-r--r--
mx_check.lua
11.42
KB
-rw-r--r--
neural.lua
32.82
KB
-rw-r--r--
once_received.lua
4.76
KB
-rw-r--r--
p0f.lua
2.88
KB
-rw-r--r--
phishing.lua
19.33
KB
-rw-r--r--
ratelimit.lua
22.77
KB
-rw-r--r--
rbl.lua
40.09
KB
-rw-r--r--
replies.lua
13.69
KB
-rw-r--r--
reputation.lua
39.69
KB
-rw-r--r--
rspamd_update.lua
4.07
KB
-rw-r--r--
settings.lua
40.17
KB
-rw-r--r--
spamassassin.lua
48.89
KB
-rw-r--r--
spamtrap.lua
5.87
KB
-rw-r--r--
spf.lua
7.49
KB
-rw-r--r--
trie.lua
4.89
KB
-rw-r--r--
url_redirector.lua
13.42
KB
-rw-r--r--
whitelist.lua
11.54
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : force_actions.lua
--[[ Copyright (c) 2017, Andrew Lewis <nerf@judo.za.org> Copyright (c) 2022, Vsevolod Stakhov <vsevolod@rspamd.com> Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ]]-- -- A plugin that forces actions if confighelp then return end local E = {} local N = 'force_actions' local selector_cache = {} local fun = require "fun" local lua_util = require "lua_util" local rspamd_cryptobox_hash = require "rspamd_cryptobox_hash" local rspamd_expression = require "rspamd_expression" local rspamd_logger = require "rspamd_logger" local lua_selectors = require "lua_selectors" -- Params table fields: -- expr, act, pool, message, subject, raction, honor, limit, flags local function gen_cb(params) local function parse_atom(str) local atom = table.concat(fun.totable(fun.take_while(function(c) if string.find(', \t()><+!|&\n', c, 1, true) then return false end return true end, fun.iter(str))), '') return atom end local function process_atom(atom, task) local f_ret = task:has_symbol(atom) if f_ret then f_ret = math.abs(task:get_symbol(atom)[1].score) if f_ret < 0.001 then -- Adjust some low score to distinguish from pure zero f_ret = 0.001 end return f_ret end return 0 end local e, err = rspamd_expression.create(params.expr, { parse_atom, process_atom }, params.pool) if err then rspamd_logger.errx(rspamd_config, 'Couldnt create expression [%1]: %2', params.expr, err) return end return function(task) local function process_message_selectors(repl, selector_expr) -- create/reuse selector to extract value for this placeholder local selector = selector_cache[selector_expr] if not selector then selector_cache[selector_expr] = lua_selectors.create_selector_closure(rspamd_config, selector_expr, '', true) selector = selector_cache[selector_expr] if not selector then rspamd_logger.errx(task, 'could not create selector [%1]', selector_expr) return "((could not create selector))" end end local extracted = selector(task) if extracted then if type(extracted) == 'table' then extracted = table.concat(extracted, ',') end else rspamd_logger.errx(task, 'could not extract value with selector [%1]', selector_expr) extracted = '((error extracting value))' end return extracted end local cact = task:get_metric_action() if not params.message and not params.subject and params.act and cact == params.act then return false end if params.honor and params.honor[cact] then return false elseif params.raction and not params.raction[cact] then return false end local ret = e:process(task) lua_util.debugm(N, task, "expression %s returned %s", params.expr, ret) if (not params.limit and ret > 0) or (ret > (params.limit or 0)) then if params.subject then task:set_metric_subject(params.subject) end local flags = params.flags or "" if type(params.message) == 'string' then -- process selector expressions in the message local message = string.gsub(params.message, '(${(.-)})', process_message_selectors) task:set_pre_result { action = params.act, message = message, module = N, flags = flags } else task:set_pre_result { action = params.act, module = N, flags = flags } end return true, params.act end end, e:atoms() end local function configure_module() local opts = rspamd_config:get_all_opt(N) if not opts then return false end if type(opts.actions) == 'table' then rspamd_logger.warnx(rspamd_config, 'Processing legacy config') for action, expressions in pairs(opts.actions) do if type(expressions) == 'table' then for _, expr in ipairs(expressions) do local message, subject if type(expr) == 'table' then subject = expr[3] message = expr[2] expr = expr[1] else message = (opts.messages or E)[expr] end if type(expr) == 'string' then -- expr, act, pool, message, subject, raction, honor, limit, flags local cb, atoms = gen_cb { expr = expr, act = action, pool = rspamd_config:get_mempool(), message = message, subject = subject } if cb and atoms then local h = rspamd_cryptobox_hash.create() h:update(expr) local name = 'FORCE_ACTION_' .. string.upper(string.sub(h:hex(), 1, 12)) rspamd_config:register_symbol({ type = 'normal', name = name, callback = cb, flags = 'empty', group = N, }) for _, a in ipairs(atoms) do rspamd_config:register_dependency(name, a) end rspamd_logger.infox(rspamd_config, 'Registered symbol %1 <%2> with dependencies [%3]', name, expr, table.concat(atoms, ',')) end end end end end elseif type(opts.rules) == 'table' then for name, sett in pairs(opts.rules) do local action = sett.action local expr = sett.expression if action and expr then local flags = {} if sett.least then table.insert(flags, "least") end if sett.process_all then table.insert(flags, "process_all") end local raction = lua_util.list_to_hash(sett.require_action) local honor = lua_util.list_to_hash(sett.honor_action) local cb, atoms = gen_cb { expr = expr, act = action, pool = rspamd_config:get_mempool(), message = sett.message, subject = sett.subject, raction = raction, honor = honor, limit = sett.limit, flags = table.concat(flags, ',') } if cb and atoms then local t = {} if (raction or honor) then t.type = 'postfilter' t.priority = lua_util.symbols_priorities.high else t.type = 'normal' if not sett.least then t.augmentations = { 'passthrough', 'important' } end end t.name = 'FORCE_ACTION_' .. name t.callback = cb t.flags = 'empty, ignore_passthrough' t.group = N rspamd_config:register_symbol(t) if t.type == 'normal' then for _, a in ipairs(atoms) do rspamd_config:register_dependency(t.name, a) end rspamd_logger.infox(rspamd_config, 'Registered symbol %1 <%2> with dependencies [%3]', t.name, expr, table.concat(atoms, ',')) else rspamd_logger.infox(rspamd_config, 'Registered symbol %1 <%2> as postfilter', t.name, expr) end end end end end end configure_module()
Close