From dd0217b46b7a557c52a7f8a19b08530cb2878219 Mon Sep 17 00:00:00 2001 From: somebodywashere <68244480+somebodywashere@users.noreply.github.com> Date: Tue, 1 Aug 2023 23:58:16 +0300 Subject: [PATCH] IP Limit Tweaks to reduce false bans (#850) * IP Limit Tweaks to reduce false bans 1) Check IPs every 10s instead of 20s 2) F2B jail: maxretry 3 -> 4, findtime 100 -> 60 * USERS SHOULD UPDATE BANTIME ONCE AFTER UPDATE to recreate jail for Ip Limit --- web/job/check_client_ip_job.go | 4 ++-- web/web.go | 4 ++-- x-ui.sh | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/web/job/check_client_ip_job.go b/web/job/check_client_ip_job.go index 580ce35a..1c5dec83 100644 --- a/web/job/check_client_ip_job.go +++ b/web/job/check_client_ip_job.go @@ -130,8 +130,8 @@ func (j *CheckClientIpJob) processLogFile() { } - // added 3 seconds delay before cleaning logs to reduce chance of logging IP that already has been banned - time.Sleep(time.Second * 3) + // added delay before cleaning logs to reduce chance of logging IP that already has been banned + time.Sleep(time.Second * 2) if shouldCleanLog { // copy access log to persistent file diff --git a/web/web.go b/web/web.go index 14e06f67..9cde6a6c 100644 --- a/web/web.go +++ b/web/web.go @@ -250,8 +250,8 @@ func (s *Server) startTask() { // Check the inbound traffic every 30 seconds that the traffic exceeds and expires s.cron.AddJob("@every 30s", job.NewCheckInboundJob()) - // check client ips from log file every 20 sec - s.cron.AddJob("@every 20s", job.NewCheckClientIpJob()) + // check client ips from log file every 10 sec + s.cron.AddJob("@every 10s", job.NewCheckClientIpJob()) // check client ips from log file every 3 day s.cron.AddJob("@every 3d", job.NewClearLogsJob()) diff --git a/x-ui.sh b/x-ui.sh index 001f6317..d0523e7f 100644 --- a/x-ui.sh +++ b/x-ui.sh @@ -713,8 +713,8 @@ enabled=true filter=3x-ipl action=3x-ipl logpath=${iplimit_log_path} -maxretry=3 -findtime=100 +maxretry=4 +findtime=60 bantime=${bantime}m EOF