mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-06-06 05:04:22 +00:00
This PR preserves historical client IP records in `inbound_client_ips` while keeping IP Limit enforcement based only on IPs observed in the current access-log scan. The previous stale IP eviction was introduced to fix the continuous Fail2Ban loop described in https://github.com/MHSanaei/3x-ui/issues/4077. A related regression was later tracked in https://github.com/MHSanaei/3x-ui/issues/4091, where db-only IPs could still affect ban decisions before `partitionLiveIps()` separated live IPs from historical ones. This PR keeps that protection intact: - `partitionLiveIps()` still ensures that only IPs observed in the current scan are counted toward `LimitIP` - historical db-only IPs remain excluded from Fail2Ban decisions - all live IPs, including IPs queued for Fail2Ban, are preserved in the database for visibility/history The only behavior changed here is retention: client IP history is no longer removed from `inbound_client_ips` after 30 minutes. |
||
|---|---|---|
| .. | ||
| check_client_ip_job.go | ||
| check_client_ip_job_integration_test.go | ||
| check_client_ip_job_test.go | ||
| check_cpu_usage.go | ||
| check_hash_storage.go | ||
| check_xray_running_job.go | ||
| clear_logs_job.go | ||
| ldap_sync_job.go | ||
| node_heartbeat_job.go | ||
| node_traffic_sync_job.go | ||
| periodic_traffic_reset_job.go | ||
| stats_notify_job.go | ||
| xray_traffic_job.go | ||