mirror of
https://github.com/shtorm-7/sing-box-extended.git
synced 2026-05-14 00:51:12 +03:00
72 lines
2.7 KiB
Go
72 lines
2.7 KiB
Go
package option
|
|
|
|
import (
|
|
"github.com/sagernet/sing/common/byteformats"
|
|
"github.com/sagernet/sing/common/json/badoption"
|
|
)
|
|
|
|
type BandwidthLimiterOutboundOptions struct {
|
|
Strategy string `json:"strategy"`
|
|
ConnectionType string `json:"connection_type,omitempty"`
|
|
Mode string `json:"mode"`
|
|
FlowKeys []string `json:"flow_keys,omitempty"`
|
|
Speed *byteformats.NetworkBytesCompat `json:"speed"`
|
|
Users []BandwidthLimiterUser `json:"users,omitempty"`
|
|
Route RouteOptions `json:"route"`
|
|
}
|
|
|
|
type BandwidthLimiterUser struct {
|
|
Name string `json:"name"`
|
|
Strategy string `json:"strategy"`
|
|
ConnectionType string `json:"connection_type,omitempty"`
|
|
Mode string `json:"mode"`
|
|
Speed *byteformats.NetworkBytesCompat `json:"speed"`
|
|
}
|
|
|
|
type TrafficLimiterOutboundOptions struct {
|
|
Strategy string `json:"strategy"`
|
|
Mode string `json:"mode"`
|
|
Total *byteformats.Bytes `json:"total"`
|
|
Users []TrafficLimiterUser `json:"users,omitempty"`
|
|
Route RouteOptions `json:"route"`
|
|
}
|
|
|
|
type TrafficLimiterUser struct {
|
|
Name string `json:"name"`
|
|
Strategy string `json:"strategy"`
|
|
Mode string `json:"mode"`
|
|
Total *byteformats.Bytes `json:"total"`
|
|
}
|
|
|
|
type ConnectionLimiterOutboundOptions struct {
|
|
Strategy string `json:"strategy"`
|
|
ConnectionType string `json:"connection_type,omitempty"`
|
|
Count uint32 `json:"count"`
|
|
Users []ConnectionLimiterUser `json:"users,omitempty"`
|
|
Route RouteOptions `json:"route"`
|
|
}
|
|
|
|
type ConnectionLimiterUser struct {
|
|
Name string `json:"name"`
|
|
Strategy string `json:"strategy"`
|
|
ConnectionType string `json:"connection_type,omitempty"`
|
|
Count uint32 `json:"count"`
|
|
}
|
|
|
|
type RateLimiterOutboundOptions struct {
|
|
Strategy string `json:"strategy"`
|
|
ConnectionType string `json:"connection_type,omitempty"`
|
|
Count uint32 `json:"count"`
|
|
Interval badoption.Duration `json:"interval"`
|
|
Users []RateLimiterUser `json:"users,omitempty"`
|
|
Route RouteOptions `json:"route"`
|
|
}
|
|
|
|
type RateLimiterUser struct {
|
|
Name string `json:"name"`
|
|
Strategy string `json:"strategy"`
|
|
ConnectionType string `json:"connection_type,omitempty"`
|
|
Count uint32 `json:"count"`
|
|
Interval badoption.Duration `json:"interval"`
|
|
}
|