mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-06 20:14:10 +08:00
678 lines
13 KiB
JSON
678 lines
13 KiB
JSON
{
|
|
"sections": [
|
|
{
|
|
"id": "TypedSection:#0",
|
|
"kind": "TypedSection",
|
|
"tabs": [],
|
|
"options": [],
|
|
"subsection": null
|
|
},
|
|
{
|
|
"id": "NamedSection:config#1",
|
|
"kind": "NamedSection",
|
|
"name": "config",
|
|
"tabs": [
|
|
[
|
|
"routing",
|
|
"Routing Settings"
|
|
],
|
|
[
|
|
"routing_node",
|
|
"Routing Nodes"
|
|
],
|
|
[
|
|
"routing_rule",
|
|
"Routing Rules"
|
|
],
|
|
[
|
|
"dns",
|
|
"DNS Settings"
|
|
],
|
|
[
|
|
"dns_server",
|
|
"DNS Servers"
|
|
],
|
|
[
|
|
"dns_rule",
|
|
"DNS Rules"
|
|
],
|
|
[
|
|
"ruleset",
|
|
"Rule Set"
|
|
],
|
|
[
|
|
"control",
|
|
"Access Control"
|
|
],
|
|
[
|
|
"dns_cache",
|
|
"DNS Cache (1.14)"
|
|
]
|
|
],
|
|
"options": [
|
|
{
|
|
"kind": "ListValue",
|
|
"name": "main_node",
|
|
"title": "Main node",
|
|
"description": null,
|
|
"depends": [
|
|
{
|
|
"routing_mode": "custom",
|
|
"!reverse": true
|
|
}
|
|
],
|
|
"values": [
|
|
[
|
|
"nil",
|
|
"Disable"
|
|
],
|
|
[
|
|
"urltest",
|
|
"URLTest"
|
|
]
|
|
],
|
|
"props": {
|
|
"default": "nil",
|
|
"rmempty": false
|
|
}
|
|
},
|
|
{
|
|
"kind": "CBI.StaticList",
|
|
"name": "main_urltest_nodes",
|
|
"title": "URLTest nodes",
|
|
"description": "List of nodes to test.",
|
|
"depends": [
|
|
[
|
|
"main_node",
|
|
"urltest"
|
|
]
|
|
],
|
|
"values": [],
|
|
"props": {
|
|
"rmempty": false
|
|
}
|
|
},
|
|
{
|
|
"kind": "Value",
|
|
"name": "main_urltest_interval",
|
|
"title": "Test interval",
|
|
"description": "The test interval in seconds.",
|
|
"depends": [
|
|
[
|
|
"main_node",
|
|
"urltest"
|
|
]
|
|
],
|
|
"values": [],
|
|
"props": {
|
|
"datatype": "uinteger",
|
|
"placeholder": "180"
|
|
}
|
|
},
|
|
{
|
|
"kind": "Value",
|
|
"name": "main_urltest_tolerance",
|
|
"title": "Test tolerance",
|
|
"description": "The test tolerance in milliseconds.",
|
|
"depends": [
|
|
[
|
|
"main_node",
|
|
"urltest"
|
|
]
|
|
],
|
|
"values": [],
|
|
"props": {
|
|
"datatype": "uinteger",
|
|
"placeholder": "50"
|
|
}
|
|
},
|
|
{
|
|
"kind": "ListValue",
|
|
"name": "main_udp_node",
|
|
"title": "Main UDP node",
|
|
"description": null,
|
|
"depends": [
|
|
{
|
|
"routing_mode": {},
|
|
"proxy_mode": {}
|
|
}
|
|
],
|
|
"values": [
|
|
[
|
|
"nil",
|
|
"Disable"
|
|
],
|
|
[
|
|
"same",
|
|
"Same as main node"
|
|
],
|
|
[
|
|
"urltest",
|
|
"URLTest"
|
|
]
|
|
],
|
|
"props": {
|
|
"default": "nil",
|
|
"rmempty": false
|
|
}
|
|
},
|
|
{
|
|
"kind": "CBI.StaticList",
|
|
"name": "main_udp_urltest_nodes",
|
|
"title": "URLTest nodes",
|
|
"description": "List of nodes to test.",
|
|
"depends": [
|
|
[
|
|
"main_udp_node",
|
|
"urltest"
|
|
]
|
|
],
|
|
"values": [],
|
|
"props": {
|
|
"rmempty": false
|
|
}
|
|
},
|
|
{
|
|
"kind": "Value",
|
|
"name": "main_udp_urltest_interval",
|
|
"title": "Test interval",
|
|
"description": "The test interval in seconds.",
|
|
"depends": [
|
|
[
|
|
"main_udp_node",
|
|
"urltest"
|
|
]
|
|
],
|
|
"values": [],
|
|
"props": {
|
|
"datatype": "uinteger",
|
|
"placeholder": "180"
|
|
}
|
|
},
|
|
{
|
|
"kind": "Value",
|
|
"name": "main_udp_urltest_tolerance",
|
|
"title": "Test tolerance",
|
|
"description": "The test tolerance in milliseconds.",
|
|
"depends": [
|
|
[
|
|
"main_udp_node",
|
|
"urltest"
|
|
]
|
|
],
|
|
"values": [],
|
|
"props": {
|
|
"datatype": "uinteger",
|
|
"placeholder": "50"
|
|
}
|
|
},
|
|
{
|
|
"kind": "Value",
|
|
"name": "dns_server",
|
|
"title": "DNS server",
|
|
"description": "Support UDP, TCP, DoH, DoQ, DoT. TCP protocol will be used if not specified.",
|
|
"depends": [
|
|
{
|
|
"routing_mode": "custom",
|
|
"!reverse": true
|
|
}
|
|
],
|
|
"values": [
|
|
[
|
|
"wan",
|
|
"WAN DNS (read from interface)"
|
|
],
|
|
[
|
|
"1.1.1.1",
|
|
"CloudFlare Public DNS (1.1.1.1)"
|
|
],
|
|
[
|
|
"208.67.222.222",
|
|
"Cisco Public DNS (208.67.222.222)"
|
|
],
|
|
[
|
|
"8.8.8.8",
|
|
"Google Public DNS (8.8.8.8)"
|
|
],
|
|
[
|
|
"",
|
|
"---"
|
|
],
|
|
[
|
|
"223.5.5.5",
|
|
"Aliyun Public DNS (223.5.5.5)"
|
|
],
|
|
[
|
|
"119.29.29.29",
|
|
"Tencent Public DNS (119.29.29.29)"
|
|
],
|
|
[
|
|
"117.50.10.10",
|
|
"ThreatBook Public DNS (117.50.10.10)"
|
|
]
|
|
],
|
|
"props": {
|
|
"default": "8.8.8.8",
|
|
"rmempty": false
|
|
}
|
|
},
|
|
{
|
|
"kind": "Value",
|
|
"name": "china_dns_server",
|
|
"title": "China DNS server",
|
|
"description": "The dns server for resolving China domains. Support UDP, TCP, DoH, DoQ, DoT.",
|
|
"depends": [
|
|
[
|
|
"routing_mode",
|
|
"bypass_mainland_china"
|
|
]
|
|
],
|
|
"values": [
|
|
[
|
|
"wan",
|
|
"WAN DNS (read from interface)"
|
|
],
|
|
[
|
|
"223.5.5.5",
|
|
"Aliyun Public DNS (223.5.5.5)"
|
|
],
|
|
[
|
|
"210.2.4.8",
|
|
"CNNIC Public DNS (210.2.4.8)"
|
|
],
|
|
[
|
|
"119.29.29.29",
|
|
"Tencent Public DNS (119.29.29.29)"
|
|
],
|
|
[
|
|
"117.50.10.10",
|
|
"ThreatBook Public DNS (117.50.10.10)"
|
|
]
|
|
],
|
|
"props": {
|
|
"default": "223.5.5.5",
|
|
"rmempty": false
|
|
}
|
|
},
|
|
{
|
|
"kind": "ListValue",
|
|
"name": "routing_mode",
|
|
"title": "Routing mode",
|
|
"description": null,
|
|
"depends": [],
|
|
"values": [
|
|
[
|
|
"gfwlist",
|
|
"GFWList"
|
|
],
|
|
[
|
|
"bypass_mainland_china",
|
|
"Bypass mainland China"
|
|
],
|
|
[
|
|
"proxy_mainland_china",
|
|
"Only proxy mainland China"
|
|
],
|
|
[
|
|
"custom",
|
|
"Custom routing"
|
|
],
|
|
[
|
|
"global",
|
|
"Global"
|
|
]
|
|
],
|
|
"props": {
|
|
"default": "bypass_mainland_china",
|
|
"rmempty": false
|
|
}
|
|
},
|
|
{
|
|
"kind": "Value",
|
|
"name": "routing_port",
|
|
"title": "Routing ports",
|
|
"description": "Specify target ports to be proxied. Multiple ports must be separated by commas.",
|
|
"depends": [],
|
|
"values": [
|
|
[
|
|
"",
|
|
"All ports"
|
|
],
|
|
[
|
|
"common",
|
|
"Common ports only (bypass P2P traffic)"
|
|
]
|
|
],
|
|
"props": {}
|
|
},
|
|
{
|
|
"kind": "ListValue",
|
|
"name": "proxy_mode",
|
|
"title": "Proxy mode",
|
|
"description": null,
|
|
"depends": [],
|
|
"values": [
|
|
[
|
|
"redirect",
|
|
"Redirect TCP"
|
|
]
|
|
],
|
|
"props": {
|
|
"default": "redirect_tproxy",
|
|
"description": "To enable Tun support, you need to install <code>ip-full</code> and <code>kmod-tun</code>",
|
|
"rmempty": false
|
|
}
|
|
},
|
|
{
|
|
"kind": "Flag",
|
|
"name": "ipv6_support",
|
|
"title": "IPv6 support",
|
|
"description": null,
|
|
"depends": [],
|
|
"values": [],
|
|
"props": {
|
|
"rmempty": false
|
|
}
|
|
},
|
|
{
|
|
"kind": "Flag",
|
|
"name": "cn_ip_fallback",
|
|
"title": "CN-IP DNS fallback (sing-box 1.14)",
|
|
"description": "When the main DNS returns a mainland China IP, re-resolve via China DNS using evaluate/match_response.",
|
|
"depends": [
|
|
[
|
|
"routing_mode",
|
|
"bypass_mainland_china"
|
|
]
|
|
],
|
|
"values": [],
|
|
"props": {
|
|
"rmempty": false
|
|
}
|
|
},
|
|
{
|
|
"kind": "Flag",
|
|
"name": "block_https_rr",
|
|
"title": "Block HTTPS/SVCB DNS records",
|
|
"description": "Answer HTTPS (type 65) and SVCB (type 64) queries with an empty response. Keeps clients off HTTPS-RR/ECH, which this DNS chain cannot serve through some proxies; disable it if ECH is wanted.",
|
|
"depends": [],
|
|
"values": [],
|
|
"props": {
|
|
"rmempty": false
|
|
}
|
|
},
|
|
{
|
|
"kind": "ListValue",
|
|
"name": "tun_dns_mode",
|
|
"title": "TUN DNS mode (1.14)",
|
|
"description": "Since sing-box 1.14 the default (Unset) behaves as hijack: sing-box sets the platform interface DNS and hijacks port 53. On OpenWrt this overlaps with the own dnsmasq/nftables DNS hijack of this plugin, so keep Disabled on a gateway unless you need sing-box to own TUN DNS.",
|
|
"depends": [
|
|
[
|
|
"proxy_mode",
|
|
"redirect_tun"
|
|
],
|
|
[
|
|
"proxy_mode",
|
|
"tun"
|
|
]
|
|
],
|
|
"values": [
|
|
[
|
|
"default",
|
|
"Unset (default)"
|
|
],
|
|
[
|
|
"disabled",
|
|
"Disabled"
|
|
],
|
|
[
|
|
"native",
|
|
"Native"
|
|
],
|
|
[
|
|
"hijack",
|
|
"Hijack"
|
|
]
|
|
],
|
|
"props": {
|
|
"default": "default",
|
|
"rmempty": true
|
|
}
|
|
},
|
|
{
|
|
"kind": "DynamicList",
|
|
"name": "tun_dns_address",
|
|
"title": "TUN DNS addresses (1.14)",
|
|
"description": null,
|
|
"depends": [
|
|
{
|
|
"proxy_mode": {},
|
|
"tun_dns_mode": {}
|
|
}
|
|
],
|
|
"values": [],
|
|
"props": {
|
|
"datatype": "ipaddr",
|
|
"modalonly": true
|
|
}
|
|
},
|
|
{
|
|
"kind": "ListValue",
|
|
"name": "udp_mapping",
|
|
"title": "UDP NAT mapping (1.14)",
|
|
"description": null,
|
|
"depends": [
|
|
[
|
|
"proxy_mode",
|
|
"redirect_tproxy"
|
|
],
|
|
[
|
|
"proxy_mode",
|
|
"redirect_tun"
|
|
],
|
|
[
|
|
"proxy_mode",
|
|
"tun"
|
|
]
|
|
],
|
|
"values": [
|
|
[
|
|
"endpoint_independent",
|
|
"Endpoint independent"
|
|
],
|
|
[
|
|
"address_dependent",
|
|
"Address dependent"
|
|
],
|
|
[
|
|
"address_and_port_dependent",
|
|
"Address and port dependent"
|
|
]
|
|
],
|
|
"props": {
|
|
"default": "endpoint_independent",
|
|
"description": "sing-box default; recommended for home use (small NAT table, QUIC/game friendly). Choose stricter only for specific UDP issues.",
|
|
"rmempty": false
|
|
}
|
|
},
|
|
{
|
|
"kind": "ListValue",
|
|
"name": "udp_filtering",
|
|
"title": "UDP NAT filtering (1.14)",
|
|
"description": null,
|
|
"depends": [
|
|
[
|
|
"proxy_mode",
|
|
"redirect_tproxy"
|
|
],
|
|
[
|
|
"proxy_mode",
|
|
"redirect_tun"
|
|
],
|
|
[
|
|
"proxy_mode",
|
|
"tun"
|
|
]
|
|
],
|
|
"values": [
|
|
[
|
|
"endpoint_independent",
|
|
"Endpoint independent"
|
|
],
|
|
[
|
|
"address_dependent",
|
|
"Address dependent"
|
|
],
|
|
[
|
|
"address_and_port_dependent",
|
|
"Address and port dependent"
|
|
]
|
|
],
|
|
"props": {
|
|
"default": "endpoint_independent",
|
|
"description": "sing-box default; recommended for home use (accepts replies from any remote after mapping). Choose stricter only for specific UDP issues.",
|
|
"rmempty": false
|
|
}
|
|
},
|
|
{
|
|
"kind": "Value",
|
|
"name": "udp_nat_max",
|
|
"title": "UDP NAT sessions max (1.14)",
|
|
"description": null,
|
|
"depends": [
|
|
[
|
|
"proxy_mode",
|
|
"redirect_tproxy"
|
|
],
|
|
[
|
|
"proxy_mode",
|
|
"redirect_tun"
|
|
],
|
|
[
|
|
"proxy_mode",
|
|
"tun"
|
|
]
|
|
],
|
|
"values": [],
|
|
"props": {
|
|
"datatype": "uinteger"
|
|
}
|
|
},
|
|
{
|
|
"kind": "SectionValue",
|
|
"name": "_routing",
|
|
"description": "routing",
|
|
"depends": [
|
|
[
|
|
"routing_mode",
|
|
"custom"
|
|
]
|
|
],
|
|
"values": [],
|
|
"props": {}
|
|
},
|
|
{
|
|
"kind": "SectionValue",
|
|
"name": "_routing_node",
|
|
"description": "routing_node",
|
|
"depends": [
|
|
[
|
|
"routing_mode",
|
|
"custom"
|
|
]
|
|
],
|
|
"values": [],
|
|
"props": {}
|
|
},
|
|
{
|
|
"kind": "SectionValue",
|
|
"name": "_routing_rule",
|
|
"description": "routing_rule",
|
|
"depends": [
|
|
[
|
|
"routing_mode",
|
|
"custom"
|
|
]
|
|
],
|
|
"values": [],
|
|
"props": {}
|
|
},
|
|
{
|
|
"kind": "SectionValue",
|
|
"name": "_dns",
|
|
"description": "dns",
|
|
"depends": [
|
|
[
|
|
"routing_mode",
|
|
"custom"
|
|
]
|
|
],
|
|
"values": [],
|
|
"props": {}
|
|
},
|
|
{
|
|
"kind": "SectionValue",
|
|
"name": "_dns_server",
|
|
"description": "dns_server",
|
|
"depends": [
|
|
[
|
|
"routing_mode",
|
|
"custom"
|
|
]
|
|
],
|
|
"values": [],
|
|
"props": {}
|
|
},
|
|
{
|
|
"kind": "SectionValue",
|
|
"name": "_dns_rule",
|
|
"description": "dns_rule",
|
|
"depends": [
|
|
[
|
|
"routing_mode",
|
|
"custom"
|
|
]
|
|
],
|
|
"values": [],
|
|
"props": {}
|
|
},
|
|
{
|
|
"kind": "SectionValue",
|
|
"name": "_ruleset",
|
|
"description": "ruleset",
|
|
"depends": [
|
|
[
|
|
"routing_mode",
|
|
"custom"
|
|
]
|
|
],
|
|
"values": [],
|
|
"props": {}
|
|
},
|
|
{
|
|
"kind": "SectionValue",
|
|
"name": "_control",
|
|
"description": "control",
|
|
"depends": [],
|
|
"values": [],
|
|
"props": {}
|
|
},
|
|
{
|
|
"kind": "SectionValue",
|
|
"name": "_dns_cache",
|
|
"description": "dns",
|
|
"depends": [
|
|
{
|
|
"routing_mode": "custom",
|
|
"!reverse": true
|
|
}
|
|
],
|
|
"values": [],
|
|
"props": {}
|
|
}
|
|
],
|
|
"subsection": null
|
|
}
|
|
]
|
|
}
|