diff --git a/shell/point/config.go b/shell/point/config.go index d731f1ea4..0a740d5f0 100644 --- a/shell/point/config.go +++ b/shell/point/config.go @@ -26,6 +26,7 @@ type DnsConfig interface { type InboundDetourConfig interface { Protocol() string PortRange() v2net.PortRange + Tag() string Settings() interface{} } diff --git a/shell/point/json/inbound_detour.go b/shell/point/json/inbound_detour.go index b9b012bab..ee942c9dd 100644 --- a/shell/point/json/inbound_detour.go +++ b/shell/point/json/inbound_detour.go @@ -12,6 +12,7 @@ type InboundDetourConfig struct { ProtocolValue string `json:"protocol"` PortRangeValue *v2netjson.PortRange `json:"port"` SettingsValue json.RawMessage `json:"settings"` + TagValue string `json:"tag"` } func (this *InboundDetourConfig) Protocol() string { @@ -25,3 +26,7 @@ func (this *InboundDetourConfig) PortRange() v2net.PortRange { func (this *InboundDetourConfig) Settings() interface{} { return loadConnectionConfig(this.SettingsValue, this.ProtocolValue, proxyconfig.TypeInbound) } + +func (this *InboundDetourConfig) Tag() string { + return this.TagValue +} diff --git a/shell/point/testing/mocks/config.go b/shell/point/testing/mocks/config.go index 4f61c1706..eeba6a447 100644 --- a/shell/point/testing/mocks/config.go +++ b/shell/point/testing/mocks/config.go @@ -55,6 +55,11 @@ func (this *PortRange) To() v2net.Port { type InboundDetourConfig struct { *ConnectionConfig PortRangeValue *PortRange + TagValue string +} + +func (this *InboundDetourConfig) Tag() string { + return this.TagValue } func (this *InboundDetourConfig) PortRange() v2net.PortRange {