diff --git a/haproxy/map/css.map b/haproxy/map/css.map
new file mode 100644
index 0000000..4f1ea0d
--- /dev/null
+++ b/haproxy/map/css.map
@@ -0,0 +1 @@
+localhost body%20%7B%0A%20%20%20%20position%3A%20relative%3B%0A%20%20%20%20font-size%3A%2020px%3B%0A%7D%0A%0Abody%3A%3Abefore%20%7B%0A%20%20%20%20content%3A%20%22%22%3B%0A%20%20%20%20position%3A%20absolute%3B%0A%20%20%20%20top%3A%200%3B%0A%20%20%20%20left%3A%200%3B%0A%20%20%20%20width%3A%20100%25%3B%0A%20%20%20%20height%3A%20100%25%3B%0A%20%20%20%20background-image%3A%20url(%22https%3A%2F%2Fbasedflare.com%2Ffavicon.ico%22)%3B%0A%20%20%20%20background-repeat%3A%20repeat%3B%0A%20%20%20%20background-size%3A%20auto%3B%0A%20%20%20%20opacity%3A%200.05%3B%0A%20%20%20%20z-index%3A%20-1%3B%0A%7D
diff --git a/src/lua/scripts/bot-check.lua b/src/lua/scripts/bot-check.lua
index 1e37043..0fb4dbc 100644
--- a/src/lua/scripts/bot-check.lua
+++ b/src/lua/scripts/bot-check.lua
@@ -63,6 +63,8 @@ else
captcha_siteverify_path = "/recaptcha/api/siteverify"
end
+local css_map = Map.new("/etc/haproxy/map/css.map", Map._str);
+
function _M.secondsToDate(seconds)
local formattedDate = os.date("!%a, %d-%b-%y %H:%M:%S GMT", seconds)
return formattedDate
@@ -125,6 +127,9 @@ function _M.view(applet)
end
local ls = locales_strings[lang]
+ -- get any custom css
+ local css_val = css_map:lookup(host)
+
-- set response body and declare status code
local response_body = ""
local response_status_code
@@ -212,6 +217,7 @@ function _M.view(applet)
lang,
ls,
ll["Hold on..."],
+ css_val,
combined_challenge,
ddos_config["pd"],
argon_time,
@@ -390,16 +396,6 @@ function _M.view(applet)
end
--- set lang json in var for use with json_query sf for using translations in template files without a lua view
-function _M.set_lang_json(txn)
- local lang = _M.get_first_language(txn, false)
- local ls = locales_strings[lang]
- if ls == nil then
- ls = locales_strings[default_lang]
- end
- txn:set_var("txn.lang_json", ls)
-end
-
-- set a variable if ip or subnet in blocked/whitelist map and list of usernames matches the one for the current domain
local blockedip_map = Map.new("/etc/haproxy/map/blockedip.map", Map._ip);
local blockedasn_map = Map.new("/etc/haproxy/map/blockedasn.map", Map._str);
@@ -428,6 +424,17 @@ local lookupvar_tbl = {
return _txn:get_var("txn.xcn")
end,
}
+
+-- set lang json in var for use with json_query sf for using translations in template files without a lua view
+function _M.set_lang_json(txn)
+ local lang = _M.get_first_language(txn, false)
+ local ls = locales_strings[lang]
+ if ls == nil then
+ ls = locales_strings[default_lang]
+ end
+ txn:set_var("txn.lang_json", ls)
+end
+
function _M.set_ip_var(txn, map_name, set_variable, lookup_var)
-- get the host header and user ip
local host = txn.sf:hdr("Host")
diff --git a/src/lua/scripts/templates.lua b/src/lua/scripts/templates.lua
index 6eb9fe0..4fb8530 100644
--- a/src/lua/scripts/templates.lua
+++ b/src/lua/scripts/templates.lua
@@ -28,6 +28,7 @@ _M.body = string.format([[
%s
%s
+