From 41a05d96a58dd511cd7d0eefe53379b88eceaa1a Mon Sep 17 00:00:00 2001 From: xishang0128 Date: Tue, 26 Dec 2023 01:45:32 +0800 Subject: [PATCH] chore: add some fields for `override` --- adapter/provider/parser.go | 3 +++ adapter/provider/provider.go | 9 +++++++++ docs/config.yaml | 9 +++++++++ 3 files changed, 21 insertions(+) diff --git a/adapter/provider/parser.go b/adapter/provider/parser.go index a22492d22..90d7482cd 100644 --- a/adapter/provider/parser.go +++ b/adapter/provider/parser.go @@ -32,6 +32,9 @@ type OverrideSchema struct { Down *string `provider:"down,omitempty"` DialerProxy *string `provider:"dialer-proxy,omitempty"` SkipCertVerify *bool `provider:"skip-cert-verify,omitempty"` + Interface *string `provider:"interface-name,omitempty"` + RoutingMark *int `provider:"routing-mark,omitempty"` + IPVersion *string `provider:"ip-version,omitempty"` } type proxyProviderSchema struct { diff --git a/adapter/provider/provider.go b/adapter/provider/provider.go index 81ec6c630..a2db06fca 100644 --- a/adapter/provider/provider.go +++ b/adapter/provider/provider.go @@ -393,6 +393,15 @@ func proxiesParseAndFilter(filter string, excludeFilter string, excludeTypeArray if override.SkipCertVerify != nil { mapping["skip-cert-verify"] = *override.SkipCertVerify } + if override.Interface != nil { + mapping["interface-name"] = *override.Interface + } + if override.RoutingMark != nil { + mapping["routing-mark"] = *override.RoutingMark + } + if override.IPVersion != nil { + mapping["ip-version"] = *override.IPVersion + } proxy, err := adapter.ParseProxy(mapping) if err != nil { diff --git a/docs/config.yaml b/docs/config.yaml index 702ff8316..1d195c35b 100644 --- a/docs/config.yaml +++ b/docs/config.yaml @@ -855,6 +855,15 @@ proxy-providers: interval: 600 # lazy: true url: https://cp.cloudflare.com/generate_204 + override: # 覆写节点加载时的一些配置项 + skip-cert-verify: true + udp: true + # down: "50 Mbps" + # up: "10 Mbps" + # dialer-proxy: proxy + # interface-name: tailscale0 + # routing-mark: 233 + # ip-version: ipv4-prefer test: type: file path: /test.yaml