123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package xray
- import (
- "bytes"
- "github.com/mhsanaei/3x-ui/v2/util/json_util"
- )
- // InboundConfig represents an Xray inbound configuration.
- // It defines how Xray accepts incoming connections including protocol, port, and settings.
- type InboundConfig struct {
- Listen json_util.RawMessage `json:"listen"` // listen cannot be an empty string
- Port int `json:"port"`
- Protocol string `json:"protocol"`
- Settings json_util.RawMessage `json:"settings"`
- StreamSettings json_util.RawMessage `json:"streamSettings"`
- Tag string `json:"tag"`
- Sniffing json_util.RawMessage `json:"sniffing"`
- }
- // Equals compares two InboundConfig instances for deep equality.
- func (c *InboundConfig) Equals(other *InboundConfig) bool {
- if !bytes.Equal(c.Listen, other.Listen) {
- return false
- }
- if c.Port != other.Port {
- return false
- }
- if c.Protocol != other.Protocol {
- return false
- }
- if !bytes.Equal(c.Settings, other.Settings) {
- return false
- }
- if !bytes.Equal(c.StreamSettings, other.StreamSettings) {
- return false
- }
- if c.Tag != other.Tag {
- return false
- }
- if !bytes.Equal(c.Sniffing, other.Sniffing) {
- return false
- }
- return true
- }
|