LiquidProxy Lua Edition
at master 23 lines 490 B view raw
1local leaderboard = {} 2---@type table<string,boolean> 3AllowedIPs = {} 4---@type table<string,boolean> 5BannedIPs = {} 6 7local max_allowed = Config.secure.fail2ban_max_tries 8 9function AddIP(ip) 10 local lip = leaderboard[ip] 11 leaderboard[ip] = lip and lip + 1 or 1 12 l:info(ip.." failed auth") 13 if (lip or 1) >= max_allowed - 1 then 14 BannedIPs[ip] = true 15 l:info("Banned %s for failing fail2ban", ip) 16 end 17end 18 19-- auth pass 20function RemoveIP(ip) 21 leaderboard[ip] = nil 22 AllowedIPs[ip] = true 23end