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 }