{
  "$schema": "http://json-schema.org/draft-07/schema",
  "$id": "https://github.com/v2fly/v2ray-core/v5/infra/conf/v4/github:v2fly_v2ray-core_v5_infra_conf_v4:-config",
  "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:Config",
  "$defs": {
    "github:EHfive_v2ray-jsonschema_common:CustomDNSDomainMatcher": {
      "enum": [
        "linear",
        "mph"
      ]
    },
    "github:EHfive_v2ray-jsonschema_common:CustomNumber": {
      "type": "integer"
    },
    "github:EHfive_v2ray-jsonschema_common:CustomPortRange": {
      "oneOf": [
        {
          "type": "integer"
        },
        {
          "type": "string"
        }
      ]
    },
    "github:EHfive_v2ray-jsonschema_common:CustomString": {
      "type": "string"
    },
    "github:EHfive_v2ray-jsonschema_common:CustomStringList": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomBlackholeConfigResponse": {
      "properties": {
        "type": {
          "enum": [
            "none",
            "http"
          ]
        }
      },
      "type": "object"
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomDNSCacheStrategy": {
      "enum": [
        "Enabled",
        "Disabled"
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomDNSFallbackStrategy": {
      "enum": [
        "Enabled",
        "Disabled",
        "DisabledIfAnyMatch"
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomDNSQueryStrategy": {
      "enum": [
        "UseIP",
        "UseIPv4",
        "UseIPv6"
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomFakeDNSConfig": {
      "oneOf": [
        {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_synthetic_dns:FakeDNSPoolElementConfig"
        },
        {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_synthetic_dns:FakeDNSPoolElementConfig"
          },
          "type": "array"
        }
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomFakeDNSConfigExtend": {
      "oneOf": [
        {
          "type": "boolean"
        },
        {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomFakeDNSConfig"
        }
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomFreedomDomainStrategy": {
      "enum": [
        "AsIs",
        "UseIP",
        "UseIPv4",
        "UseIPv6"
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomHTTPRemoteConfigUser": {
      "allOf": [
        {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomUser"
        },
        {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:HTTPAccount"
        }
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomHostAddress": {
      "oneOf": [
        {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        },
        {
          "items": {
            "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
          },
          "type": "array"
        }
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomInboundConfig": {
      "allOf": [
        {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:InboundDetourConfig"
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "dokodemo-door"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:DokodemoConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "http"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:HTTPServerConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "shadowsocks"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:ShadowsocksServerConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "socks"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:SocksServerConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "vless"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:VLessInboundConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "vmess"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:VMessInboundConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "trojan"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:TrojanServerConfig"
              }
            },
            "type": "object"
          }
        }
      ],
      "required": [
        "protocol"
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomKCPHeaderConfig": {
      "properties": {
        "type": {
          "enum": [
            "none",
            "srtp",
            "utp",
            "wechat-video",
            "dtls",
            "wireguard"
          ]
        }
      },
      "type": "object"
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomMultiObservatoryItem": {
      "allOf": [
        {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:MultiObservatoryItem"
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "burst"
              }
            },
            "type": "object",
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:BurstObservatoryConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "default"
              }
            },
            "type": "object",
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:ObservatoryConfig"
              }
            },
            "type": "object"
          }
        }
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomNameServerConfig": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_synthetic_dns:NameServerConfig"
        }
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomOutboundConfig": {
      "allOf": [
        {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:OutboundDetourConfig"
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "blackhole"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:BlackholeConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "freedom"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:FreedomConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "http"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:HTTPClientConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "shadowsocks"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:ShadowsocksClientConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "socks"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:SocksClientConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "vless"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:VLessOutboundConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "vmess"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:VMessOutboundConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "trojan"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:TrojanClientConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "dns"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:DNSOutboundConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "protocol": {
                "const": "loopback"
              }
            },
            "type": "object",
            "required": [
              "protocol"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:LoopbackConfig"
              }
            },
            "type": "object"
          }
        }
      ],
      "required": [
        "protocol"
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomRouterDomainStrategy": {
      "enum": [
        "AsIs",
        "AlwaysIP",
        "IPIfNonMatch",
        "IPOnDemand"
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomRouterRule": {
      "properties": {
        "type": {
          "type": "string"
        },
        "outboundTag": {
          "type": "string"
        },
        "balancerTag": {
          "type": "string"
        },
        "domainMatcher": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomDNSDomainMatcher"
        },
        "domain": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "domains": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "ip": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "port": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomPortRange"
        },
        "network": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "source": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "sourcePort": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomPortRange"
        },
        "user": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "inboundTag": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "protocol": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "attrs": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomSocksRemoteConfigUser": {
      "allOf": [
        {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomUser"
        },
        {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:SocksAccount"
        }
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomStrategyConfig": {
      "allOf": [
        {
          "if": {
            "properties": {
              "type": {
                "const": "random"
              }
            },
            "type": "object",
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_app_router:StrategyRandomConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "leastping"
              }
            },
            "type": "object",
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_app_router:StrategyLeastPingConfig"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "leastload"
              }
            },
            "type": "object",
            "required": [
              "type"
            ]
          },
          "then": {
            "properties": {
              "settings": {
                "$ref": "#/$defs/github:v2fly_v2ray-core_v5_app_router:StrategyLeastLoadConfig"
              }
            },
            "type": "object"
          }
        }
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomTCPHeaderConfig": {
      "allOf": [
        {
          "if": {
            "properties": {
              "type": {
                "const": "none"
              }
            },
            "type": "object"
          }
        },
        {
          "if": {
            "properties": {
              "type": {
                "const": "http"
              }
            },
            "type": "object"
          },
          "then": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:Authenticator"
          }
        }
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomUser": {
      "properties": {
        "level": {
          "type": "integer"
        },
        "email": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomVLessInOutboundConfigUser": {
      "allOf": [
        {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomUser"
        },
        {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_proxy_vless:Account"
        }
      ]
    },
    "github:EHfive_v2ray-jsonschema_v4config:CustomVMessInOutboundConfigUser": {
      "allOf": [
        {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomUser"
        },
        {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:VMessAccount"
        }
      ]
    },
    "github:v2fly_v2ray-core_v5_app_router:StrategyLeastLoadConfig": {
      "properties": {
        "costs": {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_app_router:StrategyWeight"
          },
          "type": "array",
          "description": "weight settings"
        },
        "baselines": {
          "items": {
            "type": "integer"
          },
          "type": "array",
          "description": "RTT baselines for selecting, int64 values of time.Duration"
        },
        "expected": {
          "type": "integer",
          "description": "expected nodes count to select"
        },
        "maxRtt": {
          "type": "integer",
          "description": "max acceptable rtt, filter away high delay nodes. defalut 0"
        },
        "tolerance": {
          "type": "number",
          "description": "acceptable failure rate"
        },
        "observerTag": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_app_router:StrategyLeastPingConfig": {
      "properties": {
        "observerTag": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_app_router:StrategyRandomConfig": {
      "properties": {},
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_app_router:StrategyWeight": {
      "properties": {
        "regexp": {
          "type": "boolean"
        },
        "match": {
          "type": "string"
        },
        "value": {
          "type": "number"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_cfgcommon_muxcfg:MuxConfig": {
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "concurrency": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_cfgcommon_proxycfg:ProxyConfig": {
      "properties": {
        "tag": {
          "type": "string"
        },
        "transportLayer": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_cfgcommon_sniffer:SniffingConfig": {
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "destOverride": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "metadataOnly": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_cfgcommon_socketcfg:SocketConfig": {
      "properties": {
        "mark": {
          "type": "integer"
        },
        "tcpFastOpen": {
          "type": "boolean"
        },
        "tproxy": {
          "type": "string"
        },
        "acceptProxyProtocol": {
          "type": "boolean"
        },
        "tcpKeepAliveInterval": {
          "type": "integer"
        },
        "tcpKeepAliveIdle": {
          "type": "integer"
        },
        "tcpFastOpenQueueLength": {
          "type": "integer"
        },
        "bindToDevice": {
          "type": "string"
        },
        "rxBufSize": {
          "type": "integer"
        },
        "txBufSize": {
          "type": "integer"
        },
        "forceBufSize": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_cfgcommon_tlscfg:TLSCertConfig": {
      "properties": {
        "certificateFile": {
          "type": "string"
        },
        "certificate": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "keyFile": {
          "type": "string"
        },
        "key": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "usage": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_cfgcommon_tlscfg:TLSConfig": {
      "properties": {
        "allowInsecure": {
          "type": "boolean"
        },
        "certificates": {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_cfgcommon_tlscfg:TLSCertConfig"
          },
          "type": "array"
        },
        "serverName": {
          "type": "string"
        },
        "alpn": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "enableSessionResumption": {
          "type": "boolean"
        },
        "disableSystemRoot": {
          "type": "boolean"
        },
        "pinnedPeerCertificateChainSha256": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "verifyClientCertificate": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_synthetic_dns:DNSConfig": {
      "properties": {
        "servers": {
          "items": {
            "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomNameServerConfig"
          },
          "type": "array"
        },
        "hosts": {
          "patternProperties": {
            ".*": {
              "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomHostAddress"
            }
          },
          "type": "object"
        },
        "fakedns": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomFakeDNSConfig"
        },
        "domainMatcher": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomDNSDomainMatcher"
        },
        "clientIp": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        },
        "tag": {
          "type": "string"
        },
        "queryStrategy": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomDNSQueryStrategy"
        },
        "cacheStrategy": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomDNSCacheStrategy"
        },
        "fallbackStrategy": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomDNSFallbackStrategy"
        },
        "disableCache": {
          "type": "boolean"
        },
        "disableFallback": {
          "type": "boolean"
        },
        "disableFallbackIfMatch": {
          "type": "boolean"
        }
      },
      "type": "object",
      "description": "DNSConfig is a JSON serializable object for dns.Config."
    },
    "github:v2fly_v2ray-core_v5_infra_conf_synthetic_dns:FakeDNSPoolElementConfig": {
      "properties": {
        "ipPool": {
          "type": "string"
        },
        "poolSize": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_synthetic_dns:NameServerConfig": {
      "properties": {
        "address": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        },
        "clientIp": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        },
        "port": {
          "type": "integer"
        },
        "tag": {
          "type": "string"
        },
        "queryStrategy": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomDNSQueryStrategy"
        },
        "cacheStrategy": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomDNSCacheStrategy"
        },
        "fallbackStrategy": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomDNSFallbackStrategy"
        },
        "skipFallback": {
          "type": "boolean"
        },
        "domains": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "expectIPs": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "fakeDns": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomFakeDNSConfigExtend"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_synthetic_log:LogConfig": {
      "properties": {
        "access": {
          "type": "string"
        },
        "error": {
          "type": "string"
        },
        "loglevel": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_synthetic_router:BalancingRule": {
      "properties": {
        "tag": {
          "type": "string"
        },
        "selector": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "strategy": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomStrategyConfig"
        },
        "fallbackTag": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_synthetic_router:HealthCheckSettings": {
      "properties": {
        "destination": {
          "type": "string"
        },
        "connectivity": {
          "type": "string"
        },
        "interval": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        },
        "sampling": {
          "type": "integer"
        },
        "timeout": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        }
      },
      "type": "object",
      "description": "HealthCheckSettings holds settings for health Checker"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_synthetic_router:RouterConfig": {
      "properties": {
        "settings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_synthetic_router:RouterRulesConfig"
        },
        "rules": {
          "items": {
            "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomRouterRule"
          },
          "type": "array"
        },
        "domainStrategy": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomRouterDomainStrategy"
        },
        "balancers": {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_synthetic_router:BalancingRule"
          },
          "type": "array"
        },
        "domainMatcher": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomDNSDomainMatcher"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_synthetic_router:RouterRulesConfig": {
      "properties": {
        "rules": {
          "items": {
            "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomRouterRule"
          },
          "type": "array"
        },
        "domainStrategy": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomRouterDomainStrategy"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:APIConfig": {
      "properties": {
        "tag": {
          "type": "string"
        },
        "services": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:Authenticator": {
      "properties": {
        "request": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:AuthenticatorRequest"
        },
        "response": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:AuthenticatorResponse"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:AuthenticatorRequest": {
      "properties": {
        "version": {
          "type": "string"
        },
        "method": {
          "type": "string"
        },
        "path": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "headers": {
          "patternProperties": {
            ".*": {
              "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:AuthenticatorResponse": {
      "properties": {
        "version": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "reason": {
          "type": "string"
        },
        "headers": {
          "patternProperties": {
            ".*": {
              "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:BlackholeConfig": {
      "properties": {
        "response": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomBlackholeConfigResponse"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:BridgeConfig": {
      "properties": {
        "tag": {
          "type": "string"
        },
        "domain": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:BrowserForwarderConfig": {
      "properties": {
        "listenAddr": {
          "type": "string"
        },
        "listenPort": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:BurstObservatoryConfig": {
      "properties": {
        "subjectSelector": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "pingConfig": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_synthetic_router:HealthCheckSettings",
          "description": "health check settings"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:Config": {
      "properties": {
        "port": {
          "type": "integer",
          "description": "Port of this Point server.\nDeprecated: Port exists for historical compatibility\nand should not be used."
        },
        "inbound": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomInboundConfig",
          "description": "Deprecated: InboundConfig exists for historical compatibility\nand should not be used."
        },
        "outbound": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomOutboundConfig",
          "description": "Deprecated: OutboundConfig exists for historical compatibility\nand should not be used."
        },
        "inboundDetour": {
          "items": {
            "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomInboundConfig"
          },
          "type": "array",
          "description": "Deprecated: InboundDetours exists for historical compatibility\nand should not be used."
        },
        "outboundDetour": {
          "items": {
            "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomOutboundConfig"
          },
          "type": "array",
          "description": "Deprecated: OutboundDetours exists for historical compatibility\nand should not be used."
        },
        "log": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_synthetic_log:LogConfig"
        },
        "routing": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_synthetic_router:RouterConfig"
        },
        "dns": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_synthetic_dns:DNSConfig"
        },
        "inbounds": {
          "items": {
            "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomInboundConfig"
          },
          "type": "array"
        },
        "outbounds": {
          "items": {
            "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomOutboundConfig"
          },
          "type": "array"
        },
        "transport": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:TransportConfig"
        },
        "policy": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:PolicyConfig"
        },
        "api": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:APIConfig"
        },
        "stats": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:StatsConfig"
        },
        "reverse": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:ReverseConfig"
        },
        "fakeDns": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomFakeDNSConfig"
        },
        "browserForwarder": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:BrowserForwarderConfig"
        },
        "observatory": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:ObservatoryConfig"
        },
        "burstObservatory": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:BurstObservatoryConfig"
        },
        "multiObservatory": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:MultiObservatoryConfig"
        },
        "services": {
          "patternProperties": {
            ".*": true
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:DNSOutboundConfig": {
      "properties": {
        "network": {
          "type": "string"
        },
        "address": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        },
        "port": {
          "type": "integer"
        },
        "userLevel": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:DokodemoConfig": {
      "properties": {
        "address": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        },
        "port": {
          "type": "integer"
        },
        "network": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "timeout": {
          "type": "integer"
        },
        "followRedirect": {
          "type": "boolean"
        },
        "userLevel": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:DomainSocketConfig": {
      "properties": {
        "path": {
          "type": "string"
        },
        "abstract": {
          "type": "boolean"
        },
        "padding": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:FeaturesConfig": {
      "properties": {
        "detour": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:VMessDetourConfig"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:FreedomConfig": {
      "properties": {
        "domainStrategy": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomFreedomDomainStrategy"
        },
        "timeout": {
          "type": "integer"
        },
        "redirect": {
          "type": "string"
        },
        "userLevel": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:GunConfig": {
      "properties": {
        "serviceName": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:HTTPAccount": {
      "properties": {
        "user": {
          "type": "string"
        },
        "pass": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:HTTPClientConfig": {
      "properties": {
        "servers": {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:HTTPRemoteConfig"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:HTTPConfig": {
      "properties": {
        "host": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "path": {
          "type": "string"
        },
        "method": {
          "type": "string"
        },
        "headers": {
          "patternProperties": {
            ".*": {
              "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:HTTPRemoteConfig": {
      "properties": {
        "address": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        },
        "port": {
          "type": "integer"
        },
        "users": {
          "items": {
            "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomHTTPRemoteConfigUser"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:HTTPServerConfig": {
      "properties": {
        "timeout": {
          "type": "integer"
        },
        "accounts": {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:HTTPAccount"
          },
          "type": "array"
        },
        "allowTransparent": {
          "type": "boolean"
        },
        "userLevel": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:InboundDetourAllocationConfig": {
      "properties": {
        "strategy": {
          "type": "string"
        },
        "concurrency": {
          "type": "integer"
        },
        "refresh": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:InboundDetourConfig": {
      "properties": {
        "port": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomPortRange"
        },
        "listen": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        },
        "tag": {
          "type": "string"
        },
        "allocate": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:InboundDetourAllocationConfig"
        },
        "streamSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:StreamConfig"
        },
        "domainOverride": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "sniffing": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_cfgcommon_sniffer:SniffingConfig"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:KCPConfig": {
      "properties": {
        "mtu": {
          "type": "integer"
        },
        "tti": {
          "type": "integer"
        },
        "uplinkCapacity": {
          "type": "integer"
        },
        "downlinkCapacity": {
          "type": "integer"
        },
        "congestion": {
          "type": "boolean"
        },
        "readBufferSize": {
          "type": "integer"
        },
        "writeBufferSize": {
          "type": "integer"
        },
        "header": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomKCPHeaderConfig"
        },
        "seed": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:LoopbackConfig": {
      "properties": {
        "inboundTag": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:MultiObservatoryConfig": {
      "properties": {
        "observers": {
          "items": {
            "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomMultiObservatoryItem"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:MultiObservatoryItem": {
      "properties": {
        "tag": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:ObservatoryConfig": {
      "properties": {
        "subjectSelector": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "probeUrl": {
          "type": "string"
        },
        "probeInterval": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:OutboundDetourConfig": {
      "properties": {
        "sendThrough": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        },
        "tag": {
          "type": "string"
        },
        "streamSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:StreamConfig"
        },
        "proxySettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_cfgcommon_proxycfg:ProxyConfig"
        },
        "mux": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_cfgcommon_muxcfg:MuxConfig"
        },
        "domainStrategy": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomFreedomDomainStrategy"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:Policy": {
      "properties": {
        "handshake": {
          "type": "integer"
        },
        "connIdle": {
          "type": "integer"
        },
        "uplinkOnly": {
          "type": "integer"
        },
        "downlinkOnly": {
          "type": "integer"
        },
        "statsUserUplink": {
          "type": "boolean"
        },
        "statsUserDownlink": {
          "type": "boolean"
        },
        "bufferSize": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:PolicyConfig": {
      "properties": {
        "levels": {
          "patternProperties": {
            ".*": {
              "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:Policy"
            }
          },
          "type": "object"
        },
        "system": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:SystemPolicy"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:PortalConfig": {
      "properties": {
        "tag": {
          "type": "string"
        },
        "domain": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:QUICConfig": {
      "properties": {
        "header": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomKCPHeaderConfig"
        },
        "security": {
          "type": "string"
        },
        "key": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:ReverseConfig": {
      "properties": {
        "bridges": {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:BridgeConfig"
          },
          "type": "array"
        },
        "portals": {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:PortalConfig"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:ShadowsocksClientConfig": {
      "properties": {
        "servers": {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:ShadowsocksServerTarget"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:ShadowsocksServerConfig": {
      "properties": {
        "method": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "udp": {
          "type": "boolean"
        },
        "level": {
          "type": "integer"
        },
        "email": {
          "type": "string"
        },
        "network": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomStringList"
        },
        "ivCheck": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:ShadowsocksServerTarget": {
      "properties": {
        "address": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        },
        "port": {
          "type": "integer"
        },
        "method": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "ota": {
          "type": "boolean"
        },
        "level": {
          "type": "integer"
        },
        "ivCheck": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:SocksAccount": {
      "properties": {
        "user": {
          "type": "string"
        },
        "pass": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:SocksClientConfig": {
      "properties": {
        "servers": {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:SocksRemoteConfig"
          },
          "type": "array"
        },
        "version": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:SocksRemoteConfig": {
      "properties": {
        "address": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        },
        "port": {
          "type": "integer"
        },
        "users": {
          "items": {
            "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomSocksRemoteConfigUser"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:SocksServerConfig": {
      "properties": {
        "auth": {
          "type": "string"
        },
        "accounts": {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:SocksAccount"
          },
          "type": "array"
        },
        "udp": {
          "type": "boolean"
        },
        "ip": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        },
        "timeout": {
          "type": "integer"
        },
        "userLevel": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:StatsConfig": {
      "properties": {},
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:StreamConfig": {
      "properties": {
        "network": {
          "type": "string"
        },
        "security": {
          "type": "string"
        },
        "tlsSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_cfgcommon_tlscfg:TLSConfig"
        },
        "tcpSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:TCPConfig"
        },
        "kcpSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:KCPConfig"
        },
        "wsSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:WebSocketConfig"
        },
        "httpSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:HTTPConfig"
        },
        "dsSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:DomainSocketConfig"
        },
        "quicSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:QUICConfig"
        },
        "gunSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:GunConfig"
        },
        "grpcSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:GunConfig"
        },
        "sockopt": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_cfgcommon_socketcfg:SocketConfig"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:SystemPolicy": {
      "properties": {
        "statsInboundUplink": {
          "type": "boolean"
        },
        "statsInboundDownlink": {
          "type": "boolean"
        },
        "statsOutboundUplink": {
          "type": "boolean"
        },
        "statsOutboundDownlink": {
          "type": "boolean"
        },
        "overrideAccessLogDest": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:TCPConfig": {
      "properties": {
        "header": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomTCPHeaderConfig"
        },
        "acceptProxyProtocol": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:TransportConfig": {
      "properties": {
        "tcpSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:TCPConfig"
        },
        "kcpSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:KCPConfig"
        },
        "wsSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:WebSocketConfig"
        },
        "httpSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:HTTPConfig"
        },
        "dsSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:DomainSocketConfig"
        },
        "quicSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:QUICConfig"
        },
        "gunSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:GunConfig"
        },
        "grpcSettings": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:GunConfig"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:TrojanClientConfig": {
      "properties": {
        "servers": {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:TrojanServerTarget"
          },
          "type": "array"
        }
      },
      "type": "object",
      "description": "TrojanClientConfig is configuration of trojan servers"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:TrojanInboundFallback": {
      "properties": {
        "alpn": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "dest": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomNumber"
        },
        "xver": {
          "type": "integer"
        }
      },
      "type": "object",
      "description": "TrojanInboundFallback is fallback configuration"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:TrojanServerConfig": {
      "properties": {
        "clients": {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:TrojanUserConfig"
          },
          "type": "array"
        },
        "fallback": true,
        "fallbacks": {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:TrojanInboundFallback"
          },
          "type": "array"
        }
      },
      "type": "object",
      "description": "TrojanServerConfig is Inbound configuration"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:TrojanServerTarget": {
      "properties": {
        "address": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        },
        "port": {
          "type": "integer"
        },
        "password": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "level": {
          "type": "integer"
        }
      },
      "type": "object",
      "description": "TrojanServerTarget is configuration of a single trojan server"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:TrojanUserConfig": {
      "properties": {
        "password": {
          "type": "string"
        },
        "level": {
          "type": "integer"
        },
        "email": {
          "type": "string"
        }
      },
      "type": "object",
      "description": "TrojanUserConfig is user configuration"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:VLessInboundConfig": {
      "properties": {
        "clients": {
          "items": {
            "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomVLessInOutboundConfigUser"
          },
          "type": "array"
        },
        "decryption": {
          "type": "string"
        },
        "fallback": true,
        "fallbacks": {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:VLessInboundFallback"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:VLessInboundFallback": {
      "properties": {
        "alpn": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "dest": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomNumber"
        },
        "xver": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:VLessOutboundConfig": {
      "properties": {
        "vnext": {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:VLessOutboundVnext"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:VLessOutboundVnext": {
      "properties": {
        "address": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        },
        "port": {
          "type": "integer"
        },
        "users": {
          "items": {
            "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomVLessInOutboundConfigUser"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:VMessAccount": {
      "properties": {
        "id": {
          "type": "string"
        },
        "alterId": {
          "type": "integer"
        },
        "security": {
          "type": "string"
        },
        "experiments": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:VMessDefaultConfig": {
      "properties": {
        "alterId": {
          "type": "integer"
        },
        "level": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:VMessDetourConfig": {
      "properties": {
        "to": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:VMessInboundConfig": {
      "properties": {
        "clients": {
          "items": {
            "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomVMessInOutboundConfigUser"
          },
          "type": "array"
        },
        "features": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:FeaturesConfig"
        },
        "default": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:VMessDefaultConfig"
        },
        "detour": {
          "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:VMessDetourConfig"
        },
        "disableInsecureEncryption": {
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:VMessOutboundConfig": {
      "properties": {
        "vnext": {
          "items": {
            "$ref": "#/$defs/github:v2fly_v2ray-core_v5_infra_conf_v4:VMessOutboundTarget"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:VMessOutboundTarget": {
      "properties": {
        "address": {
          "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_common:CustomString"
        },
        "port": {
          "type": "integer"
        },
        "users": {
          "items": {
            "$ref": "#/$defs/github:EHfive_v2ray-jsonschema_v4config:CustomVMessInOutboundConfigUser"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_infra_conf_v4:WebSocketConfig": {
      "properties": {
        "path": {
          "type": "string"
        },
        "headers": {
          "patternProperties": {
            ".*": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "acceptProxyProtocol": {
          "type": "boolean"
        },
        "maxEarlyData": {
          "type": "integer"
        },
        "useBrowserForwarding": {
          "type": "boolean"
        },
        "earlyDataHeaderName": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "github:v2fly_v2ray-core_v5_proxy_vless:Account": {
      "properties": {
        "id": {
          "type": "string",
          "description": "ID of the account, in the form of a UUID, e.g., \"66ad4540-b58c-4ad2-9926-ea63445a9b57\"."
        },
        "flow": {
          "type": "string",
          "description": "Flow settings."
        },
        "encryption": {
          "type": "string",
          "description": "Encryption settings. Only applies to client side, and only accepts \"none\" for now."
        }
      },
      "type": "object"
    }
  },
  "$comment": "Generated from https://github.com/EHfive/v2ray-jsonschema",
  "title": "JSON schema for V2Ray jsonv4 configuration",
  "description": "JSON schema for V2Ray jsonv4 configuration format: https://github.com/v2fly/v2ray-core"
}