feature: support marking packet on upstream server

This commit is contained in:
Nick Peng
2022-12-19 22:41:43 +08:00
parent fb1c5d2438
commit 2f71fe2490
13 changed files with 75 additions and 11 deletions

View File

@@ -230,6 +230,12 @@ msgstr "下载的文件列表。"
msgid "Local Port"
msgstr "本地端口"
msgid "Marking Packets"
msgstr "数据包标记"
msgid "Set mark on packets."
msgstr "设置数据包标记。"
msgid "Maximum TTL for all domain result."
msgstr "所有域名的最大 TTL 值。"

View File

@@ -127,6 +127,12 @@ o.rempty = true
o:depends("type", "tls")
o:depends("type", "https")
---- mark
o = s:option(Value, "set_mark", translate("Marking Packets"), translate("Set mark on packets."))
o.default = ""
o.rempty = true
o.datatype = "uinteger"
---- other args
o = s:option(Value, "addition_arg", translate("Additional Server Args"), translate("Additional Args for upstream dns servers"))
o.default = ""

View File

@@ -256,6 +256,12 @@ msgstr "下载文件列表"
msgid "Local Port"
msgstr "本地端口"
msgid "Marking Packets"
msgstr "数据包标记"
msgid "Set mark on packets."
msgstr "设置数据包标记。"
msgid "Maximum TTL for all domain result."
msgstr "所有域名的最大 TTL 值。"

View File

@@ -584,6 +584,14 @@ return view.extend({
o.depends("type", "tls")
o.depends("type", "https")
// mark
o = s.taboption("advanced", form.Value, "set_mark", _("Marking Packets"),
_("Set mark on packets."))
o.default = ""
o.rempty = true
o.datatype = "uinteger"
o.modalonly = true;
// other args
o = s.taboption("advanced", form.Value, "addition_arg", _("Additional Server Args"),
_("Additional Args for upstream dns servers"))

View File

@@ -183,6 +183,7 @@ load_server()
config_get check_edns "$section" "check_edns" "0"
config_get spki_pin "$section" "spki_pin" ""
config_get addition_arg "$section" "addition_arg" ""
config_get set_mark "$section" "set_mark" ""
[ "$enabled" = "0" ] && return
@@ -214,6 +215,7 @@ load_server()
[ "$blacklist_ip" = "0" ] || ADDITIONAL_ARGS="$ADDITIONAL_ARGS -blacklist-ip"
[ "$check_edns" = "0" ] || ADDITIONAL_ARGS="$ADDITIONAL_ARGS -check-edns"
[ -z "$spki_pin" ] || ADDITIONAL_ARGS="$ADDITIONAL_ARGS -spki-pin $spki_pin"
[ -z "$set_mark" ] || ADDITIONAL_ARGS="$ADDITIONAL_ARGS -set-mark $set_mark"
if [ -z "$port" ]; then
DNS_ADDRESS="$ip"