sing-box/schema.json
2026-08-03 20:15:51 +08:00

17323 lines
433 KiB
JSON

{
"$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"
},
"client_metadata": {
"type": "string"
}
},
"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
}
}
}