From 7cb36f2072bb873c80a47bc3f7513a7eb557e0a2 Mon Sep 17 00:00:00 2001 From: MHSanaei Date: Sat, 10 Feb 2024 01:52:20 +0330 Subject: [PATCH] clear log hourly if !j.hasLimitIp and "./access.log" exist --- web/job/check_client_ip_job.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/web/job/check_client_ip_job.go b/web/job/check_client_ip_job.go index 65e2a0ca..2cf72555 100644 --- a/web/job/check_client_ip_job.go +++ b/web/job/check_client_ip_job.go @@ -51,6 +51,23 @@ func (j *CheckClientIpJob) Run() { j.checkFail2BanInstalled() j.processLogFile() } + + if !j.hasLimitIp() && xray.GetAccessLogPath() == "./access.log" { + go j.clearLogTime() + } +} + +func (j *CheckClientIpJob) clearLogTime() { + for { + time.Sleep(time.Hour) + j.clearAccessLog() + } +} + +func (j *CheckClientIpJob) clearAccessLog() { + accessLogPath := xray.GetAccessLogPath() + err := os.Truncate(accessLogPath, 0) + j.checkError(err) } func (j *CheckClientIpJob) hasLimitIp() bool { @@ -121,7 +138,7 @@ func (j *CheckClientIpJob) processLogFile() { matches := ipRegx.FindStringSubmatch(line) if len(matches) > 1 { ip := matches[1] - if ip == "127.0.0.1" || ip == "[::1]" { + if ip == "127.0.0.1" { continue }