{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://sing-box.sagernet.org/schema.json",
  "type": "object",
  "properties": {
    "$schema": {
      "type": "string",
      "examples": [
        "https://sing-box.sagernet.org/schema.json"
      ]
    },
    "log": {
      "$ref": "#/$defs/LogOptions"
    },
    "dns": {
      "$ref": "#/$defs/DNS"
    },
    "ntp": {
      "$ref": "#/$defs/NTPOptions"
    },
    "certificate": {
      "type": "object",
      "properties": {
        "store": {
          "type": "string",
          "enum": [
            "system",
            "mozilla",
            "chrome",
            "none"
          ]
        },
        "certificate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "certificate_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "certificate_directory_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "certificate_providers": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/CertificateProvider"
      }
    },
    "http_clients": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/HTTPClient"
      }
    },
    "network_namespaces": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/NetworkNamespace"
      }
    },
    "endpoints": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Endpoint"
      }
    },
    "inbounds": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Inbound"
      }
    },
    "outbounds": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Outbound"
      }
    },
    "route": {
      "$ref": "#/$defs/RouteOptions"
    },
    "services": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Service"
      }
    },
    "experimental": {
      "$ref": "#/$defs/ExperimentalOptions"
    }
  },
  "additionalProperties": false,
  "$defs": {
    "ACMEExternalAccountOptions": {
      "type": "object",
      "properties": {
        "key_id": {
          "type": "string"
        },
        "mac_key": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ACMEProviderDNS01Challenge": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "provider": {
              "const": "alidns"
            },
            "ttl": {
              "$ref": "#/$defs/Duration"
            },
            "propagation_delay": {
              "$ref": "#/$defs/Duration"
            },
            "propagation_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "resolvers": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "override_domain": {
              "type": "string"
            },
            "access_key_id": {
              "type": "string"
            },
            "access_key_secret": {
              "type": "string"
            },
            "region_id": {
              "type": "string"
            },
            "security_token": {
              "type": "string"
            }
          },
          "required": [
            "provider"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "provider": {
              "const": "cloudflare"
            },
            "ttl": {
              "$ref": "#/$defs/Duration"
            },
            "propagation_delay": {
              "$ref": "#/$defs/Duration"
            },
            "propagation_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "resolvers": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "override_domain": {
              "type": "string"
            },
            "api_token": {
              "type": "string"
            },
            "zone_token": {
              "type": "string"
            }
          },
          "required": [
            "provider"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "provider": {
              "const": "acmedns"
            },
            "ttl": {
              "$ref": "#/$defs/Duration"
            },
            "propagation_delay": {
              "$ref": "#/$defs/Duration"
            },
            "propagation_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "resolvers": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "override_domain": {
              "type": "string"
            },
            "username": {
              "type": "string"
            },
            "password": {
              "type": "string"
            },
            "subdomain": {
              "type": "string"
            },
            "server_url": {
              "type": "string"
            }
          },
          "required": [
            "provider"
          ],
          "additionalProperties": false
        }
      ]
    },
    "AnyTLSUser": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "password": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "BrutalOptions": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "up_mbps": {
          "type": "integer"
        },
        "down_mbps": {
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "CCMUser": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "token": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "CacheFileOptions": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "path": {
          "type": "string"
        },
        "cache_id": {
          "type": "string"
        },
        "store_fakeip": {
          "type": "boolean"
        },
        "rdrc_timeout": {
          "$ref": "#/$defs/Duration"
        },
        "store_dns": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "CertificateProvider": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "acme"
            },
            "tag": {
              "type": "string"
            },
            "domain": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "data_directory": {
              "type": "string"
            },
            "default_server_name": {
              "type": "string"
            },
            "email": {
              "type": "string"
            },
            "provider": {
              "type": "string"
            },
            "account_key": {
              "type": "string"
            },
            "disable_http_challenge": {
              "type": "boolean"
            },
            "disable_tls_alpn_challenge": {
              "type": "boolean"
            },
            "alternative_http_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "alternative_tls_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "external_account": {
              "$ref": "#/$defs/ACMEExternalAccountOptions"
            },
            "dns01_challenge": {
              "$ref": "#/$defs/ACMEProviderDNS01Challenge"
            },
            "key_type": {
              "type": "string",
              "enum": [
                "ed25519",
                "p256",
                "p384",
                "rsa2048",
                "rsa4096"
              ]
            },
            "profile": {
              "type": "string"
            },
            "http_client": {
              "$ref": "#/$defs/HTTPClientReference"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "cloudflare-origin-ca"
            },
            "tag": {
              "type": "string"
            },
            "domain": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "data_directory": {
              "type": "string"
            },
            "api_token": {
              "type": "string"
            },
            "origin_ca_key": {
              "type": "string"
            },
            "request_type": {
              "type": "string",
              "enum": [
                "origin-rsa",
                "origin-ecc"
              ]
            },
            "requested_validity": {
              "type": "integer",
              "enum": [
                0,
                7,
                30,
                90,
                365,
                730,
                1095,
                5475
              ],
              "minimum": 0,
              "maximum": 65535
            },
            "http_client": {
              "$ref": "#/$defs/HTTPClientReference"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "tailscale"
            },
            "tag": {
              "type": "string"
            },
            "endpoint": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        }
      ]
    },
    "CertificateProviderReference": {
      "anyOf": [
        {
          "type": "string",
          "x-tag-reference": "certificate_provider"
        },
        {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "type": {
                  "const": "acme"
                },
                "domain": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "data_directory": {
                  "type": "string"
                },
                "default_server_name": {
                  "type": "string"
                },
                "email": {
                  "type": "string"
                },
                "provider": {
                  "type": "string"
                },
                "account_key": {
                  "type": "string"
                },
                "disable_http_challenge": {
                  "type": "boolean"
                },
                "disable_tls_alpn_challenge": {
                  "type": "boolean"
                },
                "alternative_http_port": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 65535
                },
                "alternative_tls_port": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 65535
                },
                "external_account": {
                  "$ref": "#/$defs/ACMEExternalAccountOptions"
                },
                "dns01_challenge": {
                  "$ref": "#/$defs/ACMEProviderDNS01Challenge"
                },
                "key_type": {
                  "type": "string",
                  "enum": [
                    "ed25519",
                    "p256",
                    "p384",
                    "rsa2048",
                    "rsa4096"
                  ]
                },
                "profile": {
                  "type": "string"
                },
                "http_client": {
                  "$ref": "#/$defs/HTTPClientReference"
                }
              },
              "required": [
                "type"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "type": {
                  "const": "cloudflare-origin-ca"
                },
                "domain": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "data_directory": {
                  "type": "string"
                },
                "api_token": {
                  "type": "string"
                },
                "origin_ca_key": {
                  "type": "string"
                },
                "request_type": {
                  "type": "string",
                  "enum": [
                    "origin-rsa",
                    "origin-ecc"
                  ]
                },
                "requested_validity": {
                  "type": "integer",
                  "enum": [
                    0,
                    7,
                    30,
                    90,
                    365,
                    730,
                    1095,
                    5475
                  ],
                  "minimum": 0,
                  "maximum": 65535
                },
                "http_client": {
                  "$ref": "#/$defs/HTTPClientReference"
                }
              },
              "required": [
                "type"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "type": {
                  "const": "tailscale"
                },
                "endpoint": {
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "additionalProperties": false
            }
          ]
        }
      ]
    },
    "ClashAPIOptions": {
      "type": "object",
      "properties": {
        "external_controller": {
          "type": "string"
        },
        "external_ui": {
          "type": "string"
        },
        "external_ui_download_url": {
          "type": "string"
        },
        "external_ui_download_detour": {
          "type": "string",
          "x-tag-reference": "outbound"
        },
        "secret": {
          "type": "string"
        },
        "default_mode": {
          "type": "string"
        },
        "access_control_allow_origin": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "access_control_allow_private_network": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "DERPMeshOptions": {
      "type": "object",
      "properties": {
        "server": {
          "type": "string"
        },
        "server_port": {
          "type": "integer",
          "minimum": 0,
          "maximum": 65535
        },
        "host": {
          "type": "string"
        },
        "tls": {
          "$ref": "#/$defs/OutboundTLSOptions"
        },
        "detour": {
          "type": "string",
          "x-tag-reference": "outbound"
        },
        "bind_interface": {
          "type": "string"
        },
        "inet4_bind_address": {
          "type": "string"
        },
        "inet6_bind_address": {
          "type": "string"
        },
        "bind_address_no_port": {
          "type": "boolean"
        },
        "protect_path": {
          "type": "string"
        },
        "routing_mark": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            {
              "type": "string"
            }
          ]
        },
        "reuse_addr": {
          "type": "boolean"
        },
        "netns": {
          "type": "string",
          "x-tag-reference": "network_namespace"
        },
        "connect_timeout": {
          "$ref": "#/$defs/Duration"
        },
        "tcp_fast_open": {
          "type": "boolean"
        },
        "tcp_multi_path": {
          "type": "boolean"
        },
        "disable_tcp_keep_alive": {
          "type": "boolean"
        },
        "tcp_keep_alive": {
          "$ref": "#/$defs/Duration"
        },
        "tcp_keep_alive_interval": {
          "$ref": "#/$defs/Duration"
        },
        "udp_fragment": {
          "type": "boolean"
        },
        "domain_resolver": {
          "$ref": "#/$defs/DomainResolver"
        },
        "network_strategy": {
          "type": "string",
          "enum": [
            "default",
            "fallback",
            "hybrid"
          ]
        },
        "network_type": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterfaceType"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/$defs/InterfaceType"
              }
            }
          ]
        },
        "fallback_network_type": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterfaceType"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/$defs/InterfaceType"
              }
            }
          ]
        },
        "fallback_delay": {
          "$ref": "#/$defs/Duration"
        }
      },
      "additionalProperties": false
    },
    "DNS": {
      "type": "object",
      "properties": {
        "servers": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/DNSServer"
          }
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/DNSRule"
          }
        },
        "final": {
          "type": "string",
          "x-tag-reference": "dns_server"
        },
        "reverse_mapping": {
          "type": "boolean"
        },
        "strategy": {
          "$ref": "#/$defs/DomainStrategy"
        },
        "timeout": {
          "$ref": "#/$defs/Duration"
        },
        "disable_cache": {
          "type": "boolean"
        },
        "disable_expire": {
          "type": "boolean"
        },
        "cache_capacity": {
          "type": "integer",
          "minimum": 0,
          "maximum": 4294967295
        },
        "optimistic": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "timeout": {
                  "$ref": "#/$defs/Duration"
                }
              },
              "additionalProperties": false
            }
          ]
        },
        "client_subnet": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "DNSQueryType": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 0,
          "maximum": 65535
        },
        {
          "type": "string",
          "enum": [
            "A",
            "AAAA",
            "AFSDB",
            "AMTRELAY",
            "ANY",
            "APL",
            "ATMA",
            "AVC",
            "AXFR",
            "CAA",
            "CDNSKEY",
            "CDS",
            "CERT",
            "CNAME",
            "CSYNC",
            "DHCID",
            "DLV",
            "DNAME",
            "DNSKEY",
            "DS",
            "EID",
            "EUI48",
            "EUI64",
            "GID",
            "GPOS",
            "HINFO",
            "HIP",
            "HTTPS",
            "IPSECKEY",
            "ISDN",
            "IXFR",
            "KEY",
            "KX",
            "L32",
            "L64",
            "LOC",
            "LP",
            "MAILA",
            "MAILB",
            "MB",
            "MD",
            "MF",
            "MG",
            "MINFO",
            "MR",
            "MX",
            "NAPTR",
            "NID",
            "NIMLOC",
            "NINFO",
            "NS",
            "NSAP-PTR",
            "NSEC",
            "NSEC3",
            "NSEC3PARAM",
            "NULL",
            "NXNAME",
            "NXT",
            "None",
            "OPENPGPKEY",
            "OPT",
            "PTR",
            "PX",
            "RESINFO",
            "RKEY",
            "RP",
            "RRSIG",
            "RT",
            "Reserved",
            "SIG",
            "SMIMEA",
            "SOA",
            "SPF",
            "SRV",
            "SSHFP",
            "SVCB",
            "TA",
            "TALINK",
            "TKEY",
            "TLSA",
            "TSIG",
            "TXT",
            "UID",
            "UINFO",
            "UNSPEC",
            "URI",
            "X25",
            "ZONEMD"
          ]
        }
      ]
    },
    "DNSRCode": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "string",
          "enum": [
            "NOERROR",
            "FORMERR",
            "SERVFAIL",
            "NXDOMAIN",
            "NOTIMP",
            "NOTIMPL",
            "REFUSED",
            "YXDOMAIN",
            "YXRRSET",
            "NXRRSET",
            "NOTAUTH",
            "NOTZONE",
            "DSOTYPENI",
            "BADSIG",
            "BADKEY",
            "BADTIME",
            "BADMODE",
            "BADNAME",
            "BADALG",
            "BADTRUNC",
            "BADCOOKIE"
          ]
        }
      ]
    },
    "DNSRule": {
      "oneOf": [
        {
          "type": "object",
          "unevaluatedProperties": false,
          "allOf": [
            {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "default",
                    ""
                  ]
                },
                "inbound": {
                  "anyOf": [
                    {
                      "type": "string",
                      "x-tag-reference": "inbound"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "x-tag-reference": "inbound"
                      }
                    }
                  ]
                },
                "ip_version": {
                  "type": "integer",
                  "enum": [
                    4,
                    6
                  ]
                },
                "query_type": {
                  "anyOf": [
                    {
                      "$ref": "#/$defs/DNSQueryType"
                    },
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/$defs/DNSQueryType"
                      }
                    }
                  ]
                },
                "network": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "tcp",
                        "udp"
                      ]
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "tcp",
                          "udp"
                        ]
                      }
                    }
                  ]
                },
                "auth_user": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "protocol": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "tls",
                        "http",
                        "quic",
                        "dns",
                        "stun",
                        "bittorrent",
                        "dtls",
                        "ssh",
                        "rdp",
                        "ntp"
                      ]
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "tls",
                          "http",
                          "quic",
                          "dns",
                          "stun",
                          "bittorrent",
                          "dtls",
                          "ssh",
                          "rdp",
                          "ntp"
                        ]
                      }
                    }
                  ]
                },
                "domain": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "domain_suffix": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "domain_keyword": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "domain_regex": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "source_ip_cidr": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "source_ip_is_private": {
                  "type": "boolean"
                },
                "source_port": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 65535
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 65535
                      }
                    }
                  ]
                },
                "source_port_range": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "port": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 65535
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 65535
                      }
                    }
                  ]
                },
                "port_range": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "process_name": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "process_path": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "process_path_regex": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "package_name": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "package_name_regex": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "user": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "user_id": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "integer"
                      }
                    }
                  ]
                },
                "clash_mode": {
                  "type": "string"
                },
                "network_type": {
                  "anyOf": [
                    {
                      "$ref": "#/$defs/InterfaceType"
                    },
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/$defs/InterfaceType"
                      }
                    }
                  ]
                },
                "network_is_expensive": {
                  "type": "boolean"
                },
                "network_is_constrained": {
                  "type": "boolean"
                },
                "wifi_ssid": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "wifi_bssid": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "interface_address": {
                  "type": "object",
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    ]
                  }
                },
                "network_interface_address": {
                  "type": "object",
                  "propertyNames": {
                    "$ref": "#/$defs/InterfaceType"
                  },
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    ]
                  }
                },
                "default_interface_address": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "source_mac_address": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "source_hostname": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "preferred_by": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "rule_set": {
                  "anyOf": [
                    {
                      "type": "string",
                      "x-tag-reference": "rule_set"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "x-tag-reference": "rule_set"
                      }
                    }
                  ]
                },
                "rule_set_ip_cidr_match_source": {
                  "type": "boolean"
                },
                "match_response": {
                  "anyOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "ip_cidr": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "ip_is_private": {
                  "type": "boolean"
                },
                "ip_accept_any": {
                  "type": "boolean"
                },
                "response_rcode": {
                  "$ref": "#/$defs/DNSRCode"
                },
                "response_answer": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "response_ns": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "response_extra": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "invert": {
                  "type": "boolean"
                }
              }
            },
            {
              "$ref": "#/$defs/DNSRuleAction"
            }
          ]
        },
        {
          "type": "object",
          "unevaluatedProperties": false,
          "allOf": [
            {
              "type": "object",
              "properties": {
                "type": {
                  "const": "logical"
                },
                "mode": {
                  "type": "string",
                  "enum": [
                    "and",
                    "or"
                  ]
                },
                "rules": {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/NestedDNSRule"
                  }
                },
                "invert": {
                  "type": "boolean"
                }
              },
              "required": [
                "type",
                "mode",
                "rules"
              ]
            },
            {
              "$ref": "#/$defs/DNSRuleAction"
            }
          ]
        }
      ]
    },
    "DNSRuleAction": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "action": {
              "const": "route"
            },
            "race": {
              "type": "boolean"
            },
            "server": {
              "type": "string",
              "x-tag-reference": "dns_server"
            },
            "speculative": {
              "type": "boolean"
            },
            "timeout": {
              "$ref": "#/$defs/Duration"
            },
            "disable_cache": {
              "type": "boolean"
            },
            "disable_optimistic_cache": {
              "type": "boolean"
            },
            "rewrite_ttl": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "client_subnet": {
              "type": "string"
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "action": {
              "const": "evaluate"
            },
            "race": {
              "type": "boolean"
            },
            "server": {
              "type": "string",
              "x-tag-reference": "dns_server"
            },
            "tag": {
              "type": "string"
            },
            "speculative": {
              "type": "boolean"
            },
            "timeout": {
              "$ref": "#/$defs/Duration"
            },
            "disable_cache": {
              "type": "boolean"
            },
            "disable_optimistic_cache": {
              "type": "boolean"
            },
            "rewrite_ttl": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "client_subnet": {
              "type": "string"
            }
          },
          "required": [
            "action"
          ]
        },
        {
          "type": "object",
          "properties": {
            "action": {
              "const": "respond"
            },
            "race": {
              "type": "boolean"
            }
          },
          "required": [
            "action"
          ]
        },
        {
          "type": "object",
          "properties": {
            "action": {
              "const": "route-options"
            },
            "race": {
              "type": "boolean"
            },
            "timeout": {
              "$ref": "#/$defs/Duration"
            },
            "disable_cache": {
              "type": "boolean"
            },
            "disable_optimistic_cache": {
              "type": "boolean"
            },
            "rewrite_ttl": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "client_subnet": {
              "type": "string"
            }
          },
          "required": [
            "action"
          ]
        },
        {
          "type": "object",
          "properties": {
            "action": {
              "const": "reject"
            },
            "race": {
              "type": "boolean"
            },
            "method": {
              "type": "string",
              "enum": [
                "",
                "default",
                "drop",
                "reply"
              ]
            },
            "no_drop": {
              "type": "boolean"
            }
          },
          "required": [
            "action"
          ]
        },
        {
          "type": "object",
          "properties": {
            "action": {
              "const": "predefined"
            },
            "race": {
              "type": "boolean"
            },
            "rcode": {
              "$ref": "#/$defs/DNSRCode"
            },
            "answer": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "ns": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "extra": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            }
          },
          "required": [
            "action"
          ]
        }
      ]
    },
    "DNSServer": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "dhcp"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "prefer_go": {
              "type": "boolean"
            },
            "neighbor_domain": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "interface": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "fakeip"
            },
            "tag": {
              "type": "string"
            },
            "inet4_range": {
              "type": "string",
              "examples": [
                "198.18.0.0/15"
              ]
            },
            "inet6_range": {
              "type": "string",
              "examples": [
                "fc00::/18"
              ]
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "h3"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "tls": {
              "$ref": "#/$defs/OutboundTLSOptions"
            },
            "path": {
              "type": "string"
            },
            "method": {
              "type": "string"
            },
            "headers": {
              "$ref": "#/$defs/HTTPHeader"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "hosts"
            },
            "tag": {
              "type": "string"
            },
            "path": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "predefined": {
              "type": "object",
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                ]
              }
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "https"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "tls": {
              "$ref": "#/$defs/OutboundTLSOptions"
            },
            "path": {
              "type": "string"
            },
            "method": {
              "type": "string"
            },
            "headers": {
              "$ref": "#/$defs/HTTPHeader"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "local"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "prefer_go": {
              "type": "boolean"
            },
            "neighbor_domain": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "mdns"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "prefer_go": {
              "type": "boolean"
            },
            "neighbor_domain": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "interface": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "openconnect"
            },
            "tag": {
              "type": "string"
            },
            "endpoint": {
              "type": "string"
            },
            "accept_default_resolvers": {
              "type": "boolean"
            },
            "accept_search_domain": {
              "type": "boolean"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "openvpn"
            },
            "tag": {
              "type": "string"
            },
            "endpoint": {
              "type": "string"
            },
            "accept_default_resolvers": {
              "type": "boolean"
            },
            "accept_search_domain": {
              "type": "boolean"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "quic"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "tls": {
              "$ref": "#/$defs/OutboundTLSOptions"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "resolved"
            },
            "tag": {
              "type": "string"
            },
            "service": {
              "type": "string"
            },
            "accept_default_resolvers": {
              "type": "boolean"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "tailscale"
            },
            "tag": {
              "type": "string"
            },
            "endpoint": {
              "type": "string"
            },
            "accept_default_resolvers": {
              "type": "boolean"
            },
            "accept_search_domain": {
              "type": "boolean"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "tcp"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "tls"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "tls": {
              "$ref": "#/$defs/OutboundTLSOptions"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "udp"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        }
      ]
    },
    "DebugOptions": {
      "type": "object",
      "properties": {
        "listen": {
          "type": "string"
        },
        "gc_percent": {
          "type": "integer"
        },
        "max_stack": {
          "type": "integer"
        },
        "max_threads": {
          "type": "integer"
        },
        "panic_on_fault": {
          "type": "boolean"
        },
        "trace_back": {
          "type": "string"
        },
        "memory_limit": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0
            },
            {
              "type": "string"
            }
          ]
        },
        "oom_killer": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "DialerOptions": {
      "type": "object",
      "properties": {
        "detour": {
          "type": "string",
          "x-tag-reference": "outbound"
        },
        "bind_interface": {
          "type": "string"
        },
        "inet4_bind_address": {
          "type": "string"
        },
        "inet6_bind_address": {
          "type": "string"
        },
        "bind_address_no_port": {
          "type": "boolean"
        },
        "protect_path": {
          "type": "string"
        },
        "routing_mark": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            {
              "type": "string"
            }
          ]
        },
        "reuse_addr": {
          "type": "boolean"
        },
        "netns": {
          "type": "string",
          "x-tag-reference": "network_namespace"
        },
        "connect_timeout": {
          "$ref": "#/$defs/Duration"
        },
        "tcp_fast_open": {
          "type": "boolean"
        },
        "tcp_multi_path": {
          "type": "boolean"
        },
        "disable_tcp_keep_alive": {
          "type": "boolean"
        },
        "tcp_keep_alive": {
          "$ref": "#/$defs/Duration"
        },
        "tcp_keep_alive_interval": {
          "$ref": "#/$defs/Duration"
        },
        "udp_fragment": {
          "type": "boolean"
        },
        "domain_resolver": {
          "$ref": "#/$defs/DomainResolver"
        },
        "network_strategy": {
          "type": "string",
          "enum": [
            "default",
            "fallback",
            "hybrid"
          ]
        },
        "network_type": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterfaceType"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/$defs/InterfaceType"
              }
            }
          ]
        },
        "fallback_network_type": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterfaceType"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/$defs/InterfaceType"
              }
            }
          ]
        },
        "fallback_delay": {
          "$ref": "#/$defs/Duration"
        }
      },
      "additionalProperties": false
    },
    "DomainResolver": {
      "anyOf": [
        {
          "type": "string",
          "x-tag-reference": "dns_server"
        },
        {
          "type": "object",
          "properties": {
            "server": {
              "type": "string",
              "x-tag-reference": "dns_server"
            },
            "timeout": {
              "$ref": "#/$defs/Duration"
            },
            "strategy": {
              "$ref": "#/$defs/DomainStrategy"
            },
            "disable_cache": {
              "type": "boolean"
            },
            "disable_optimistic_cache": {
              "type": "boolean"
            },
            "rewrite_ttl": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "client_subnet": {
              "type": "string"
            }
          },
          "required": [
            "server"
          ],
          "additionalProperties": false
        }
      ]
    },
    "DomainStrategy": {
      "type": "string",
      "enum": [
        "",
        "as_is",
        "prefer_ipv4",
        "prefer_ipv6",
        "ipv4_only",
        "ipv6_only"
      ]
    },
    "Duration": {
      "type": "string",
      "pattern": "^[-+]?(((\\d+(\\.\\d*)?|\\.\\d+)(ns|us|µs|μs|ms|s|m|h|d))+|0)$"
    },
    "Endpoint": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "openconnect"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "system": {
              "type": "boolean"
            },
            "name": {
              "type": "string"
            },
            "udp_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "udp_mapping": {
              "type": "string",
              "enum": [
                "",
                "endpoint_independent",
                "address_dependent",
                "address_and_port_dependent"
              ]
            },
            "udp_filtering": {
              "type": "string",
              "enum": [
                "",
                "endpoint_independent",
                "address_dependent",
                "address_and_port_dependent"
              ]
            },
            "udp_nat_max": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "server": {
              "type": "string"
            },
            "flavor": {
              "type": "string",
              "enum": [
                "anyconnect",
                "gp",
                "fortinet",
                "f5",
                "pulse",
                "nc"
              ]
            },
            "username": {
              "type": "string"
            },
            "password": {
              "type": "string"
            },
            "auth_group": {
              "type": "string"
            },
            "cookie": {
              "type": "string"
            },
            "token": {
              "$ref": "#/$defs/OpenConnectTokenOptions"
            },
            "reported_os": {
              "type": "string"
            },
            "user_agent": {
              "type": "string"
            },
            "version": {
              "type": "string"
            },
            "local_hostname": {
              "type": "string"
            },
            "mobile": {
              "$ref": "#/$defs/OpenConnectMobileOptions"
            },
            "csd": {
              "$ref": "#/$defs/OpenConnectCSDOptions"
            },
            "hip": {
              "$ref": "#/$defs/OpenConnectHIPOptions"
            },
            "tncc": {
              "$ref": "#/$defs/OpenConnectTNCCOptions"
            },
            "fortinet_host_check": {
              "$ref": "#/$defs/OpenConnectFortinetHostCheckOptions"
            },
            "no_udp": {
              "type": "boolean"
            },
            "dtls_local_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "compression_disabled": {
              "type": "boolean"
            },
            "compression_mode": {
              "type": "string",
              "enum": [
                "stateless",
                "all"
              ]
            },
            "ipv6_disabled": {
              "type": "boolean"
            },
            "http_keepalive_disabled": {
              "type": "boolean"
            },
            "xml_post_disabled": {
              "type": "boolean"
            },
            "external_auth_disabled": {
              "type": "boolean"
            },
            "password_authentication_disabled": {
              "type": "boolean"
            },
            "tcp_keep_alive_enabled": {
              "type": "boolean"
            },
            "pfs": {
              "type": "boolean"
            },
            "mtu": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "base_mtu": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "dpd_interval": {
              "$ref": "#/$defs/Duration"
            },
            "reconnect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "trojan_interval": {
              "$ref": "#/$defs/Duration"
            },
            "queue_length": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "allow_insecure_crypto": {
              "type": "boolean"
            },
            "tls": {
              "$ref": "#/$defs/OpenConnectTLSOptions"
            },
            "form_entries": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/OpenConnectFormEntryOptions"
              }
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "openvpn-client"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "system": {
              "type": "boolean"
            },
            "name": {
              "type": "string"
            },
            "mtu": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "udp_mapping": {
              "type": "string",
              "enum": [
                "",
                "endpoint_independent",
                "address_dependent",
                "address_and_port_dependent"
              ]
            },
            "udp_filtering": {
              "type": "string",
              "enum": [
                "",
                "endpoint_independent",
                "address_dependent",
                "address_and_port_dependent"
              ]
            },
            "udp_nat_max": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "mode": {
              "type": "string",
              "enum": [
                "tls",
                "static_key"
              ]
            },
            "network": {
              "type": "string",
              "enum": [
                "udp",
                "udp4",
                "udp6",
                "tcp",
                "tcp4",
                "tcp6"
              ]
            },
            "servers": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/OpenVPNRemoteOptions"
              }
            },
            "remote_random": {
              "type": "boolean"
            },
            "address": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "peer_address": {
              "type": "string"
            },
            "peer_address_ipv6": {
              "type": "string"
            },
            "topology": {
              "type": "string",
              "enum": [
                "net30",
                "p2p",
                "subnet"
              ]
            },
            "username": {
              "type": "string"
            },
            "password": {
              "type": "string"
            },
            "auth_retry": {
              "type": "string",
              "enum": [
                "none",
                "nointeract",
                "interact"
              ]
            },
            "static_challenge": {
              "type": "string"
            },
            "static_challenge_echo": {
              "type": "boolean"
            },
            "static_key": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "static_key_path": {
              "type": "string"
            },
            "key_direction": {
              "type": "string",
              "enum": [
                "server",
                "client"
              ]
            },
            "tls": {
              "$ref": "#/$defs/OpenVPNOutboundTLSOptions"
            },
            "cipher": {
              "type": "string"
            },
            "data_ciphers": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "data_ciphers_fallback": {
              "type": "string"
            },
            "auth": {
              "type": "string"
            },
            "mss_fix": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "mss_fix_disabled": {
              "type": "boolean"
            },
            "mss_fix_mode": {
              "type": "string",
              "enum": [
                "mtu",
                "fixed"
              ]
            },
            "fragment": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "replay_window": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "replay_window_time": {
              "$ref": "#/$defs/Duration"
            },
            "compression": {
              "type": "string",
              "enum": [
                "none",
                "no",
                "lz4",
                "lz4-v2",
                "stub",
                "stub-v2",
                "disabled",
                "off"
              ]
            },
            "compression_lzo": {
              "type": "string",
              "enum": [
                "none",
                "no",
                "yes",
                "adaptive",
                "asym",
                "disabled",
                "off"
              ]
            },
            "allow_compression": {
              "type": "string",
              "enum": [
                "no",
                "asym",
                "yes"
              ]
            },
            "route_no_pull": {
              "type": "boolean"
            },
            "pull_filters": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/OpenVPNPullFilterOptions"
              }
            },
            "routes": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "route_gateway": {
              "type": "string"
            },
            "route_metric": {
              "type": "integer"
            },
            "redirect_gateway": {
              "type": "boolean"
            },
            "redirect_gateway_flags": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "redirect_private": {
              "type": "boolean"
            },
            "block_ipv6": {
              "type": "boolean"
            },
            "ping_interval": {
              "$ref": "#/$defs/Duration"
            },
            "ping_restart": {
              "$ref": "#/$defs/Duration"
            },
            "ping_restart_disabled": {
              "type": "boolean"
            },
            "renegotiate_interval": {
              "$ref": "#/$defs/Duration"
            },
            "renegotiate_disabled": {
              "type": "boolean"
            },
            "renegotiate_bytes": {
              "type": "integer",
              "minimum": 0
            },
            "renegotiate_packets": {
              "type": "integer",
              "minimum": 0
            },
            "tls_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "handshake_window": {
              "$ref": "#/$defs/Duration"
            },
            "explicit_exit_notify": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "openvpn-server"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "system": {
              "type": "boolean"
            },
            "name": {
              "type": "string"
            },
            "mtu": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "udp_mapping": {
              "type": "string",
              "enum": [
                "",
                "endpoint_independent",
                "address_dependent",
                "address_and_port_dependent"
              ]
            },
            "udp_filtering": {
              "type": "string",
              "enum": [
                "",
                "endpoint_independent",
                "address_dependent",
                "address_and_port_dependent"
              ]
            },
            "udp_nat_max": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "mode": {
              "type": "string",
              "enum": [
                "tls",
                "static_key"
              ]
            },
            "network": {
              "type": "string",
              "enum": [
                "tcp",
                "udp"
              ]
            },
            "remote": {
              "type": "string"
            },
            "remote_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "max_clients": {
              "type": "integer"
            },
            "address": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "peer_address": {
              "type": "string"
            },
            "peer_address_ipv6": {
              "type": "string"
            },
            "topology": {
              "type": "string",
              "enum": [
                "net30",
                "p2p",
                "subnet"
              ]
            },
            "duplicate_cn": {
              "type": "boolean"
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/User"
              }
            },
            "static_key": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "static_key_path": {
              "type": "string"
            },
            "key_direction": {
              "type": "string",
              "enum": [
                "server",
                "client"
              ]
            },
            "tls": {
              "$ref": "#/$defs/OpenVPNInboundTLSOptions"
            },
            "cipher": {
              "type": "string"
            },
            "data_ciphers": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "data_ciphers_fallback": {
              "type": "string"
            },
            "auth": {
              "type": "string"
            },
            "mss_fix": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "mss_fix_disabled": {
              "type": "boolean"
            },
            "mss_fix_mode": {
              "type": "string",
              "enum": [
                "mtu",
                "fixed"
              ]
            },
            "replay_window": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "replay_window_time": {
              "$ref": "#/$defs/Duration"
            },
            "push": {
              "$ref": "#/$defs/OpenVPNPushOptions"
            },
            "ping_interval": {
              "$ref": "#/$defs/Duration"
            },
            "ping_restart": {
              "$ref": "#/$defs/Duration"
            },
            "renegotiate_interval": {
              "$ref": "#/$defs/Duration"
            },
            "renegotiate_disabled": {
              "type": "boolean"
            },
            "renegotiate_bytes": {
              "type": "integer",
              "minimum": 0
            },
            "renegotiate_packets": {
              "type": "integer",
              "minimum": 0
            },
            "handshake_window": {
              "$ref": "#/$defs/Duration"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "tailscale"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "state_directory": {
              "type": "string"
            },
            "auth_key": {
              "type": "string"
            },
            "control_url": {
              "type": "string"
            },
            "ephemeral": {
              "type": "boolean"
            },
            "hostname": {
              "type": "string"
            },
            "accept_routes": {
              "type": "boolean"
            },
            "exit_node": {
              "type": "string"
            },
            "exit_node_allow_lan_access": {
              "type": "boolean"
            },
            "advertise_routes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "advertise_exit_node": {
              "type": "boolean"
            },
            "advertise_tags": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "relay_server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "relay_server_static_endpoints": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "system_interface": {
              "type": "boolean"
            },
            "system_interface_name": {
              "type": "string"
            },
            "system_interface_mtu": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "ssh_server": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "disable_pty": {
                      "type": "boolean"
                    },
                    "disable_sftp": {
                      "type": "boolean"
                    },
                    "disable_forwarding": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "wireguard"
            },
            "tag": {
              "type": "string"
            },
            "system": {
              "type": "boolean"
            },
            "name": {
              "type": "string"
            },
            "mtu": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "address": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "private_key": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "peers": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/WireGuardPeer"
              }
            },
            "udp_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "udp_mapping": {
              "type": "string",
              "enum": [
                "",
                "endpoint_independent",
                "address_dependent",
                "address_and_port_dependent"
              ]
            },
            "udp_filtering": {
              "type": "string",
              "enum": [
                "",
                "endpoint_independent",
                "address_dependent",
                "address_and_port_dependent"
              ]
            },
            "udp_nat_max": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "workers": {
              "type": "integer"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        }
      ]
    },
    "ExperimentalOptions": {
      "type": "object",
      "properties": {
        "cache_file": {
          "$ref": "#/$defs/CacheFileOptions"
        },
        "clash_api": {
          "$ref": "#/$defs/ClashAPIOptions"
        },
        "v2ray_api": {
          "$ref": "#/$defs/V2RayAPIOptions"
        },
        "debug": {
          "$ref": "#/$defs/DebugOptions"
        }
      },
      "additionalProperties": false
    },
    "HTTPClient": {
      "type": "object",
      "properties": {
        "tag": {
          "type": "string"
        },
        "engine": {
          "type": "string",
          "enum": [
            "go",
            "apple"
          ]
        },
        "version": {
          "type": "integer",
          "enum": [
            0,
            1,
            2,
            3
          ]
        },
        "disable_version_fallback": {
          "type": "boolean"
        },
        "headers": {
          "$ref": "#/$defs/HTTPHeader"
        },
        "tls": {
          "$ref": "#/$defs/OutboundTLSOptions"
        },
        "detour": {
          "type": "string",
          "x-tag-reference": "outbound"
        },
        "bind_interface": {
          "type": "string"
        },
        "inet4_bind_address": {
          "type": "string"
        },
        "inet6_bind_address": {
          "type": "string"
        },
        "bind_address_no_port": {
          "type": "boolean"
        },
        "protect_path": {
          "type": "string"
        },
        "routing_mark": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            {
              "type": "string"
            }
          ]
        },
        "reuse_addr": {
          "type": "boolean"
        },
        "netns": {
          "type": "string",
          "x-tag-reference": "network_namespace"
        },
        "connect_timeout": {
          "$ref": "#/$defs/Duration"
        },
        "tcp_fast_open": {
          "type": "boolean"
        },
        "tcp_multi_path": {
          "type": "boolean"
        },
        "disable_tcp_keep_alive": {
          "type": "boolean"
        },
        "tcp_keep_alive": {
          "$ref": "#/$defs/Duration"
        },
        "tcp_keep_alive_interval": {
          "$ref": "#/$defs/Duration"
        },
        "udp_fragment": {
          "type": "boolean"
        },
        "domain_resolver": {
          "$ref": "#/$defs/DomainResolver"
        },
        "network_strategy": {
          "type": "string",
          "enum": [
            "default",
            "fallback",
            "hybrid"
          ]
        },
        "network_type": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterfaceType"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/$defs/InterfaceType"
              }
            }
          ]
        },
        "fallback_network_type": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterfaceType"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/$defs/InterfaceType"
              }
            }
          ]
        },
        "fallback_delay": {
          "$ref": "#/$defs/Duration"
        },
        "idle_timeout": {
          "$ref": "#/$defs/Duration"
        },
        "keep_alive_period": {
          "$ref": "#/$defs/Duration"
        },
        "stream_receive_window": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0
            },
            {
              "type": "string"
            }
          ]
        },
        "connection_receive_window": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0
            },
            {
              "type": "string"
            }
          ]
        },
        "max_concurrent_streams": {
          "type": "integer"
        },
        "initial_packet_size": {
          "type": "integer"
        },
        "disable_path_mtu_discovery": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "HTTPClientReference": {
      "anyOf": [
        {
          "type": "string",
          "x-tag-reference": "http_client"
        },
        {
          "type": "object",
          "properties": {
            "engine": {
              "type": "string",
              "enum": [
                "go",
                "apple"
              ]
            },
            "version": {
              "type": "integer",
              "enum": [
                0,
                1,
                2,
                3
              ]
            },
            "disable_version_fallback": {
              "type": "boolean"
            },
            "headers": {
              "$ref": "#/$defs/HTTPHeader"
            },
            "tls": {
              "$ref": "#/$defs/OutboundTLSOptions"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "idle_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "keep_alive_period": {
              "$ref": "#/$defs/Duration"
            },
            "stream_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "connection_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "max_concurrent_streams": {
              "type": "integer"
            },
            "initial_packet_size": {
              "type": "integer"
            },
            "disable_path_mtu_discovery": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "HTTPHeader": {
      "type": "object",
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        ]
      }
    },
    "HTTPProxyOptions": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "server": {
          "type": "string"
        },
        "server_port": {
          "type": "integer",
          "minimum": 0,
          "maximum": 65535
        },
        "bypass_domain": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "match_domain": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "HeadlessRule": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "default",
                ""
              ]
            },
            "query_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/DNSQueryType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/DNSQueryType"
                  }
                }
              ]
            },
            "network": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tcp",
                    "udp",
                    "icmp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tcp",
                      "udp",
                      "icmp"
                    ]
                  }
                }
              ]
            },
            "domain": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "domain_suffix": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "domain_keyword": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "domain_regex": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "source_ip_cidr": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "ip_cidr": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "source_port": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 65535
                },
                {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535
                  }
                }
              ]
            },
            "source_port_range": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "port": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 65535
                },
                {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535
                  }
                }
              ]
            },
            "port_range": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "process_name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "process_path": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "process_path_regex": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "package_name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "package_name_regex": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "network_is_expensive": {
              "type": "boolean"
            },
            "network_is_constrained": {
              "type": "boolean"
            },
            "wifi_ssid": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "wifi_bssid": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "network_interface_address": {
              "type": "object",
              "propertyNames": {
                "$ref": "#/$defs/InterfaceType"
              },
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                ]
              }
            },
            "default_interface_address": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "invert": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "logical"
            },
            "mode": {
              "type": "string",
              "enum": [
                "and",
                "or"
              ]
            },
            "rules": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/HeadlessRule"
              }
            },
            "invert": {
              "type": "boolean"
            }
          },
          "required": [
            "type",
            "mode",
            "rules"
          ],
          "additionalProperties": false
        }
      ]
    },
    "Hysteria2InboundRealm": {
      "type": "object",
      "properties": {
        "server_url": {
          "type": "string"
        },
        "token": {
          "type": "string"
        },
        "realm_id": {
          "type": "string"
        },
        "stun_servers": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "ip_version": {
          "type": "integer",
          "enum": [
            0,
            4,
            6
          ]
        },
        "port_mapping": {
          "$ref": "#/$defs/Hysteria2RealmPortMapping"
        },
        "http_client": {
          "$ref": "#/$defs/HTTPClientReference"
        },
        "stun_domain_resolver": {
          "$ref": "#/$defs/DomainResolver"
        }
      },
      "additionalProperties": false
    },
    "Hysteria2Realm": {
      "type": "object",
      "properties": {
        "server_url": {
          "type": "string"
        },
        "token": {
          "type": "string"
        },
        "realm_id": {
          "type": "string"
        },
        "stun_servers": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "ip_version": {
          "type": "integer",
          "enum": [
            0,
            4,
            6
          ]
        },
        "port_mapping": {
          "$ref": "#/$defs/Hysteria2RealmPortMapping"
        },
        "http_client": {
          "$ref": "#/$defs/HTTPClientReference"
        }
      },
      "additionalProperties": false
    },
    "Hysteria2RealmPortMapping": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "timeout": {
          "$ref": "#/$defs/Duration"
        },
        "lifetime": {
          "$ref": "#/$defs/Duration"
        }
      },
      "additionalProperties": false
    },
    "Hysteria2User": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "password": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "HysteriaRealmUser": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "token": {
          "type": "string"
        },
        "max_realms": {
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "HysteriaUser": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "auth": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "integer",
                "minimum": 0,
                "maximum": 255
              }
            }
          ]
        },
        "auth_str": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Inbound": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "anytls"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "tls": {
              "$ref": "#/$defs/InboundTLSOptions"
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/AnyTLSUser"
              }
            },
            "padding_scheme": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "cloudflared"
            },
            "tag": {
              "type": "string"
            },
            "token": {
              "type": "string"
            },
            "ha_connections": {
              "type": "integer"
            },
            "protocol": {
              "type": "string",
              "enum": [
                "auto",
                "quic",
                "http2",
                "h2mux"
              ]
            },
            "post_quantum": {
              "type": "boolean"
            },
            "edge_ip_version": {
              "type": "integer",
              "enum": [
                0,
                4,
                6
              ]
            },
            "datagram_version": {
              "type": "string",
              "enum": [
                "v2",
                "v3"
              ]
            },
            "grace_period": {
              "$ref": "#/$defs/Duration"
            },
            "region": {
              "type": "string"
            },
            "control_dialer": {
              "$ref": "#/$defs/DialerOptions"
            },
            "tunnel_dialer": {
              "$ref": "#/$defs/DialerOptions"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "direct"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "network": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tcp",
                    "udp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tcp",
                      "udp"
                    ]
                  }
                }
              ]
            },
            "override_address": {
              "type": "string"
            },
            "override_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "http"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/User"
              }
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "set_system_proxy": {
              "type": "boolean"
            },
            "tls": {
              "$ref": "#/$defs/InboundTLSOptions"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "hysteria"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "up": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "up_mbps": {
              "type": "integer"
            },
            "down": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "down_mbps": {
              "type": "integer"
            },
            "obfs": {
              "type": "string"
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/HysteriaUser"
              }
            },
            "tls": {
              "$ref": "#/$defs/InboundTLSOptions"
            },
            "idle_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "keep_alive_period": {
              "$ref": "#/$defs/Duration"
            },
            "stream_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "connection_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "max_concurrent_streams": {
              "type": "integer"
            },
            "initial_packet_size": {
              "type": "integer"
            },
            "disable_path_mtu_discovery": {
              "type": "boolean"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "hysteria2"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "up_mbps": {
              "type": "integer"
            },
            "down_mbps": {
              "type": "integer"
            },
            "obfs": {
              "oneOf": [
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "const": "salamander"
                    },
                    "password": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "const": "gecko"
                    },
                    "password": {
                      "type": "string"
                    },
                    "min_packet_size": {
                      "type": "integer"
                    },
                    "max_packet_size": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false
                }
              ]
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/Hysteria2User"
              }
            },
            "ignore_client_bandwidth": {
              "type": "boolean"
            },
            "tls": {
              "$ref": "#/$defs/InboundTLSOptions"
            },
            "idle_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "keep_alive_period": {
              "$ref": "#/$defs/Duration"
            },
            "stream_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "connection_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "max_concurrent_streams": {
              "type": "integer"
            },
            "initial_packet_size": {
              "type": "integer"
            },
            "disable_path_mtu_discovery": {
              "type": "boolean"
            },
            "masquerade": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "const": "file"
                        },
                        "directory": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "type"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "const": "proxy"
                        },
                        "url": {
                          "type": "string"
                        },
                        "rewrite_host": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "type"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "const": "string"
                        },
                        "status_code": {
                          "type": "integer"
                        },
                        "headers": {
                          "$ref": "#/$defs/HTTPHeader"
                        },
                        "content": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "type"
                      ],
                      "additionalProperties": false
                    }
                  ]
                }
              ]
            },
            "bbr_profile": {
              "type": "string",
              "enum": [
                "standard",
                "conservative",
                "aggressive"
              ]
            },
            "brutal_debug": {
              "type": "boolean"
            },
            "realm": {
              "$ref": "#/$defs/Hysteria2InboundRealm"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "mixed"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/User"
              }
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "set_system_proxy": {
              "type": "boolean"
            },
            "tls": {
              "$ref": "#/$defs/InboundTLSOptions"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "naive"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/User"
              }
            },
            "network": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tcp",
                    "udp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tcp",
                      "udp"
                    ]
                  }
                }
              ]
            },
            "quic_congestion_control": {
              "type": "string",
              "enum": [
                "bbr",
                "bbr_standard",
                "bbr2",
                "bbr2_variant",
                "cubic",
                "reno"
              ]
            },
            "tls": {
              "$ref": "#/$defs/InboundTLSOptions"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "redirect"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "shadowsocks"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "network": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tcp",
                    "udp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tcp",
                      "udp"
                    ]
                  }
                }
              ]
            },
            "method": {
              "type": "string",
              "enum": [
                "none",
                "aes-128-gcm",
                "aes-192-gcm",
                "aes-256-gcm",
                "chacha20-ietf-poly1305",
                "xchacha20-ietf-poly1305",
                "2022-blake3-aes-128-gcm",
                "2022-blake3-aes-256-gcm",
                "2022-blake3-chacha20-poly1305"
              ]
            },
            "password": {
              "type": "string"
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/ShadowsocksUser"
              }
            },
            "destinations": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/ShadowsocksDestination"
              }
            },
            "multiplex": {
              "$ref": "#/$defs/InboundMultiplexOptions"
            },
            "managed": {
              "type": "boolean"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "shadowtls"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "version": {
              "type": "integer",
              "enum": [
                1,
                2,
                3
              ]
            },
            "password": {
              "type": "string"
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/ShadowTLSUser"
              }
            },
            "handshake": {
              "$ref": "#/$defs/ShadowTLSHandshakeOptions"
            },
            "handshake_for_server_name": {
              "type": "object",
              "additionalProperties": {
                "$ref": "#/$defs/ShadowTLSHandshakeOptions"
              }
            },
            "strict_mode": {
              "type": "boolean"
            },
            "wildcard_sni": {
              "type": "string",
              "enum": [
                "",
                "off",
                "authed",
                "all"
              ]
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "type": {
                  "const": "snell"
                },
                "tag": {
                  "type": "string"
                },
                "version": {
                  "const": 5
                },
                "listen": {
                  "type": "string"
                },
                "listen_port": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 65535
                },
                "bind_interface": {
                  "type": "string"
                },
                "routing_mark": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 4294967295
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "reuse_addr": {
                  "type": "boolean"
                },
                "netns": {
                  "type": "string",
                  "x-tag-reference": "network_namespace"
                },
                "disable_tcp_keep_alive": {
                  "type": "boolean"
                },
                "tcp_keep_alive": {
                  "$ref": "#/$defs/Duration"
                },
                "tcp_keep_alive_interval": {
                  "$ref": "#/$defs/Duration"
                },
                "tcp_fast_open": {
                  "type": "boolean"
                },
                "tcp_multi_path": {
                  "type": "boolean"
                },
                "udp_fragment": {
                  "type": "boolean"
                },
                "udp_timeout": {
                  "$ref": "#/$defs/UDPTimeout"
                },
                "detour": {
                  "type": "string",
                  "x-tag-reference": "inbound"
                },
                "psk": {
                  "type": "string"
                },
                "users": {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/SnellUser"
                  }
                },
                "obfs_mode": {
                  "type": "string",
                  "enum": [
                    "none",
                    "http",
                    "tls"
                  ]
                }
              },
              "required": [
                "type",
                "version"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "type": {
                  "const": "snell"
                },
                "tag": {
                  "type": "string"
                },
                "version": {
                  "const": 6
                },
                "listen": {
                  "type": "string"
                },
                "listen_port": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 65535
                },
                "bind_interface": {
                  "type": "string"
                },
                "routing_mark": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 4294967295
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "reuse_addr": {
                  "type": "boolean"
                },
                "netns": {
                  "type": "string",
                  "x-tag-reference": "network_namespace"
                },
                "disable_tcp_keep_alive": {
                  "type": "boolean"
                },
                "tcp_keep_alive": {
                  "$ref": "#/$defs/Duration"
                },
                "tcp_keep_alive_interval": {
                  "$ref": "#/$defs/Duration"
                },
                "tcp_fast_open": {
                  "type": "boolean"
                },
                "tcp_multi_path": {
                  "type": "boolean"
                },
                "udp_fragment": {
                  "type": "boolean"
                },
                "udp_timeout": {
                  "$ref": "#/$defs/UDPTimeout"
                },
                "detour": {
                  "type": "string",
                  "x-tag-reference": "inbound"
                },
                "psk": {
                  "type": "string"
                },
                "users": {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/SnellUser"
                  }
                },
                "mode": {
                  "type": "string",
                  "enum": [
                    "default",
                    "unshaped",
                    "unsafe-raw"
                  ]
                }
              },
              "required": [
                "type",
                "version"
              ],
              "additionalProperties": false
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "socks"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/User"
              }
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "tproxy"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "network": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tcp",
                    "udp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tcp",
                      "udp"
                    ]
                  }
                }
              ]
            },
            "udp_mapping": {
              "type": "string",
              "enum": [
                "",
                "endpoint_independent",
                "address_dependent",
                "address_and_port_dependent"
              ]
            },
            "udp_filtering": {
              "type": "string",
              "enum": [
                "",
                "endpoint_independent",
                "address_dependent",
                "address_and_port_dependent"
              ]
            },
            "udp_nat_max": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "trojan"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/TrojanUser"
              }
            },
            "tls": {
              "$ref": "#/$defs/InboundTLSOptions"
            },
            "fallback": {
              "$ref": "#/$defs/ServerOptions"
            },
            "fallback_for_alpn": {
              "type": "object",
              "additionalProperties": {
                "$ref": "#/$defs/ServerOptions"
              }
            },
            "multiplex": {
              "$ref": "#/$defs/InboundMultiplexOptions"
            },
            "transport": {
              "$ref": "#/$defs/V2RayTransport"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "tuic"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/TUICUser"
              }
            },
            "congestion_control": {
              "type": "string",
              "enum": [
                "cubic",
                "new_reno",
                "bbr"
              ]
            },
            "auth_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "zero_rtt_handshake": {
              "type": "boolean"
            },
            "heartbeat": {
              "$ref": "#/$defs/Duration"
            },
            "tls": {
              "$ref": "#/$defs/InboundTLSOptions"
            },
            "idle_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "keep_alive_period": {
              "$ref": "#/$defs/Duration"
            },
            "stream_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "connection_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "max_concurrent_streams": {
              "type": "integer"
            },
            "initial_packet_size": {
              "type": "integer"
            },
            "disable_path_mtu_discovery": {
              "type": "boolean"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "tun"
            },
            "tag": {
              "type": "string"
            },
            "interface_name": {
              "type": "string"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "mtu": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "address": {
              "anyOf": [
                {
                  "type": "string",
                  "examples": [
                    "172.19.0.1/30",
                    "fdfe:dcba:9876::1/126"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "examples": [
                      "172.19.0.1/30",
                      "fdfe:dcba:9876::1/126"
                    ]
                  }
                }
              ]
            },
            "dns_mode": {
              "type": "string",
              "enum": [
                "disabled",
                "native",
                "hijack"
              ]
            },
            "dns_address": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "auto_route": {
              "type": "boolean"
            },
            "iproute2_table_index": {
              "type": "integer"
            },
            "iproute2_rule_index": {
              "type": "integer"
            },
            "auto_redirect": {
              "type": "boolean"
            },
            "auto_redirect_input_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "auto_redirect_output_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "auto_redirect_reset_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "auto_redirect_nfqueue": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "auto_redirect_iproute2_fallback_rule_index": {
              "type": "integer"
            },
            "exclude_mptcp": {
              "type": "boolean"
            },
            "loopback_address": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "strict_route": {
              "type": "boolean"
            },
            "route_address": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "route_address_set": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "route_exclude_address": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "route_exclude_address_set": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "include_interface": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "exclude_interface": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "include_uid": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 4294967295
                  }
                }
              ]
            },
            "include_uid_range": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "exclude_uid": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 4294967295
                  }
                }
              ]
            },
            "exclude_uid_range": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "include_android_user": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  }
                }
              ]
            },
            "include_package": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "exclude_package": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "include_mac_address": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "exclude_mac_address": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "udp_mapping": {
              "type": "string",
              "enum": [
                "",
                "endpoint_independent",
                "address_dependent",
                "address_and_port_dependent"
              ]
            },
            "udp_filtering": {
              "type": "string",
              "enum": [
                "",
                "endpoint_independent",
                "address_dependent",
                "address_and_port_dependent"
              ]
            },
            "udp_nat_max": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "stack": {
              "type": "string",
              "enum": [
                "system",
                "gvisor",
                "mixed"
              ]
            },
            "platform": {
              "$ref": "#/$defs/TunPlatformOptions"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "vless"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/VLESSUser"
              }
            },
            "tls": {
              "$ref": "#/$defs/InboundTLSOptions"
            },
            "multiplex": {
              "$ref": "#/$defs/InboundMultiplexOptions"
            },
            "transport": {
              "$ref": "#/$defs/V2RayTransport"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "vmess"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/VMessUser"
              }
            },
            "tls": {
              "$ref": "#/$defs/InboundTLSOptions"
            },
            "multiplex": {
              "$ref": "#/$defs/InboundMultiplexOptions"
            },
            "transport": {
              "$ref": "#/$defs/V2RayTransport"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        }
      ]
    },
    "InboundECHOptions": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "key_path": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "InboundMultiplexOptions": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "padding": {
          "type": "boolean"
        },
        "brutal": {
          "$ref": "#/$defs/BrutalOptions"
        }
      },
      "additionalProperties": false
    },
    "InboundRealityHandshakeOptions": {
      "type": "object",
      "properties": {
        "server": {
          "type": "string"
        },
        "server_port": {
          "type": "integer",
          "minimum": 0,
          "maximum": 65535
        },
        "detour": {
          "type": "string",
          "x-tag-reference": "outbound"
        },
        "bind_interface": {
          "type": "string"
        },
        "inet4_bind_address": {
          "type": "string"
        },
        "inet6_bind_address": {
          "type": "string"
        },
        "bind_address_no_port": {
          "type": "boolean"
        },
        "protect_path": {
          "type": "string"
        },
        "routing_mark": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            {
              "type": "string"
            }
          ]
        },
        "reuse_addr": {
          "type": "boolean"
        },
        "netns": {
          "type": "string",
          "x-tag-reference": "network_namespace"
        },
        "connect_timeout": {
          "$ref": "#/$defs/Duration"
        },
        "tcp_fast_open": {
          "type": "boolean"
        },
        "tcp_multi_path": {
          "type": "boolean"
        },
        "disable_tcp_keep_alive": {
          "type": "boolean"
        },
        "tcp_keep_alive": {
          "$ref": "#/$defs/Duration"
        },
        "tcp_keep_alive_interval": {
          "$ref": "#/$defs/Duration"
        },
        "udp_fragment": {
          "type": "boolean"
        },
        "domain_resolver": {
          "$ref": "#/$defs/DomainResolver"
        },
        "network_strategy": {
          "type": "string",
          "enum": [
            "default",
            "fallback",
            "hybrid"
          ]
        },
        "network_type": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterfaceType"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/$defs/InterfaceType"
              }
            }
          ]
        },
        "fallback_network_type": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterfaceType"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/$defs/InterfaceType"
              }
            }
          ]
        },
        "fallback_delay": {
          "$ref": "#/$defs/Duration"
        }
      },
      "additionalProperties": false
    },
    "InboundRealityOptions": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "handshake": {
          "$ref": "#/$defs/InboundRealityHandshakeOptions"
        },
        "private_key": {
          "type": "string"
        },
        "short_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "max_time_difference": {
          "$ref": "#/$defs/Duration"
        }
      },
      "additionalProperties": false
    },
    "InboundTLSOptions": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "server_name": {
          "type": "string"
        },
        "insecure": {
          "type": "boolean"
        },
        "alpn": {
          "anyOf": [
            {
              "type": "string",
              "examples": [
                "http/1.1",
                "h2",
                "h3"
              ]
            },
            {
              "type": "array",
              "items": {
                "type": "string",
                "examples": [
                  "http/1.1",
                  "h2",
                  "h3"
                ]
              }
            }
          ]
        },
        "min_version": {
          "type": "string",
          "enum": [
            "1.0",
            "1.1",
            "1.2",
            "1.3"
          ]
        },
        "max_version": {
          "type": "string",
          "enum": [
            "1.0",
            "1.1",
            "1.2",
            "1.3"
          ]
        },
        "cipher_suites": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "curve_preferences": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "P256",
                "P384",
                "P521",
                "X25519",
                "X25519MLKEM768"
              ]
            },
            {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "P256",
                  "P384",
                  "P521",
                  "X25519",
                  "X25519MLKEM768"
                ]
              }
            }
          ]
        },
        "certificate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "certificate_path": {
          "type": "string"
        },
        "client_authentication": {
          "type": "string",
          "enum": [
            "no",
            "request",
            "require-any",
            "verify-if-given",
            "require-and-verify"
          ]
        },
        "client_certificate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "client_certificate_path": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "client_certificate_public_key_sha256": {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255
                  }
                }
              ]
            },
            {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 255
                    }
                  }
                ]
              }
            }
          ]
        },
        "key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "key_path": {
          "type": "string"
        },
        "kernel_tx": {
          "type": "boolean"
        },
        "kernel_rx": {
          "type": "boolean"
        },
        "handshake_timeout": {
          "$ref": "#/$defs/Duration"
        },
        "certificate_provider": {
          "$ref": "#/$defs/CertificateProviderReference"
        },
        "ech": {
          "$ref": "#/$defs/InboundECHOptions"
        },
        "reality": {
          "$ref": "#/$defs/InboundRealityOptions"
        }
      },
      "additionalProperties": false
    },
    "InterfaceType": {
      "type": "string",
      "enum": [
        "cellular",
        "ethernet",
        "other",
        "wifi"
      ]
    },
    "LogOptions": {
      "type": "object",
      "properties": {
        "disabled": {
          "type": "boolean"
        },
        "level": {
          "type": "string",
          "enum": [
            "trace",
            "debug",
            "info",
            "warn",
            "warning",
            "error",
            "fatal",
            "panic"
          ]
        },
        "output": {
          "type": "string"
        },
        "timestamp": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "NTPOptions": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "interval": {
          "$ref": "#/$defs/Duration"
        },
        "write_to_system": {
          "type": "boolean"
        },
        "server": {
          "type": "string"
        },
        "server_port": {
          "type": "integer",
          "minimum": 0,
          "maximum": 65535
        },
        "detour": {
          "type": "string",
          "x-tag-reference": "outbound"
        },
        "bind_interface": {
          "type": "string"
        },
        "inet4_bind_address": {
          "type": "string"
        },
        "inet6_bind_address": {
          "type": "string"
        },
        "bind_address_no_port": {
          "type": "boolean"
        },
        "protect_path": {
          "type": "string"
        },
        "routing_mark": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            {
              "type": "string"
            }
          ]
        },
        "reuse_addr": {
          "type": "boolean"
        },
        "netns": {
          "type": "string",
          "x-tag-reference": "network_namespace"
        },
        "connect_timeout": {
          "$ref": "#/$defs/Duration"
        },
        "tcp_fast_open": {
          "type": "boolean"
        },
        "tcp_multi_path": {
          "type": "boolean"
        },
        "disable_tcp_keep_alive": {
          "type": "boolean"
        },
        "tcp_keep_alive": {
          "$ref": "#/$defs/Duration"
        },
        "tcp_keep_alive_interval": {
          "$ref": "#/$defs/Duration"
        },
        "udp_fragment": {
          "type": "boolean"
        },
        "domain_resolver": {
          "$ref": "#/$defs/DomainResolver"
        },
        "network_strategy": {
          "type": "string",
          "enum": [
            "default",
            "fallback",
            "hybrid"
          ]
        },
        "network_type": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterfaceType"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/$defs/InterfaceType"
              }
            }
          ]
        },
        "fallback_network_type": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterfaceType"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/$defs/InterfaceType"
              }
            }
          ]
        },
        "fallback_delay": {
          "$ref": "#/$defs/Duration"
        }
      },
      "additionalProperties": false
    },
    "NestedDNSRule": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "default",
                ""
              ]
            },
            "inbound": {
              "anyOf": [
                {
                  "type": "string",
                  "x-tag-reference": "inbound"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "x-tag-reference": "inbound"
                  }
                }
              ]
            },
            "ip_version": {
              "type": "integer",
              "enum": [
                4,
                6
              ]
            },
            "query_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/DNSQueryType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/DNSQueryType"
                  }
                }
              ]
            },
            "network": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tcp",
                    "udp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tcp",
                      "udp"
                    ]
                  }
                }
              ]
            },
            "auth_user": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "protocol": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tls",
                    "http",
                    "quic",
                    "dns",
                    "stun",
                    "bittorrent",
                    "dtls",
                    "ssh",
                    "rdp",
                    "ntp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tls",
                      "http",
                      "quic",
                      "dns",
                      "stun",
                      "bittorrent",
                      "dtls",
                      "ssh",
                      "rdp",
                      "ntp"
                    ]
                  }
                }
              ]
            },
            "domain": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "domain_suffix": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "domain_keyword": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "domain_regex": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "source_ip_cidr": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "source_ip_is_private": {
              "type": "boolean"
            },
            "source_port": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 65535
                },
                {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535
                  }
                }
              ]
            },
            "source_port_range": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "port": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 65535
                },
                {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535
                  }
                }
              ]
            },
            "port_range": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "process_name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "process_path": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "process_path_regex": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "package_name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "package_name_regex": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "user": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "user_id": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  }
                }
              ]
            },
            "clash_mode": {
              "type": "string"
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "network_is_expensive": {
              "type": "boolean"
            },
            "network_is_constrained": {
              "type": "boolean"
            },
            "wifi_ssid": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "wifi_bssid": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "interface_address": {
              "type": "object",
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                ]
              }
            },
            "network_interface_address": {
              "type": "object",
              "propertyNames": {
                "$ref": "#/$defs/InterfaceType"
              },
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                ]
              }
            },
            "default_interface_address": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "source_mac_address": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "source_hostname": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "preferred_by": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "rule_set": {
              "anyOf": [
                {
                  "type": "string",
                  "x-tag-reference": "rule_set"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "x-tag-reference": "rule_set"
                  }
                }
              ]
            },
            "rule_set_ip_cidr_match_source": {
              "type": "boolean"
            },
            "match_response": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "string"
                }
              ]
            },
            "ip_cidr": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "ip_is_private": {
              "type": "boolean"
            },
            "ip_accept_any": {
              "type": "boolean"
            },
            "response_rcode": {
              "$ref": "#/$defs/DNSRCode"
            },
            "response_answer": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "response_ns": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "response_extra": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "invert": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "logical"
            },
            "mode": {
              "type": "string",
              "enum": [
                "and",
                "or"
              ]
            },
            "rules": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/NestedDNSRule"
              }
            },
            "invert": {
              "type": "boolean"
            }
          },
          "required": [
            "type",
            "mode",
            "rules"
          ],
          "additionalProperties": false
        }
      ]
    },
    "NestedRule": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "default",
                ""
              ]
            },
            "inbound": {
              "anyOf": [
                {
                  "type": "string",
                  "x-tag-reference": "inbound"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "x-tag-reference": "inbound"
                  }
                }
              ]
            },
            "ip_version": {
              "type": "integer",
              "enum": [
                4,
                6
              ]
            },
            "network": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tcp",
                    "udp",
                    "icmp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tcp",
                      "udp",
                      "icmp"
                    ]
                  }
                }
              ]
            },
            "auth_user": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "protocol": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tls",
                    "http",
                    "quic",
                    "dns",
                    "stun",
                    "bittorrent",
                    "dtls",
                    "ssh",
                    "rdp",
                    "ntp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tls",
                      "http",
                      "quic",
                      "dns",
                      "stun",
                      "bittorrent",
                      "dtls",
                      "ssh",
                      "rdp",
                      "ntp"
                    ]
                  }
                }
              ]
            },
            "client": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "domain": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "domain_suffix": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "domain_keyword": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "domain_regex": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "source_ip_cidr": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "source_ip_is_private": {
              "type": "boolean"
            },
            "ip_cidr": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "ip_is_private": {
              "type": "boolean"
            },
            "source_port": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 65535
                },
                {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535
                  }
                }
              ]
            },
            "source_port_range": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "port": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 65535
                },
                {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535
                  }
                }
              ]
            },
            "port_range": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "process_name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "process_path": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "process_path_regex": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "package_name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "package_name_regex": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "user": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "user_id": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  }
                }
              ]
            },
            "clash_mode": {
              "type": "string"
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "network_is_expensive": {
              "type": "boolean"
            },
            "network_is_constrained": {
              "type": "boolean"
            },
            "wifi_ssid": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "wifi_bssid": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "interface_address": {
              "type": "object",
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                ]
              }
            },
            "network_interface_address": {
              "type": "object",
              "propertyNames": {
                "$ref": "#/$defs/InterfaceType"
              },
              "additionalProperties": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                ]
              }
            },
            "default_interface_address": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "source_mac_address": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "source_hostname": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "preferred_by": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "rule_set": {
              "anyOf": [
                {
                  "type": "string",
                  "x-tag-reference": "rule_set"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "x-tag-reference": "rule_set"
                  }
                }
              ]
            },
            "rule_set_ip_cidr_match_source": {
              "type": "boolean"
            },
            "invert": {
              "type": "boolean"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "logical"
            },
            "mode": {
              "type": "string",
              "enum": [
                "and",
                "or"
              ]
            },
            "rules": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/NestedRule"
              }
            },
            "invert": {
              "type": "boolean"
            }
          },
          "required": [
            "type",
            "mode",
            "rules"
          ],
          "additionalProperties": false
        }
      ]
    },
    "NetworkNamespace": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "default",
                ""
              ]
            },
            "tag": {
              "type": "string"
            },
            "path": {
              "type": "string"
            }
          },
          "required": [
            "tag"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "unshare"
            },
            "tag": {
              "type": "string"
            },
            "pid_file": {
              "type": "string"
            }
          },
          "required": [
            "type",
            "tag"
          ],
          "additionalProperties": false
        }
      ]
    },
    "OCMUser": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "token": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "OpenConnectCSDOptions": {
      "type": "object",
      "properties": {
        "wrapper_path": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "OpenConnectFormEntryOptions": {
      "type": "object",
      "properties": {
        "form_id": {
          "type": "string"
        },
        "submission_key": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "promote": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "OpenConnectFortinetHostCheckOptions": {
      "type": "object",
      "properties": {
        "hostcheck": {
          "type": "string"
        },
        "check_virtual_desktop": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "OpenConnectHIPOptions": {
      "type": "object",
      "properties": {
        "wrapper_path": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "OpenConnectMobileOptions": {
      "type": "object",
      "properties": {
        "platform_version": {
          "type": "string"
        },
        "device_type": {
          "type": "string"
        },
        "device_unique_id": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "OpenConnectTLSOptions": {
      "type": "object",
      "properties": {
        "insecure": {
          "type": "boolean"
        },
        "server_name": {
          "type": "string"
        },
        "peer_fingerprint": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "system_trust_disabled": {
          "type": "boolean"
        },
        "certificate_authority": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "certificate_authority_path": {
          "type": "string"
        },
        "client_certificate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "client_certificate_path": {
          "type": "string"
        },
        "client_key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "client_key_path": {
          "type": "string"
        },
        "client_key_password": {
          "type": "string"
        },
        "mca_certificate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "mca_certificate_path": {
          "type": "string"
        },
        "mca_key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "mca_key_path": {
          "type": "string"
        },
        "mca_key_password": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "OpenConnectTNCCCertificateOptions": {
      "type": "object",
      "properties": {
        "certificate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "certificate_path": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "OpenConnectTNCCOptions": {
      "type": "object",
      "properties": {
        "wrapper_path": {
          "type": "string"
        },
        "device_id": {
          "type": "string"
        },
        "user_agent": {
          "type": "string"
        },
        "machine_identification_enabled": {
          "type": "boolean"
        },
        "certificates": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/OpenConnectTNCCCertificateOptions"
          }
        }
      },
      "additionalProperties": false
    },
    "OpenConnectTokenOptions": {
      "type": "object",
      "properties": {
        "mode": {
          "type": "string",
          "enum": [
            "totp",
            "hotp",
            "stoken",
            "oidc"
          ]
        },
        "secret": {
          "type": "string"
        },
        "secret_path": {
          "type": "string"
        },
        "pin": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "device_id": {
          "type": "string"
        },
        "counter": {
          "type": "integer",
          "minimum": 0
        }
      },
      "additionalProperties": false
    },
    "OpenVPNControlWrapOptions": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "tls_auth",
            "tls_crypt",
            "tls_crypt_v2"
          ]
        },
        "key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "key_path": {
          "type": "string"
        },
        "direction": {
          "type": "string",
          "enum": [
            "server",
            "client"
          ]
        }
      },
      "additionalProperties": false
    },
    "OpenVPNInboundControlWrapOptions": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "tls_auth",
            "tls_crypt",
            "tls_crypt_v2"
          ]
        },
        "key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "key_path": {
          "type": "string"
        },
        "direction": {
          "type": "string",
          "enum": [
            "server",
            "client"
          ]
        },
        "force_cookie": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "OpenVPNInboundTLSOptions": {
      "type": "object",
      "properties": {
        "certificate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "certificate_path": {
          "type": "string"
        },
        "key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "key_path": {
          "type": "string"
        },
        "client_certificate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "client_certificate_path": {
          "type": "string"
        },
        "verify_client_certificate": {
          "type": "string",
          "enum": [
            "require",
            "optional",
            "none"
          ]
        },
        "client_name": {
          "type": "string"
        },
        "client_name_type": {
          "type": "string",
          "enum": [
            "subject",
            "name",
            "name-prefix"
          ]
        },
        "peer_fingerprint": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "crl_path": {
          "type": "string"
        },
        "remote_certificate_ku": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "remote_certificate_eku": {
          "type": "string"
        },
        "remote_certificate_tls": {
          "type": "string",
          "enum": [
            "server",
            "client",
            "none"
          ]
        },
        "certificate_profile": {
          "type": "string",
          "enum": [
            "legacy",
            "preferred",
            "insecure",
            "suiteb"
          ]
        },
        "ns_certificate_type": {
          "type": "string",
          "enum": [
            "server",
            "client"
          ]
        },
        "version_min": {
          "type": "string",
          "enum": [
            "1.0",
            "1.1",
            "1.2",
            "1.3"
          ]
        },
        "version_max": {
          "type": "string",
          "enum": [
            "1.0",
            "1.1",
            "1.2",
            "1.3"
          ]
        },
        "cipher": {
          "type": "string"
        },
        "groups": {
          "type": "string"
        },
        "control_wrap": {
          "$ref": "#/$defs/OpenVPNInboundControlWrapOptions"
        }
      },
      "additionalProperties": false
    },
    "OpenVPNOutboundTLSOptions": {
      "type": "object",
      "properties": {
        "server_name": {
          "type": "string"
        },
        "server_name_type": {
          "type": "string",
          "enum": [
            "subject",
            "name",
            "name-prefix"
          ]
        },
        "certificate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "certificate_path": {
          "type": "string"
        },
        "client_certificate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "client_certificate_path": {
          "type": "string"
        },
        "client_key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "client_key_path": {
          "type": "string"
        },
        "peer_fingerprint": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "crl_path": {
          "type": "string"
        },
        "remote_certificate_ku": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "remote_certificate_eku": {
          "type": "string"
        },
        "remote_certificate_tls": {
          "type": "string",
          "enum": [
            "server",
            "client",
            "none"
          ]
        },
        "certificate_profile": {
          "type": "string",
          "enum": [
            "legacy",
            "preferred",
            "insecure",
            "suiteb"
          ]
        },
        "ns_certificate_type": {
          "type": "string",
          "enum": [
            "server",
            "client"
          ]
        },
        "version_min": {
          "type": "string",
          "enum": [
            "1.0",
            "1.1",
            "1.2",
            "1.3"
          ]
        },
        "version_max": {
          "type": "string",
          "enum": [
            "1.0",
            "1.1",
            "1.2",
            "1.3"
          ]
        },
        "cipher": {
          "type": "string"
        },
        "groups": {
          "type": "string"
        },
        "control_wrap": {
          "$ref": "#/$defs/OpenVPNControlWrapOptions"
        }
      },
      "additionalProperties": false
    },
    "OpenVPNPullFilterOptions": {
      "type": "object",
      "properties": {
        "action": {
          "type": "string",
          "enum": [
            "accept",
            "ignore",
            "reject"
          ]
        },
        "text": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "OpenVPNPushDNSServerOptions": {
      "type": "object",
      "properties": {
        "priority": {
          "type": "integer"
        },
        "addresses": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "resolve_domains": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "dnssec": {
          "type": "string",
          "enum": [
            "yes",
            "optional",
            "no"
          ]
        },
        "transport": {
          "type": "string",
          "enum": [
            "plain",
            "dot",
            "doh"
          ]
        },
        "sni": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "OpenVPNPushOptions": {
      "type": "object",
      "properties": {
        "routes": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "dns": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "dns_servers": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/OpenVPNPushDNSServerOptions"
          }
        },
        "search_domains": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "dhcp_options": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "redirect_gateway": {
          "type": "boolean"
        },
        "redirect_gateway_flags": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "block_outside_dns": {
          "type": "boolean"
        },
        "ping_interval": {
          "$ref": "#/$defs/Duration"
        },
        "ping_restart": {
          "$ref": "#/$defs/Duration"
        }
      },
      "additionalProperties": false
    },
    "OpenVPNRemoteOptions": {
      "type": "object",
      "properties": {
        "server": {
          "type": "string"
        },
        "server_port": {
          "type": "integer",
          "minimum": 0,
          "maximum": 65535
        },
        "network": {
          "type": "string",
          "enum": [
            "udp",
            "udp4",
            "udp6",
            "tcp",
            "tcp4",
            "tcp6"
          ]
        }
      },
      "additionalProperties": false
    },
    "Outbound": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "anytls"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "tls": {
              "$ref": "#/$defs/OutboundTLSOptions"
            },
            "password": {
              "type": "string"
            },
            "idle_session_check_interval": {
              "$ref": "#/$defs/Duration"
            },
            "idle_session_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "min_idle_session": {
              "type": "integer"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "block"
            },
            "tag": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "bridge"
            },
            "tag": {
              "type": "string"
            },
            "interface": {
              "type": "string"
            },
            "bridge_name": {
              "type": "string"
            },
            "iproute2_table_index": {
              "type": "integer"
            },
            "iproute2_rule_index": {
              "type": "integer"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "direct"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "http"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "username": {
              "type": "string"
            },
            "password": {
              "type": "string"
            },
            "tls": {
              "$ref": "#/$defs/OutboundTLSOptions"
            },
            "path": {
              "type": "string"
            },
            "headers": {
              "$ref": "#/$defs/HTTPHeader"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "hysteria"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "server_ports": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "hop_interval": {
              "$ref": "#/$defs/Duration"
            },
            "up": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "up_mbps": {
              "type": "integer"
            },
            "down": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "down_mbps": {
              "type": "integer"
            },
            "obfs": {
              "type": "string"
            },
            "auth": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255
                  }
                }
              ]
            },
            "auth_str": {
              "type": "string"
            },
            "network": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tcp",
                    "udp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tcp",
                      "udp"
                    ]
                  }
                }
              ]
            },
            "tls": {
              "$ref": "#/$defs/OutboundTLSOptions"
            },
            "idle_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "keep_alive_period": {
              "$ref": "#/$defs/Duration"
            },
            "stream_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "connection_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "max_concurrent_streams": {
              "type": "integer"
            },
            "initial_packet_size": {
              "type": "integer"
            },
            "disable_path_mtu_discovery": {
              "type": "boolean"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "hysteria2"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "server_ports": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "hop_interval": {
              "$ref": "#/$defs/Duration"
            },
            "hop_interval_max": {
              "$ref": "#/$defs/Duration"
            },
            "up_mbps": {
              "type": "integer"
            },
            "down_mbps": {
              "type": "integer"
            },
            "obfs": {
              "oneOf": [
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "const": "salamander"
                    },
                    "password": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false
                },
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "const": "gecko"
                    },
                    "password": {
                      "type": "string"
                    },
                    "min_packet_size": {
                      "type": "integer"
                    },
                    "max_packet_size": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false
                }
              ]
            },
            "password": {
              "type": "string"
            },
            "network": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tcp",
                    "udp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tcp",
                      "udp"
                    ]
                  }
                }
              ]
            },
            "tls": {
              "$ref": "#/$defs/OutboundTLSOptions"
            },
            "idle_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "keep_alive_period": {
              "$ref": "#/$defs/Duration"
            },
            "stream_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "connection_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "max_concurrent_streams": {
              "type": "integer"
            },
            "initial_packet_size": {
              "type": "integer"
            },
            "disable_path_mtu_discovery": {
              "type": "boolean"
            },
            "bbr_profile": {
              "type": "string",
              "enum": [
                "standard",
                "conservative",
                "aggressive"
              ]
            },
            "brutal_debug": {
              "type": "boolean"
            },
            "realm": {
              "$ref": "#/$defs/Hysteria2Realm"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "naive"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "username": {
              "type": "string"
            },
            "password": {
              "type": "string"
            },
            "insecure_concurrency": {
              "type": "integer"
            },
            "extra_headers": {
              "$ref": "#/$defs/HTTPHeader"
            },
            "stream_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "udp_over_tcp": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "version": {
                      "type": "integer",
                      "enum": [
                        1,
                        2
                      ],
                      "minimum": 0,
                      "maximum": 255
                    }
                  },
                  "additionalProperties": false
                }
              ]
            },
            "quic": {
              "type": "boolean"
            },
            "quic_congestion_control": {
              "type": "string",
              "enum": [
                "bbr",
                "bbr2",
                "cubic",
                "reno"
              ]
            },
            "quic_session_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "tls": {
              "$ref": "#/$defs/OutboundTLSOptions"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "selector"
            },
            "tag": {
              "type": "string"
            },
            "outbounds": {
              "type": "array",
              "items": {
                "type": "string",
                "x-tag-reference": "outbound"
              }
            },
            "default": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "interrupt_exist_connections": {
              "type": "boolean"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "shadowsocks"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "method": {
              "type": "string",
              "enum": [
                "none",
                "aes-128-gcm",
                "aes-192-gcm",
                "aes-256-gcm",
                "chacha20-ietf-poly1305",
                "xchacha20-ietf-poly1305",
                "2022-blake3-aes-128-gcm",
                "2022-blake3-aes-256-gcm",
                "2022-blake3-chacha20-poly1305",
                "aes-128-ctr",
                "aes-192-ctr",
                "aes-256-ctr",
                "aes-128-cfb",
                "aes-192-cfb",
                "aes-256-cfb",
                "rc4-md5",
                "chacha20-ietf",
                "xchacha20"
              ]
            },
            "password": {
              "type": "string"
            },
            "plugin": {
              "type": "string"
            },
            "plugin_opts": {
              "type": "string"
            },
            "network": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tcp",
                    "udp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tcp",
                      "udp"
                    ]
                  }
                }
              ]
            },
            "udp_over_tcp": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "version": {
                      "type": "integer",
                      "enum": [
                        1,
                        2
                      ],
                      "minimum": 0,
                      "maximum": 255
                    }
                  },
                  "additionalProperties": false
                }
              ]
            },
            "multiplex": {
              "$ref": "#/$defs/OutboundMultiplexOptions"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "shadowtls"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "version": {
              "type": "integer",
              "enum": [
                1,
                2,
                3
              ]
            },
            "password": {
              "type": "string"
            },
            "tls": {
              "$ref": "#/$defs/OutboundTLSOptions"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "type": {
                  "const": "snell"
                },
                "tag": {
                  "type": "string"
                },
                "version": {
                  "const": 4
                },
                "detour": {
                  "type": "string",
                  "x-tag-reference": "outbound"
                },
                "bind_interface": {
                  "type": "string"
                },
                "inet4_bind_address": {
                  "type": "string"
                },
                "inet6_bind_address": {
                  "type": "string"
                },
                "bind_address_no_port": {
                  "type": "boolean"
                },
                "protect_path": {
                  "type": "string"
                },
                "routing_mark": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 4294967295
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "reuse_addr": {
                  "type": "boolean"
                },
                "netns": {
                  "type": "string",
                  "x-tag-reference": "network_namespace"
                },
                "connect_timeout": {
                  "$ref": "#/$defs/Duration"
                },
                "tcp_fast_open": {
                  "type": "boolean"
                },
                "tcp_multi_path": {
                  "type": "boolean"
                },
                "disable_tcp_keep_alive": {
                  "type": "boolean"
                },
                "tcp_keep_alive": {
                  "$ref": "#/$defs/Duration"
                },
                "tcp_keep_alive_interval": {
                  "$ref": "#/$defs/Duration"
                },
                "udp_fragment": {
                  "type": "boolean"
                },
                "domain_resolver": {
                  "$ref": "#/$defs/DomainResolver"
                },
                "network_strategy": {
                  "type": "string",
                  "enum": [
                    "default",
                    "fallback",
                    "hybrid"
                  ]
                },
                "network_type": {
                  "anyOf": [
                    {
                      "$ref": "#/$defs/InterfaceType"
                    },
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/$defs/InterfaceType"
                      }
                    }
                  ]
                },
                "fallback_network_type": {
                  "anyOf": [
                    {
                      "$ref": "#/$defs/InterfaceType"
                    },
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/$defs/InterfaceType"
                      }
                    }
                  ]
                },
                "fallback_delay": {
                  "$ref": "#/$defs/Duration"
                },
                "server": {
                  "type": "string"
                },
                "server_port": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 65535
                },
                "psk": {
                  "type": "string"
                },
                "userkey": {
                  "type": "string"
                },
                "reuse": {
                  "type": "boolean"
                },
                "network": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "tcp",
                        "udp"
                      ]
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "tcp",
                          "udp"
                        ]
                      }
                    }
                  ]
                },
                "obfs_mode": {
                  "type": "string",
                  "enum": [
                    "none",
                    "http",
                    "tls"
                  ]
                },
                "obfs_host": {
                  "type": "string"
                }
              },
              "required": [
                "type",
                "version"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "type": {
                  "const": "snell"
                },
                "tag": {
                  "type": "string"
                },
                "version": {
                  "const": 6
                },
                "detour": {
                  "type": "string",
                  "x-tag-reference": "outbound"
                },
                "bind_interface": {
                  "type": "string"
                },
                "inet4_bind_address": {
                  "type": "string"
                },
                "inet6_bind_address": {
                  "type": "string"
                },
                "bind_address_no_port": {
                  "type": "boolean"
                },
                "protect_path": {
                  "type": "string"
                },
                "routing_mark": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 4294967295
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "reuse_addr": {
                  "type": "boolean"
                },
                "netns": {
                  "type": "string",
                  "x-tag-reference": "network_namespace"
                },
                "connect_timeout": {
                  "$ref": "#/$defs/Duration"
                },
                "tcp_fast_open": {
                  "type": "boolean"
                },
                "tcp_multi_path": {
                  "type": "boolean"
                },
                "disable_tcp_keep_alive": {
                  "type": "boolean"
                },
                "tcp_keep_alive": {
                  "$ref": "#/$defs/Duration"
                },
                "tcp_keep_alive_interval": {
                  "$ref": "#/$defs/Duration"
                },
                "udp_fragment": {
                  "type": "boolean"
                },
                "domain_resolver": {
                  "$ref": "#/$defs/DomainResolver"
                },
                "network_strategy": {
                  "type": "string",
                  "enum": [
                    "default",
                    "fallback",
                    "hybrid"
                  ]
                },
                "network_type": {
                  "anyOf": [
                    {
                      "$ref": "#/$defs/InterfaceType"
                    },
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/$defs/InterfaceType"
                      }
                    }
                  ]
                },
                "fallback_network_type": {
                  "anyOf": [
                    {
                      "$ref": "#/$defs/InterfaceType"
                    },
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/$defs/InterfaceType"
                      }
                    }
                  ]
                },
                "fallback_delay": {
                  "$ref": "#/$defs/Duration"
                },
                "server": {
                  "type": "string"
                },
                "server_port": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 65535
                },
                "psk": {
                  "type": "string"
                },
                "userkey": {
                  "type": "string"
                },
                "reuse": {
                  "type": "boolean"
                },
                "network": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "tcp",
                        "udp"
                      ]
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "tcp",
                          "udp"
                        ]
                      }
                    }
                  ]
                },
                "mode": {
                  "type": "string",
                  "enum": [
                    "default",
                    "unshaped",
                    "unsafe-raw"
                  ]
                }
              },
              "required": [
                "type",
                "version"
              ],
              "additionalProperties": false
            }
          ]
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "socks"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "version": {
              "type": "string",
              "enum": [
                "4",
                "4a",
                "5"
              ]
            },
            "username": {
              "type": "string"
            },
            "password": {
              "type": "string"
            },
            "network": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tcp",
                    "udp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tcp",
                      "udp"
                    ]
                  }
                }
              ]
            },
            "udp_over_tcp": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "version": {
                      "type": "integer",
                      "enum": [
                        1,
                        2
                      ],
                      "minimum": 0,
                      "maximum": 255
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "ssh"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "user": {
              "type": "string"
            },
            "password": {
              "type": "string"
            },
            "private_key": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "private_key_path": {
              "type": "string"
            },
            "private_key_passphrase": {
              "type": "string"
            },
            "host_key": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "host_key_algorithms": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "client_version": {
              "type": "string"
            },
            "cipher": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "mac": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "kex_algorithm": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "tor"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "executable_path": {
              "type": "string"
            },
            "extra_args": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "data_directory": {
              "type": "string"
            },
            "torrc": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "trojan"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "password": {
              "type": "string"
            },
            "network": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tcp",
                    "udp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tcp",
                      "udp"
                    ]
                  }
                }
              ]
            },
            "tls": {
              "$ref": "#/$defs/OutboundTLSOptions"
            },
            "multiplex": {
              "$ref": "#/$defs/OutboundMultiplexOptions"
            },
            "transport": {
              "$ref": "#/$defs/V2RayTransport"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "tuic"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "uuid": {
              "type": "string"
            },
            "password": {
              "type": "string"
            },
            "congestion_control": {
              "type": "string",
              "enum": [
                "cubic",
                "new_reno",
                "bbr"
              ]
            },
            "udp_relay_mode": {
              "type": "string",
              "enum": [
                "native",
                "quic"
              ]
            },
            "udp_over_stream": {
              "type": "boolean"
            },
            "zero_rtt_handshake": {
              "type": "boolean"
            },
            "heartbeat": {
              "$ref": "#/$defs/Duration"
            },
            "network": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tcp",
                    "udp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tcp",
                      "udp"
                    ]
                  }
                }
              ]
            },
            "tls": {
              "$ref": "#/$defs/OutboundTLSOptions"
            },
            "idle_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "keep_alive_period": {
              "$ref": "#/$defs/Duration"
            },
            "stream_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "connection_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "max_concurrent_streams": {
              "type": "integer"
            },
            "initial_packet_size": {
              "type": "integer"
            },
            "disable_path_mtu_discovery": {
              "type": "boolean"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "urltest"
            },
            "tag": {
              "type": "string"
            },
            "outbounds": {
              "type": "array",
              "items": {
                "type": "string",
                "x-tag-reference": "outbound"
              }
            },
            "url": {
              "type": "string"
            },
            "interval": {
              "$ref": "#/$defs/Duration"
            },
            "tolerance": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "idle_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "interrupt_exist_connections": {
              "type": "boolean"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "vless"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "uuid": {
              "type": "string"
            },
            "flow": {
              "type": "string"
            },
            "network": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tcp",
                    "udp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tcp",
                      "udp"
                    ]
                  }
                }
              ]
            },
            "tls": {
              "$ref": "#/$defs/OutboundTLSOptions"
            },
            "multiplex": {
              "$ref": "#/$defs/OutboundMultiplexOptions"
            },
            "transport": {
              "$ref": "#/$defs/V2RayTransport"
            },
            "packet_encoding": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "vmess"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "uuid": {
              "type": "string"
            },
            "security": {
              "type": "string",
              "enum": [
                "auto",
                "none",
                "zero",
                "aes-128-cfb",
                "aes-128-gcm",
                "chacha20-poly1305"
              ]
            },
            "alter_id": {
              "type": "integer"
            },
            "global_padding": {
              "type": "boolean"
            },
            "authenticated_length": {
              "type": "boolean"
            },
            "network": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tcp",
                    "udp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tcp",
                      "udp"
                    ]
                  }
                }
              ]
            },
            "tls": {
              "$ref": "#/$defs/OutboundTLSOptions"
            },
            "packet_encoding": {
              "type": "string",
              "enum": [
                "packetaddr",
                "xudp"
              ]
            },
            "multiplex": {
              "$ref": "#/$defs/OutboundMultiplexOptions"
            },
            "transport": {
              "$ref": "#/$defs/V2RayTransport"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        }
      ]
    },
    "OutboundECHOptions": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "config": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "config_path": {
          "type": "string"
        },
        "query_server_name": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "OutboundMultiplexOptions": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "protocol": {
          "type": "string",
          "enum": [
            "h2mux",
            "smux",
            "yamux"
          ]
        },
        "max_connections": {
          "type": "integer"
        },
        "min_streams": {
          "type": "integer"
        },
        "max_streams": {
          "type": "integer"
        },
        "padding": {
          "type": "boolean"
        },
        "brutal": {
          "$ref": "#/$defs/BrutalOptions"
        }
      },
      "additionalProperties": false
    },
    "OutboundRealityOptions": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "public_key": {
          "type": "string"
        },
        "short_id": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "OutboundTLSOptions": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "engine": {
          "type": "string",
          "enum": [
            "go",
            "apple",
            "windows"
          ]
        },
        "disable_sni": {
          "type": "boolean"
        },
        "server_name": {
          "type": "string"
        },
        "insecure": {
          "type": "boolean"
        },
        "alpn": {
          "anyOf": [
            {
              "type": "string",
              "examples": [
                "http/1.1",
                "h2",
                "h3"
              ]
            },
            {
              "type": "array",
              "items": {
                "type": "string",
                "examples": [
                  "http/1.1",
                  "h2",
                  "h3"
                ]
              }
            }
          ]
        },
        "min_version": {
          "type": "string",
          "enum": [
            "1.0",
            "1.1",
            "1.2",
            "1.3"
          ]
        },
        "max_version": {
          "type": "string",
          "enum": [
            "1.0",
            "1.1",
            "1.2",
            "1.3"
          ]
        },
        "cipher_suites": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "curve_preferences": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "P256",
                "P384",
                "P521",
                "X25519",
                "X25519MLKEM768"
              ]
            },
            {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "P256",
                  "P384",
                  "P521",
                  "X25519",
                  "X25519MLKEM768"
                ]
              }
            }
          ]
        },
        "certificate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "certificate_path": {
          "type": "string"
        },
        "certificate_public_key_sha256": {
          "anyOf": [
            {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 255
                  }
                }
              ]
            },
            {
              "type": "array",
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 255
                    }
                  }
                ]
              }
            }
          ]
        },
        "client_certificate": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "client_certificate_path": {
          "type": "string"
        },
        "client_key": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "client_key_path": {
          "type": "string"
        },
        "fragment": {
          "type": "boolean"
        },
        "fragment_fallback_delay": {
          "$ref": "#/$defs/Duration"
        },
        "record_fragment": {
          "type": "boolean"
        },
        "spoof": {
          "type": "string"
        },
        "spoof_method": {
          "type": "string",
          "enum": [
            "wrong-sequence",
            "wrong-checksum",
            "wrong-ack",
            "wrong-md5",
            "wrong-timestamp"
          ]
        },
        "kernel_tx": {
          "type": "boolean"
        },
        "kernel_rx": {
          "type": "boolean"
        },
        "handshake_timeout": {
          "$ref": "#/$defs/Duration"
        },
        "ech": {
          "$ref": "#/$defs/OutboundECHOptions"
        },
        "utls": {
          "$ref": "#/$defs/OutboundUTLSOptions"
        },
        "reality": {
          "$ref": "#/$defs/OutboundRealityOptions"
        }
      },
      "additionalProperties": false
    },
    "OutboundUTLSOptions": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "fingerprint": {
          "type": "string",
          "enum": [
            "chrome_psk",
            "chrome_psk_shuffle",
            "chrome_padding_psk_shuffle",
            "chrome_pq",
            "chrome_pq_psk",
            "chrome",
            "firefox",
            "edge",
            "safari",
            "360",
            "qq",
            "ios",
            "android",
            "random",
            "randomized"
          ]
        }
      },
      "additionalProperties": false
    },
    "RouteOptions": {
      "type": "object",
      "properties": {
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Rule"
          }
        },
        "rule_set": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/RuleSet"
          }
        },
        "final": {
          "type": "string",
          "x-tag-reference": "outbound"
        },
        "find_process": {
          "type": "boolean"
        },
        "find_neighbor": {
          "type": "boolean"
        },
        "dhcp_lease_files": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "auto_detect_interface": {
          "type": "boolean"
        },
        "override_android_vpn": {
          "type": "boolean"
        },
        "default_interface": {
          "type": "string"
        },
        "default_mark": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            {
              "type": "string"
            }
          ]
        },
        "default_domain_resolver": {
          "$ref": "#/$defs/DomainResolver"
        },
        "default_network_strategy": {
          "type": "string",
          "enum": [
            "default",
            "fallback",
            "hybrid"
          ]
        },
        "default_network_type": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterfaceType"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/$defs/InterfaceType"
              }
            }
          ]
        },
        "default_fallback_network_type": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterfaceType"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/$defs/InterfaceType"
              }
            }
          ]
        },
        "default_fallback_delay": {
          "$ref": "#/$defs/Duration"
        },
        "default_http_client": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Rule": {
      "oneOf": [
        {
          "type": "object",
          "unevaluatedProperties": false,
          "allOf": [
            {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "default",
                    ""
                  ]
                },
                "inbound": {
                  "anyOf": [
                    {
                      "type": "string",
                      "x-tag-reference": "inbound"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "x-tag-reference": "inbound"
                      }
                    }
                  ]
                },
                "ip_version": {
                  "type": "integer",
                  "enum": [
                    4,
                    6
                  ]
                },
                "network": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "tcp",
                        "udp",
                        "icmp"
                      ]
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "tcp",
                          "udp",
                          "icmp"
                        ]
                      }
                    }
                  ]
                },
                "auth_user": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "protocol": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "tls",
                        "http",
                        "quic",
                        "dns",
                        "stun",
                        "bittorrent",
                        "dtls",
                        "ssh",
                        "rdp",
                        "ntp"
                      ]
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "tls",
                          "http",
                          "quic",
                          "dns",
                          "stun",
                          "bittorrent",
                          "dtls",
                          "ssh",
                          "rdp",
                          "ntp"
                        ]
                      }
                    }
                  ]
                },
                "client": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "domain": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "domain_suffix": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "domain_keyword": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "domain_regex": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "source_ip_cidr": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "source_ip_is_private": {
                  "type": "boolean"
                },
                "ip_cidr": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "ip_is_private": {
                  "type": "boolean"
                },
                "source_port": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 65535
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 65535
                      }
                    }
                  ]
                },
                "source_port_range": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "port": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 65535
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 65535
                      }
                    }
                  ]
                },
                "port_range": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "process_name": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "process_path": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "process_path_regex": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "package_name": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "package_name_regex": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "user": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "user_id": {
                  "anyOf": [
                    {
                      "type": "integer"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "integer"
                      }
                    }
                  ]
                },
                "clash_mode": {
                  "type": "string"
                },
                "network_type": {
                  "anyOf": [
                    {
                      "$ref": "#/$defs/InterfaceType"
                    },
                    {
                      "type": "array",
                      "items": {
                        "$ref": "#/$defs/InterfaceType"
                      }
                    }
                  ]
                },
                "network_is_expensive": {
                  "type": "boolean"
                },
                "network_is_constrained": {
                  "type": "boolean"
                },
                "wifi_ssid": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "wifi_bssid": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "interface_address": {
                  "type": "object",
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    ]
                  }
                },
                "network_interface_address": {
                  "type": "object",
                  "propertyNames": {
                    "$ref": "#/$defs/InterfaceType"
                  },
                  "additionalProperties": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    ]
                  }
                },
                "default_interface_address": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "source_mac_address": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "source_hostname": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "preferred_by": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  ]
                },
                "rule_set": {
                  "anyOf": [
                    {
                      "type": "string",
                      "x-tag-reference": "rule_set"
                    },
                    {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "x-tag-reference": "rule_set"
                      }
                    }
                  ]
                },
                "rule_set_ip_cidr_match_source": {
                  "type": "boolean"
                },
                "invert": {
                  "type": "boolean"
                }
              }
            },
            {
              "$ref": "#/$defs/RuleAction"
            }
          ]
        },
        {
          "type": "object",
          "unevaluatedProperties": false,
          "allOf": [
            {
              "type": "object",
              "properties": {
                "type": {
                  "const": "logical"
                },
                "mode": {
                  "type": "string",
                  "enum": [
                    "and",
                    "or"
                  ]
                },
                "rules": {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/NestedRule"
                  }
                },
                "invert": {
                  "type": "boolean"
                }
              },
              "required": [
                "type",
                "mode",
                "rules"
              ]
            },
            {
              "$ref": "#/$defs/RuleAction"
            }
          ]
        }
      ]
    },
    "RuleAction": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "action": {
              "const": "route"
            },
            "outbound": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "override_address": {
              "type": "string"
            },
            "override_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "fallback_delay": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "udp_disable_domain_unmapping": {
              "type": "boolean"
            },
            "udp_connect": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tls_fragment": {
              "type": "boolean"
            },
            "tls_fragment_fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "tls_record_fragment": {
              "type": "boolean"
            },
            "tls_spoof": {
              "type": "string"
            },
            "tls_spoof_method": {
              "type": "string",
              "enum": [
                "wrong-sequence",
                "wrong-checksum",
                "wrong-ack",
                "wrong-md5",
                "wrong-timestamp"
              ]
            }
          }
        },
        {
          "type": "object",
          "properties": {
            "action": {
              "const": "route-options"
            },
            "override_address": {
              "type": "string"
            },
            "override_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "fallback_delay": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "udp_disable_domain_unmapping": {
              "type": "boolean"
            },
            "udp_connect": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tls_fragment": {
              "type": "boolean"
            },
            "tls_fragment_fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "tls_record_fragment": {
              "type": "boolean"
            },
            "tls_spoof": {
              "type": "string"
            },
            "tls_spoof_method": {
              "type": "string",
              "enum": [
                "wrong-sequence",
                "wrong-checksum",
                "wrong-ack",
                "wrong-md5",
                "wrong-timestamp"
              ]
            }
          },
          "required": [
            "action"
          ]
        },
        {
          "type": "object",
          "properties": {
            "action": {
              "const": "direct"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            }
          },
          "required": [
            "action"
          ]
        },
        {
          "type": "object",
          "properties": {
            "action": {
              "const": "bypass"
            },
            "outbound": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "override_address": {
              "type": "string"
            },
            "override_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "fallback_delay": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "udp_disable_domain_unmapping": {
              "type": "boolean"
            },
            "udp_connect": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tls_fragment": {
              "type": "boolean"
            },
            "tls_fragment_fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "tls_record_fragment": {
              "type": "boolean"
            },
            "tls_spoof": {
              "type": "string"
            },
            "tls_spoof_method": {
              "type": "string",
              "enum": [
                "wrong-sequence",
                "wrong-checksum",
                "wrong-ack",
                "wrong-md5",
                "wrong-timestamp"
              ]
            }
          },
          "required": [
            "action"
          ]
        },
        {
          "type": "object",
          "properties": {
            "action": {
              "const": "reject"
            },
            "method": {
              "type": "string",
              "enum": [
                "",
                "default",
                "drop",
                "reply"
              ]
            },
            "no_drop": {
              "type": "boolean"
            }
          },
          "required": [
            "action"
          ]
        },
        {
          "type": "object",
          "properties": {
            "action": {
              "const": "hijack-dns"
            }
          },
          "required": [
            "action"
          ]
        },
        {
          "type": "object",
          "properties": {
            "action": {
              "const": "sniff"
            },
            "sniffer": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "tls",
                    "http",
                    "quic",
                    "dns",
                    "stun",
                    "bittorrent",
                    "dtls",
                    "ssh",
                    "rdp",
                    "ntp"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "tls",
                      "http",
                      "quic",
                      "dns",
                      "stun",
                      "bittorrent",
                      "dtls",
                      "ssh",
                      "rdp",
                      "ntp"
                    ]
                  }
                }
              ]
            },
            "timeout": {
              "$ref": "#/$defs/Duration"
            }
          },
          "required": [
            "action"
          ]
        },
        {
          "type": "object",
          "properties": {
            "action": {
              "const": "resolve"
            },
            "server": {
              "type": "string",
              "x-tag-reference": "dns_server"
            },
            "timeout": {
              "$ref": "#/$defs/Duration"
            },
            "strategy": {
              "$ref": "#/$defs/DomainStrategy"
            },
            "disable_cache": {
              "type": "boolean"
            },
            "disable_optimistic_cache": {
              "type": "boolean"
            },
            "rewrite_ttl": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "client_subnet": {
              "type": "string"
            }
          },
          "required": [
            "action"
          ]
        }
      ]
    },
    "RuleSet": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "inline",
                ""
              ]
            },
            "tag": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "rules": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/HeadlessRule"
              }
            }
          },
          "required": [
            "tag"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "local"
            },
            "tag": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "format": {
              "type": "string",
              "enum": [
                "source",
                "binary"
              ]
            },
            "path": {
              "type": "string"
            }
          },
          "required": [
            "type",
            "tag"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "remote"
            },
            "tag": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "format": {
              "type": "string",
              "enum": [
                "source",
                "binary"
              ]
            },
            "url": {
              "type": "string"
            },
            "initial_path": {
              "type": "string"
            },
            "http_client": {
              "$ref": "#/$defs/HTTPClientReference"
            },
            "update_interval": {
              "$ref": "#/$defs/Duration"
            }
          },
          "required": [
            "type",
            "tag"
          ],
          "additionalProperties": false
        }
      ]
    },
    "ServerOptions": {
      "type": "object",
      "properties": {
        "server": {
          "type": "string"
        },
        "server_port": {
          "type": "integer",
          "minimum": 0,
          "maximum": 65535
        }
      },
      "additionalProperties": false
    },
    "Service": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "api"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "secret": {
              "type": "string"
            },
            "access_control_allow_origin": {
              "anyOf": [
                {
                  "type": "string",
                  "examples": [
                    "http://sing-box-dashboard.sagernet.org/",
                    "https://sing-box-dashboard.sagernet.org/"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "examples": [
                      "http://sing-box-dashboard.sagernet.org/",
                      "https://sing-box-dashboard.sagernet.org/"
                    ]
                  }
                }
              ]
            },
            "access_control_allow_private_network": {
              "type": "boolean"
            },
            "dashboard": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "string"
                },
                {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "path": {
                      "type": "string"
                    },
                    "download_url": {
                      "type": "string"
                    },
                    "http_client": {
                      "$ref": "#/$defs/HTTPClientReference"
                    },
                    "update_interval": {
                      "$ref": "#/$defs/Duration"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            },
            "tls": {
              "$ref": "#/$defs/InboundTLSOptions"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "ccm"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "tls": {
              "$ref": "#/$defs/InboundTLSOptions"
            },
            "credential_path": {
              "type": "string"
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/CCMUser"
              }
            },
            "headers": {
              "$ref": "#/$defs/HTTPHeader"
            },
            "usages_path": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "derp"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "tls": {
              "$ref": "#/$defs/InboundTLSOptions"
            },
            "config_path": {
              "type": "string"
            },
            "verify_client_endpoint": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "verify_client_url": {
              "anyOf": [
                {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "tag": {
                          "type": "string"
                        },
                        "engine": {
                          "type": "string",
                          "enum": [
                            "go",
                            "apple"
                          ]
                        },
                        "version": {
                          "type": "integer",
                          "enum": [
                            0,
                            1,
                            2,
                            3
                          ]
                        },
                        "disable_version_fallback": {
                          "type": "boolean"
                        },
                        "headers": {
                          "$ref": "#/$defs/HTTPHeader"
                        },
                        "tls": {
                          "$ref": "#/$defs/OutboundTLSOptions"
                        },
                        "detour": {
                          "type": "string",
                          "x-tag-reference": "outbound"
                        },
                        "bind_interface": {
                          "type": "string"
                        },
                        "inet4_bind_address": {
                          "type": "string"
                        },
                        "inet6_bind_address": {
                          "type": "string"
                        },
                        "bind_address_no_port": {
                          "type": "boolean"
                        },
                        "protect_path": {
                          "type": "string"
                        },
                        "routing_mark": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "minimum": 0,
                              "maximum": 4294967295
                            },
                            {
                              "type": "string"
                            }
                          ]
                        },
                        "reuse_addr": {
                          "type": "boolean"
                        },
                        "netns": {
                          "type": "string",
                          "x-tag-reference": "network_namespace"
                        },
                        "connect_timeout": {
                          "$ref": "#/$defs/Duration"
                        },
                        "tcp_fast_open": {
                          "type": "boolean"
                        },
                        "tcp_multi_path": {
                          "type": "boolean"
                        },
                        "disable_tcp_keep_alive": {
                          "type": "boolean"
                        },
                        "tcp_keep_alive": {
                          "$ref": "#/$defs/Duration"
                        },
                        "tcp_keep_alive_interval": {
                          "$ref": "#/$defs/Duration"
                        },
                        "udp_fragment": {
                          "type": "boolean"
                        },
                        "domain_resolver": {
                          "$ref": "#/$defs/DomainResolver"
                        },
                        "network_strategy": {
                          "type": "string",
                          "enum": [
                            "default",
                            "fallback",
                            "hybrid"
                          ]
                        },
                        "network_type": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/InterfaceType"
                            },
                            {
                              "type": "array",
                              "items": {
                                "$ref": "#/$defs/InterfaceType"
                              }
                            }
                          ]
                        },
                        "fallback_network_type": {
                          "anyOf": [
                            {
                              "$ref": "#/$defs/InterfaceType"
                            },
                            {
                              "type": "array",
                              "items": {
                                "$ref": "#/$defs/InterfaceType"
                              }
                            }
                          ]
                        },
                        "fallback_delay": {
                          "$ref": "#/$defs/Duration"
                        },
                        "idle_timeout": {
                          "$ref": "#/$defs/Duration"
                        },
                        "keep_alive_period": {
                          "$ref": "#/$defs/Duration"
                        },
                        "stream_receive_window": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "minimum": 0
                            },
                            {
                              "type": "string"
                            }
                          ]
                        },
                        "connection_receive_window": {
                          "anyOf": [
                            {
                              "type": "integer",
                              "minimum": 0
                            },
                            {
                              "type": "string"
                            }
                          ]
                        },
                        "max_concurrent_streams": {
                          "type": "integer"
                        },
                        "initial_packet_size": {
                          "type": "integer"
                        },
                        "disable_path_mtu_discovery": {
                          "type": "boolean"
                        },
                        "url": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "tag": {
                            "type": "string"
                          },
                          "engine": {
                            "type": "string",
                            "enum": [
                              "go",
                              "apple"
                            ]
                          },
                          "version": {
                            "type": "integer",
                            "enum": [
                              0,
                              1,
                              2,
                              3
                            ]
                          },
                          "disable_version_fallback": {
                            "type": "boolean"
                          },
                          "headers": {
                            "$ref": "#/$defs/HTTPHeader"
                          },
                          "tls": {
                            "$ref": "#/$defs/OutboundTLSOptions"
                          },
                          "detour": {
                            "type": "string",
                            "x-tag-reference": "outbound"
                          },
                          "bind_interface": {
                            "type": "string"
                          },
                          "inet4_bind_address": {
                            "type": "string"
                          },
                          "inet6_bind_address": {
                            "type": "string"
                          },
                          "bind_address_no_port": {
                            "type": "boolean"
                          },
                          "protect_path": {
                            "type": "string"
                          },
                          "routing_mark": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 4294967295
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "reuse_addr": {
                            "type": "boolean"
                          },
                          "netns": {
                            "type": "string",
                            "x-tag-reference": "network_namespace"
                          },
                          "connect_timeout": {
                            "$ref": "#/$defs/Duration"
                          },
                          "tcp_fast_open": {
                            "type": "boolean"
                          },
                          "tcp_multi_path": {
                            "type": "boolean"
                          },
                          "disable_tcp_keep_alive": {
                            "type": "boolean"
                          },
                          "tcp_keep_alive": {
                            "$ref": "#/$defs/Duration"
                          },
                          "tcp_keep_alive_interval": {
                            "$ref": "#/$defs/Duration"
                          },
                          "udp_fragment": {
                            "type": "boolean"
                          },
                          "domain_resolver": {
                            "$ref": "#/$defs/DomainResolver"
                          },
                          "network_strategy": {
                            "type": "string",
                            "enum": [
                              "default",
                              "fallback",
                              "hybrid"
                            ]
                          },
                          "network_type": {
                            "anyOf": [
                              {
                                "$ref": "#/$defs/InterfaceType"
                              },
                              {
                                "type": "array",
                                "items": {
                                  "$ref": "#/$defs/InterfaceType"
                                }
                              }
                            ]
                          },
                          "fallback_network_type": {
                            "anyOf": [
                              {
                                "$ref": "#/$defs/InterfaceType"
                              },
                              {
                                "type": "array",
                                "items": {
                                  "$ref": "#/$defs/InterfaceType"
                                }
                              }
                            ]
                          },
                          "fallback_delay": {
                            "$ref": "#/$defs/Duration"
                          },
                          "idle_timeout": {
                            "$ref": "#/$defs/Duration"
                          },
                          "keep_alive_period": {
                            "$ref": "#/$defs/Duration"
                          },
                          "stream_receive_window": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "minimum": 0
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "connection_receive_window": {
                            "anyOf": [
                              {
                                "type": "integer",
                                "minimum": 0
                              },
                              {
                                "type": "string"
                              }
                            ]
                          },
                          "max_concurrent_streams": {
                            "type": "integer"
                          },
                          "initial_packet_size": {
                            "type": "integer"
                          },
                          "disable_path_mtu_discovery": {
                            "type": "boolean"
                          },
                          "url": {
                            "type": "string"
                          }
                        },
                        "additionalProperties": false
                      }
                    ]
                  }
                }
              ]
            },
            "home": {
              "type": "string"
            },
            "mesh_with": {
              "anyOf": [
                {
                  "$ref": "#/$defs/DERPMeshOptions"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/DERPMeshOptions"
                  }
                }
              ]
            },
            "mesh_psk": {
              "type": "string"
            },
            "mesh_psk_file": {
              "type": "string"
            },
            "stun": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 65535
                },
                {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "listen": {
                      "type": "string"
                    },
                    "listen_port": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 65535
                    },
                    "bind_interface": {
                      "type": "string"
                    },
                    "routing_mark": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 4294967295
                        },
                        {
                          "type": "string"
                        }
                      ]
                    },
                    "reuse_addr": {
                      "type": "boolean"
                    },
                    "netns": {
                      "type": "string",
                      "x-tag-reference": "network_namespace"
                    },
                    "disable_tcp_keep_alive": {
                      "type": "boolean"
                    },
                    "tcp_keep_alive": {
                      "$ref": "#/$defs/Duration"
                    },
                    "tcp_keep_alive_interval": {
                      "$ref": "#/$defs/Duration"
                    },
                    "tcp_fast_open": {
                      "type": "boolean"
                    },
                    "tcp_multi_path": {
                      "type": "boolean"
                    },
                    "udp_fragment": {
                      "type": "boolean"
                    },
                    "udp_timeout": {
                      "$ref": "#/$defs/UDPTimeout"
                    },
                    "detour": {
                      "type": "string",
                      "x-tag-reference": "inbound"
                    }
                  },
                  "additionalProperties": false
                }
              ]
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "hysteria-realm"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "tls": {
              "$ref": "#/$defs/InboundTLSOptions"
            },
            "idle_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "keep_alive_period": {
              "$ref": "#/$defs/Duration"
            },
            "stream_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "connection_receive_window": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "max_concurrent_streams": {
              "type": "integer"
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/HysteriaRealmUser"
              }
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "ocm"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "tls": {
              "$ref": "#/$defs/InboundTLSOptions"
            },
            "credential_path": {
              "type": "string"
            },
            "users": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/OCMUser"
              }
            },
            "headers": {
              "$ref": "#/$defs/HTTPHeader"
            },
            "usages_path": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "oom-killer"
            },
            "tag": {
              "type": "string"
            },
            "memory_limit": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "safety_margin": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0
                },
                {
                  "type": "string"
                }
              ]
            },
            "min_interval": {
              "$ref": "#/$defs/Duration"
            },
            "max_interval": {
              "$ref": "#/$defs/Duration"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "resolved"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "ssm-api"
            },
            "tag": {
              "type": "string"
            },
            "listen": {
              "type": "string"
            },
            "listen_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "bind_interface": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "udp_timeout": {
              "$ref": "#/$defs/UDPTimeout"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "inbound"
            },
            "servers": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            },
            "cache_path": {
              "type": "string"
            },
            "tls": {
              "$ref": "#/$defs/InboundTLSOptions"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "usbip-client"
            },
            "tag": {
              "type": "string"
            },
            "detour": {
              "type": "string",
              "x-tag-reference": "outbound"
            },
            "bind_interface": {
              "type": "string"
            },
            "inet4_bind_address": {
              "type": "string"
            },
            "inet6_bind_address": {
              "type": "string"
            },
            "bind_address_no_port": {
              "type": "boolean"
            },
            "protect_path": {
              "type": "string"
            },
            "routing_mark": {
              "anyOf": [
                {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 4294967295
                },
                {
                  "type": "string"
                }
              ]
            },
            "reuse_addr": {
              "type": "boolean"
            },
            "netns": {
              "type": "string",
              "x-tag-reference": "network_namespace"
            },
            "connect_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_fast_open": {
              "type": "boolean"
            },
            "tcp_multi_path": {
              "type": "boolean"
            },
            "disable_tcp_keep_alive": {
              "type": "boolean"
            },
            "tcp_keep_alive": {
              "$ref": "#/$defs/Duration"
            },
            "tcp_keep_alive_interval": {
              "$ref": "#/$defs/Duration"
            },
            "udp_fragment": {
              "type": "boolean"
            },
            "domain_resolver": {
              "$ref": "#/$defs/DomainResolver"
            },
            "network_strategy": {
              "type": "string",
              "enum": [
                "default",
                "fallback",
                "hybrid"
              ]
            },
            "network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_network_type": {
              "anyOf": [
                {
                  "$ref": "#/$defs/InterfaceType"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/InterfaceType"
                  }
                }
              ]
            },
            "fallback_delay": {
              "$ref": "#/$defs/Duration"
            },
            "server": {
              "type": "string"
            },
            "server_port": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "devices": {
              "type": "array",
              "items": {
                "$ref": "#/$defs/USBIPDeviceMatch"
              }
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "oneOf": [
            {
              "type": "object",
              "properties": {
                "type": {
                  "const": "usbip-server"
                },
                "tag": {
                  "type": "string"
                },
                "provider": {
                  "type": "string",
                  "enum": [
                    "default",
                    ""
                  ]
                },
                "listen": {
                  "type": "string"
                },
                "listen_port": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 65535
                },
                "bind_interface": {
                  "type": "string"
                },
                "routing_mark": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 4294967295
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "reuse_addr": {
                  "type": "boolean"
                },
                "netns": {
                  "type": "string",
                  "x-tag-reference": "network_namespace"
                },
                "disable_tcp_keep_alive": {
                  "type": "boolean"
                },
                "tcp_keep_alive": {
                  "$ref": "#/$defs/Duration"
                },
                "tcp_keep_alive_interval": {
                  "$ref": "#/$defs/Duration"
                },
                "tcp_fast_open": {
                  "type": "boolean"
                },
                "tcp_multi_path": {
                  "type": "boolean"
                },
                "udp_fragment": {
                  "type": "boolean"
                },
                "udp_timeout": {
                  "$ref": "#/$defs/UDPTimeout"
                },
                "detour": {
                  "type": "string",
                  "x-tag-reference": "inbound"
                },
                "devices": {
                  "type": "array",
                  "items": {
                    "$ref": "#/$defs/USBIPDeviceMatch"
                  }
                }
              },
              "required": [
                "type"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "properties": {
                "type": {
                  "const": "usbip-server"
                },
                "tag": {
                  "type": "string"
                },
                "provider": {
                  "const": "dynamic"
                },
                "listen": {
                  "type": "string"
                },
                "listen_port": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 65535
                },
                "bind_interface": {
                  "type": "string"
                },
                "routing_mark": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 4294967295
                    },
                    {
                      "type": "string"
                    }
                  ]
                },
                "reuse_addr": {
                  "type": "boolean"
                },
                "netns": {
                  "type": "string",
                  "x-tag-reference": "network_namespace"
                },
                "disable_tcp_keep_alive": {
                  "type": "boolean"
                },
                "tcp_keep_alive": {
                  "$ref": "#/$defs/Duration"
                },
                "tcp_keep_alive_interval": {
                  "$ref": "#/$defs/Duration"
                },
                "tcp_fast_open": {
                  "type": "boolean"
                },
                "tcp_multi_path": {
                  "type": "boolean"
                },
                "udp_fragment": {
                  "type": "boolean"
                },
                "udp_timeout": {
                  "$ref": "#/$defs/UDPTimeout"
                },
                "detour": {
                  "type": "string",
                  "x-tag-reference": "inbound"
                }
              },
              "required": [
                "type",
                "provider"
              ],
              "additionalProperties": false
            }
          ]
        }
      ]
    },
    "ShadowTLSHandshakeOptions": {
      "type": "object",
      "properties": {
        "server": {
          "type": "string"
        },
        "server_port": {
          "type": "integer",
          "minimum": 0,
          "maximum": 65535
        },
        "detour": {
          "type": "string",
          "x-tag-reference": "outbound"
        },
        "bind_interface": {
          "type": "string"
        },
        "inet4_bind_address": {
          "type": "string"
        },
        "inet6_bind_address": {
          "type": "string"
        },
        "bind_address_no_port": {
          "type": "boolean"
        },
        "protect_path": {
          "type": "string"
        },
        "routing_mark": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            {
              "type": "string"
            }
          ]
        },
        "reuse_addr": {
          "type": "boolean"
        },
        "netns": {
          "type": "string",
          "x-tag-reference": "network_namespace"
        },
        "connect_timeout": {
          "$ref": "#/$defs/Duration"
        },
        "tcp_fast_open": {
          "type": "boolean"
        },
        "tcp_multi_path": {
          "type": "boolean"
        },
        "disable_tcp_keep_alive": {
          "type": "boolean"
        },
        "tcp_keep_alive": {
          "$ref": "#/$defs/Duration"
        },
        "tcp_keep_alive_interval": {
          "$ref": "#/$defs/Duration"
        },
        "udp_fragment": {
          "type": "boolean"
        },
        "domain_resolver": {
          "$ref": "#/$defs/DomainResolver"
        },
        "network_strategy": {
          "type": "string",
          "enum": [
            "default",
            "fallback",
            "hybrid"
          ]
        },
        "network_type": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterfaceType"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/$defs/InterfaceType"
              }
            }
          ]
        },
        "fallback_network_type": {
          "anyOf": [
            {
              "$ref": "#/$defs/InterfaceType"
            },
            {
              "type": "array",
              "items": {
                "$ref": "#/$defs/InterfaceType"
              }
            }
          ]
        },
        "fallback_delay": {
          "$ref": "#/$defs/Duration"
        }
      },
      "additionalProperties": false
    },
    "ShadowTLSUser": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "password": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ShadowsocksDestination": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "server": {
          "type": "string"
        },
        "server_port": {
          "type": "integer",
          "minimum": 0,
          "maximum": 65535
        }
      },
      "additionalProperties": false
    },
    "ShadowsocksUser": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "password": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "SnellUser": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "userkey": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TUICUser": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "uuid": {
          "type": "string"
        },
        "password": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TrojanUser": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "password": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "TunPlatformOptions": {
      "type": "object",
      "properties": {
        "http_proxy": {
          "$ref": "#/$defs/HTTPProxyOptions"
        }
      },
      "additionalProperties": false
    },
    "UDPTimeout": {
      "anyOf": [
        {
          "type": "integer",
          "minimum": 0,
          "maximum": 4294967295
        },
        {
          "type": "string",
          "pattern": "^[-+]?(((\\d+(\\.\\d*)?|\\.\\d+)(ns|us|µs|μs|ms|s|m|h|d))+|0)$"
        }
      ]
    },
    "USBIPDeviceMatch": {
      "type": "object",
      "properties": {
        "bus_id": {
          "type": "string"
        },
        "vendor_id": {
          "type": "integer",
          "minimum": 0,
          "maximum": 65535
        },
        "product_id": {
          "type": "integer",
          "minimum": 0,
          "maximum": 65535
        },
        "serial": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "User": {
      "type": "object",
      "properties": {
        "Username": {
          "type": "string"
        },
        "Password": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "V2RayAPIOptions": {
      "type": "object",
      "properties": {
        "listen": {
          "type": "string"
        },
        "stats": {
          "$ref": "#/$defs/V2RayStatsServiceOptions"
        }
      },
      "additionalProperties": false
    },
    "V2RayStatsServiceOptions": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "inbounds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "outbounds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "users": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "V2RayTransport": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "http"
            },
            "host": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              ]
            },
            "path": {
              "type": "string"
            },
            "method": {
              "type": "string"
            },
            "headers": {
              "$ref": "#/$defs/HTTPHeader"
            },
            "idle_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "ping_timeout": {
              "$ref": "#/$defs/Duration"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "ws"
            },
            "path": {
              "type": "string"
            },
            "headers": {
              "$ref": "#/$defs/HTTPHeader"
            },
            "max_early_data": {
              "type": "integer",
              "minimum": 0,
              "maximum": 4294967295
            },
            "early_data_header_name": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "quic"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "grpc"
            },
            "service_name": {
              "type": "string"
            },
            "idle_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "ping_timeout": {
              "$ref": "#/$defs/Duration"
            },
            "permit_without_stream": {
              "type": "boolean"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "type": {
              "const": "httpupgrade"
            },
            "host": {
              "type": "string"
            },
            "path": {
              "type": "string"
            },
            "headers": {
              "$ref": "#/$defs/HTTPHeader"
            }
          },
          "required": [
            "type"
          ],
          "additionalProperties": false
        }
      ]
    },
    "VLESSUser": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "uuid": {
          "type": "string"
        },
        "flow": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "VMessUser": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "uuid": {
          "type": "string"
        },
        "alterId": {
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "WireGuardPeer": {
      "type": "object",
      "properties": {
        "address": {
          "type": "string"
        },
        "port": {
          "type": "integer",
          "minimum": 0,
          "maximum": 65535
        },
        "public_key": {
          "type": "string"
        },
        "pre_shared_key": {
          "type": "string"
        },
        "allowed_ips": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          ]
        },
        "persistent_keepalive_interval": {
          "type": "integer",
          "minimum": 0,
          "maximum": 65535
        },
        "reserved": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "array",
              "items": {
                "type": "integer",
                "minimum": 0,
                "maximum": 255
              }
            }
          ]
        }
      },
      "additionalProperties": false
    }
  }
}
