Merge branch 'dns' into dns-geo

This commit is contained in:
秋のかえで 2021-05-01 08:48:29 +08:00
commit ee682b17d1
No known key found for this signature in database
GPG key ID: B208CDDD55BEF92C
12 changed files with 910 additions and 48 deletions

View file

@ -97,6 +97,8 @@ type RouterRule struct {
Type string `json:"type"`
OutboundTag string `json:"outboundTag"`
BalancerTag string `json:"balancerTag"`
DomainMatcher string `json:"domainMatcher"`
}
func ParseIP(s string) (*geoip.CIDR, error) {
@ -182,6 +184,10 @@ func parseFieldRule(msg json.RawMessage) (*router.RoutingRule, error) {
return nil, newError("neither outboundTag nor balancerTag is specified in routing rule")
}
if rawFieldRule.DomainMatcher != "" {
rule.DomainMatcher = rawFieldRule.DomainMatcher
}
if rawFieldRule.Domain != nil {
for _, domain := range *rawFieldRule.Domain {
rules, err := conf.ParseDomainRule(domain)