|
@@ -87,28 +87,30 @@ func (r *Rule) UnmarshalJSON(bytes []byte) error {
|
|
|
}
|
|
|
|
|
|
type DefaultRule struct {
|
|
|
- Inbound Listable[string] `json:"inbound,omitempty"`
|
|
|
- IPVersion int `json:"ip_version,omitempty"`
|
|
|
- Network string `json:"network,omitempty"`
|
|
|
- AuthUser Listable[string] `json:"auth_user,omitempty"`
|
|
|
- Protocol Listable[string] `json:"protocol,omitempty"`
|
|
|
- Domain Listable[string] `json:"domain,omitempty"`
|
|
|
- DomainSuffix Listable[string] `json:"domain_suffix,omitempty"`
|
|
|
- DomainKeyword Listable[string] `json:"domain_keyword,omitempty"`
|
|
|
- DomainRegex Listable[string] `json:"domain_regex,omitempty"`
|
|
|
- Geosite Listable[string] `json:"geosite,omitempty"`
|
|
|
- SourceGeoIP Listable[string] `json:"source_geoip,omitempty"`
|
|
|
- GeoIP Listable[string] `json:"geoip,omitempty"`
|
|
|
- SourceIPCIDR Listable[string] `json:"source_ip_cidr,omitempty"`
|
|
|
- IPCIDR Listable[string] `json:"ip_cidr,omitempty"`
|
|
|
- SourcePort Listable[uint16] `json:"source_port,omitempty"`
|
|
|
- Port Listable[uint16] `json:"port,omitempty"`
|
|
|
- ProcessName Listable[string] `json:"process_name,omitempty"`
|
|
|
- PackageName Listable[string] `json:"package_name,omitempty"`
|
|
|
- User Listable[string] `json:"user,omitempty"`
|
|
|
- UserID Listable[int32] `json:"user_id,omitempty"`
|
|
|
- Invert bool `json:"invert,omitempty"`
|
|
|
- Outbound string `json:"outbound,omitempty"`
|
|
|
+ Inbound Listable[string] `json:"inbound,omitempty"`
|
|
|
+ IPVersion int `json:"ip_version,omitempty"`
|
|
|
+ Network string `json:"network,omitempty"`
|
|
|
+ AuthUser Listable[string] `json:"auth_user,omitempty"`
|
|
|
+ Protocol Listable[string] `json:"protocol,omitempty"`
|
|
|
+ Domain Listable[string] `json:"domain,omitempty"`
|
|
|
+ DomainSuffix Listable[string] `json:"domain_suffix,omitempty"`
|
|
|
+ DomainKeyword Listable[string] `json:"domain_keyword,omitempty"`
|
|
|
+ DomainRegex Listable[string] `json:"domain_regex,omitempty"`
|
|
|
+ Geosite Listable[string] `json:"geosite,omitempty"`
|
|
|
+ SourceGeoIP Listable[string] `json:"source_geoip,omitempty"`
|
|
|
+ GeoIP Listable[string] `json:"geoip,omitempty"`
|
|
|
+ SourceIPCIDR Listable[string] `json:"source_ip_cidr,omitempty"`
|
|
|
+ IPCIDR Listable[string] `json:"ip_cidr,omitempty"`
|
|
|
+ SourcePort Listable[uint16] `json:"source_port,omitempty"`
|
|
|
+ SourcePortRange Listable[string] `json:"source_port_range,omitempty"`
|
|
|
+ Port Listable[uint16] `json:"port,omitempty"`
|
|
|
+ PortRange Listable[string] `json:"port_range,omitempty"`
|
|
|
+ ProcessName Listable[string] `json:"process_name,omitempty"`
|
|
|
+ PackageName Listable[string] `json:"package_name,omitempty"`
|
|
|
+ User Listable[string] `json:"user,omitempty"`
|
|
|
+ UserID Listable[int32] `json:"user_id,omitempty"`
|
|
|
+ Invert bool `json:"invert,omitempty"`
|
|
|
+ Outbound string `json:"outbound,omitempty"`
|
|
|
}
|
|
|
|
|
|
func (r DefaultRule) IsValid() bool {
|
|
@@ -133,7 +135,9 @@ func (r DefaultRule) Equals(other DefaultRule) bool {
|
|
|
common.ComparableSliceEquals(r.SourceIPCIDR, other.SourceIPCIDR) &&
|
|
|
common.ComparableSliceEquals(r.IPCIDR, other.IPCIDR) &&
|
|
|
common.ComparableSliceEquals(r.SourcePort, other.SourcePort) &&
|
|
|
+ common.ComparableSliceEquals(r.SourcePortRange, other.SourcePortRange) &&
|
|
|
common.ComparableSliceEquals(r.Port, other.Port) &&
|
|
|
+ common.ComparableSliceEquals(r.PortRange, other.PortRange) &&
|
|
|
common.ComparableSliceEquals(r.ProcessName, other.ProcessName) &&
|
|
|
common.ComparableSliceEquals(r.PackageName, other.PackageName) &&
|
|
|
common.ComparableSliceEquals(r.User, other.User) &&
|