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 +