V2bX/conf/limit.go
2023-08-20 15:13:52 +08:00

41 lines
1.4 KiB
Go

package conf
type LimitConfig struct {
EnableRealtime bool `json:"EnableRealtime"`
SpeedLimit int `json:"SpeedLimit"`
IPLimit int `json:"DeviceLimit"`
ConnLimit int `json:"ConnLimit"`
EnableIpRecorder bool `json:"EnableIpRecorder"`
IpRecorderConfig *IpReportConfig `json:"IpRecorderConfig"`
EnableDynamicSpeedLimit bool `json:"EnableDynamicSpeedLimit"`
DynamicSpeedLimitConfig *DynamicSpeedLimitConfig `json:"DynamicSpeedLimitConfig"`
}
type RecorderConfig struct {
Url string `json:"Url"`
Token string `json:"Token"`
Timeout int `json:"Timeout"`
}
type RedisConfig struct {
Address string `json:"Address"`
Password string `json:"Password"`
Db int `json:"Db"`
Expiry int `json:"Expiry"`
}
type IpReportConfig struct {
Periodic int `json:"Periodic"`
Type string `json:"Type"`
RecorderConfig *RecorderConfig `json:"RecorderConfig"`
RedisConfig *RedisConfig `json:"RedisConfig"`
EnableIpSync bool `json:"EnableIpSync"`
}
type DynamicSpeedLimitConfig struct {
Periodic int `json:"Periodic"`
Traffic int64 `json:"Traffic"`
SpeedLimit int `json:"SpeedLimit"`
ExpireTime int `json:"ExpireTime"`
}