diff options
| author | MHSanaei <ho3ein.sanaei@gmail.com> | 2026-05-05 00:19:25 +0300 |
|---|---|---|
| committer | MHSanaei <ho3ein.sanaei@gmail.com> | 2026-05-05 00:19:25 +0300 |
| commit | 6099a07ff0a3f619ace3c7645ee76dce943a97e0 (patch) | |
| tree | 10919163dd9a978908ed5fb16baa6a3a81cf32bf /web/service/xray.go | |
| parent | e9806832ec222e87052c3b8263f392bf5a41974e (diff) | |
feat: add configurable auto-restart on client auto-disable
Add a configurable option to restart Xray when clients are auto-disabled and persist disable actions.
Changes include:
- New setting restartXrayOnClientDisable (default true), getters/setters in SettingService, UI toggle in general settings, and translations for multiple locales.
- AddTraffic signature updated to return a third bool (clientsDisabled). disableInvalidClients now calls Xray API to remove users, marks client_traffics.enable=false, updates inbound.Settings JSON so clients appear disabled in stored settings, and returns appropriate counts/errors.
- XrayTrafficJob now checks the clientsDisabled flag and restarts Xray when the setting is enabled (with fallback to mark Xray as needing restart on failure).
- XrayService.GetXrayConfig call adjusted to ignore AddTraffic returns.
- Subscription generation (subService/subJson/subClash) no longer filters clients by their enable flag when matching subId.
- Minor fixes: check_client_ip_job now checks scanner.Err and improved API error handling/logging.
These changes ensure auto-disabled clients are propagated to Xray and the stored inbound settings, and provide an option to restart Xray automatically after auto-disable events.
Diffstat (limited to 'web/service/xray.go')
| -rw-r--r-- | web/service/xray.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/web/service/xray.go b/web/service/xray.go index 958d36d2..385936d5 100644 --- a/web/service/xray.go +++ b/web/service/xray.go @@ -103,7 +103,7 @@ func (s *XrayService) GetXrayConfig() (*xray.Config, error) { return nil, err } - s.inboundService.AddTraffic(nil, nil) + _, _, _ = s.inboundService.AddTraffic(nil, nil) inbounds, err := s.inboundService.GetAllInbounds() if err != nil { |
