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. |
||
|---|---|---|
| .. | ||
| controller | ||
| entity | ||
| global | ||
| job | ||
| locale | ||
| middleware | ||
| network | ||
| runtime | ||
| service | ||
| session | ||
| translation | ||
| websocket | ||
| web.go | ||