inbound.go 990 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package xray
  2. import (
  3. "bytes"
  4. "x-ui/util/json_util"
  5. )
  6. type InboundConfig struct {
  7. Listen json_util.RawMessage `json:"listen"` // listen cannot be an empty string
  8. Port int `json:"port"`
  9. Protocol string `json:"protocol"`
  10. Settings json_util.RawMessage `json:"settings"`
  11. StreamSettings json_util.RawMessage `json:"streamSettings"`
  12. Tag string `json:"tag"`
  13. Sniffing json_util.RawMessage `json:"sniffing"`
  14. }
  15. func (c *InboundConfig) Equals(other *InboundConfig) bool {
  16. if !bytes.Equal(c.Listen, other.Listen) {
  17. return false
  18. }
  19. if c.Port != other.Port {
  20. return false
  21. }
  22. if c.Protocol != other.Protocol {
  23. return false
  24. }
  25. if !bytes.Equal(c.Settings, other.Settings) {
  26. return false
  27. }
  28. if !bytes.Equal(c.StreamSettings, other.StreamSettings) {
  29. return false
  30. }
  31. if c.Tag != other.Tag {
  32. return false
  33. }
  34. if !bytes.Equal(c.Sniffing, other.Sniffing) {
  35. return false
  36. }
  37. return true
  38. }