| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | package jsonimport (	"encoding/json"	v2net "github.com/v2ray/v2ray-core/common/net"	v2netjson "github.com/v2ray/v2ray-core/common/net/json"	proxyconfig "github.com/v2ray/v2ray-core/proxy/common/config"	"github.com/v2ray/v2ray-core/shell/point")type InboundDetourAllocationConfig struct {	StrategyValue    string `json:"strategy"`	ConcurrencyValue int    `json:"concurrency"`	RefreshSec       int    `json:"refresh"`}func (this *InboundDetourAllocationConfig) Refresh() int {	return this.RefreshSec}func (this *InboundDetourAllocationConfig) Strategy() string {	return this.StrategyValue}func (this *InboundDetourAllocationConfig) Concurrency() int {	return this.ConcurrencyValue}type InboundDetourConfig struct {	ProtocolValue   string                         `json:"protocol"`	PortRangeValue  *v2netjson.PortRange           `json:"port"`	SettingsValue   json.RawMessage                `json:"settings"`	TagValue        string                         `json:"tag"`	AllocationValue *InboundDetourAllocationConfig `json:"allocate"`}func (this *InboundDetourConfig) Allocation() point.InboundDetourAllocationConfig {	return this.AllocationValue}func (this *InboundDetourConfig) Protocol() string {	return this.ProtocolValue}func (this *InboundDetourConfig) PortRange() v2net.PortRange {	return this.PortRangeValue}func (this *InboundDetourConfig) Settings() interface{} {	return loadConnectionConfig(this.SettingsValue, this.ProtocolValue, proxyconfig.TypeInbound)}func (this *InboundDetourConfig) Tag() string {	return this.TagValue}
 |