1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package xray
- import (
- "bytes"
- "x-ui/util/json_util"
- )
- type Config struct {
- LogConfig json_util.RawMessage `json:"log"`
- RouterConfig json_util.RawMessage `json:"routing"`
- DNSConfig json_util.RawMessage `json:"dns"`
- InboundConfigs []InboundConfig `json:"inbounds"`
- OutboundConfigs json_util.RawMessage `json:"outbounds"`
- Transport json_util.RawMessage `json:"transport"`
- Policy json_util.RawMessage `json:"policy"`
- API json_util.RawMessage `json:"api"`
- Stats json_util.RawMessage `json:"stats"`
- Reverse json_util.RawMessage `json:"reverse"`
- FakeDNS json_util.RawMessage `json:"fakedns"`
- Observatory json_util.RawMessage `json:"observatory"`
- BurstObservatory json_util.RawMessage `json:"burstObservatory"`
- }
- func (c *Config) Equals(other *Config) bool {
- if len(c.InboundConfigs) != len(other.InboundConfigs) {
- return false
- }
- for i, inbound := range c.InboundConfigs {
- if !inbound.Equals(&other.InboundConfigs[i]) {
- return false
- }
- }
- if !bytes.Equal(c.LogConfig, other.LogConfig) {
- return false
- }
- if !bytes.Equal(c.RouterConfig, other.RouterConfig) {
- return false
- }
- if !bytes.Equal(c.DNSConfig, other.DNSConfig) {
- return false
- }
- if !bytes.Equal(c.OutboundConfigs, other.OutboundConfigs) {
- return false
- }
- if !bytes.Equal(c.Transport, other.Transport) {
- return false
- }
- if !bytes.Equal(c.Policy, other.Policy) {
- return false
- }
- if !bytes.Equal(c.API, other.API) {
- return false
- }
- if !bytes.Equal(c.Stats, other.Stats) {
- return false
- }
- if !bytes.Equal(c.Reverse, other.Reverse) {
- return false
- }
- if !bytes.Equal(c.FakeDNS, other.FakeDNS) {
- return false
- }
- return true
- }
|