mirror of https://github.com/v2ray/v2ray-core
json conf for source session in router
parent
aae99a8e98
commit
ca980f5718
|
@ -108,6 +108,8 @@ func parseFieldRule(msg json.RawMessage) (*router.RoutingRule, error) {
|
||||||
IP *StringList `json:"ip"`
|
IP *StringList `json:"ip"`
|
||||||
Port *PortRange `json:"port"`
|
Port *PortRange `json:"port"`
|
||||||
Network *NetworkList `json:"network"`
|
Network *NetworkList `json:"network"`
|
||||||
|
SourceIP *StringList `json:"source"`
|
||||||
|
User *StringList `json:"user"`
|
||||||
}
|
}
|
||||||
rawFieldRule := new(RawFieldRule)
|
rawFieldRule := new(RawFieldRule)
|
||||||
err := json.Unmarshal(msg, rawFieldRule)
|
err := json.Unmarshal(msg, rawFieldRule)
|
||||||
|
@ -149,6 +151,21 @@ func parseFieldRule(msg json.RawMessage) (*router.RoutingRule, error) {
|
||||||
rule.NetworkList = rawFieldRule.Network.Build()
|
rule.NetworkList = rawFieldRule.Network.Build()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if rawFieldRule.SourceIP != nil {
|
||||||
|
for _, ip := range *rawFieldRule.IP {
|
||||||
|
ipRule := parseIP(ip)
|
||||||
|
if ipRule != nil {
|
||||||
|
rule.SourceCidr = append(rule.SourceCidr, ipRule)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if rawFieldRule.User != nil {
|
||||||
|
for _, s := range *rawFieldRule.User {
|
||||||
|
rule.UserEmail = append(rule.UserEmail, s)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return rule, nil
|
return rule, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue