sing-box/option/user_manager.go
Niko Marmeladkov a3404e463f
Some checks are pending
Build / Calculate version (push) Waiting to run
Build / Build binary (push) Blocked by required conditions
Build / Build Darwin binaries (push) Blocked by required conditions
Build / Build Windows binaries (push) Blocked by required conditions
Build / Build Android (push) Blocked by required conditions
Build / Publish Android (push) Blocked by required conditions
Build / Build Apple clients (push) Blocked by required conditions
Build / Upload builds (push) Blocked by required conditions
feat: add universal user_manager service for external auth & traffic tracking
- New UserManager service with HTTPS auth, credential sync, traffic tracking, and kick API
- Integrates into all 10 protocol inbounds (hysteria2, tuic, vless, vmess, trojan,
  shadowsocks, http, socks, mixed, naive)
- Each inbound auto-detects user_manager from service context, falls back to static config
- Auth server contract: POST /api/auth, GET /api/credentials, POST /api/traffic
2026-06-18 15:49:49 +03:00

16 lines
653 B
Go

package option
import (
"github.com/sagernet/sing/common/json/badoption"
)
type UserManagerOptions struct {
AuthServer string `json:"auth_server,omitempty"`
Timeout badoption.Duration `json:"timeout,omitempty"`
CacheTTL badoption.Duration `json:"cache_ttl,omitempty"`
RefreshInterval badoption.Duration `json:"refresh_interval,omitempty"`
ReportInterval badoption.Duration `json:"report_interval,omitempty"`
ReportTraffic bool `json:"report_traffic,omitempty"`
APISecret string `json:"api_secret,omitempty"`
APIListen string `json:"api_listen,omitempty"`
}