Disable User By IPLimit

This commit is contained in:
mansnip 2025-07-19 21:03:54 +03:30
parent 011e0f309a
commit b828779c8b

View file

@ -260,14 +260,6 @@ func (j *CheckClientIpJob) updateInboundClientIps(inboundClientIps *model.Inboun
shouldCleanLog := false shouldCleanLog := false
j.disAllowedIps = []string{} j.disAllowedIps = []string{}
logIpFile, err := os.OpenFile(xray.GetIPLimitLogPath(), os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0644)
if err != nil {
logger.Errorf("failed to open IP limit log file: %s", err)
return false
}
defer logIpFile.Close()
log.SetOutput(logIpFile)
log.SetFlags(log.LstdFlags)
for _, client := range clients { for _, client := range clients {
if client.Email == clientEmail { if client.Email == clientEmail {
@ -277,10 +269,9 @@ func (j *CheckClientIpJob) updateInboundClientIps(inboundClientIps *model.Inboun
shouldCleanLog = true shouldCleanLog = true
if limitIp < len(ips) { if limitIp < len(ips) {
j.disAllowedIps = append(j.disAllowedIps, ips[limitIp:]...) logger.Warningf("User '%s' exceeded IP limit (%d > %d). Disabling inbound.", clientEmail, len(ips), limitIp)
for i := limitIp; i < len(ips); i++ { inbound.Enable = false
log.Printf("[LIMIT_IP] Email = %s || SRC = %s", clientEmail, ips[i]) break
}
} }
} }
} }