Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
Diffstat (limited to 'web')
-rw-r--r--web/job/check_client_ip_job.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/web/job/check_client_ip_job.go b/web/job/check_client_ip_job.go
index 74ef3e09..b15473c5 100644
--- a/web/job/check_client_ip_job.go
+++ b/web/job/check_client_ip_job.go
@@ -4,6 +4,7 @@ import (
"encoding/json"
"log"
"os"
+ "os/exec"
"regexp"
"sort"
"strings"
@@ -41,6 +42,7 @@ func (j *CheckClientIpJob) Run() {
// check for limit ip
if j.hasLimitIp() {
+ j.checkFail2BanInstalled()
j.processLogFile()
}
}
@@ -74,6 +76,16 @@ func (j *CheckClientIpJob) hasLimitIp() bool {
return false
}
+func (j *CheckClientIpJob) checkFail2BanInstalled() {
+ cmd := "fail2ban-client"
+ args := []string{"-h"}
+
+ err := exec.Command(cmd, args...).Run()
+ if err != nil {
+ logger.Warning("fail2ban is not installed. IP limiting may not work properly.")
+ }
+}
+
func (j *CheckClientIpJob) processLogFile() {
accessLogPath := xray.GetAccessLogPath()
if accessLogPath == "" {