mirror of
https://github.com/kiddin9/openwrt-packages.git
synced 2025-01-07 08:06:54 +08:00
🚀 Sync 2024-09-26 23:40:01
This commit is contained in:
parent
9b8b78305b
commit
b2977f0978
@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=hickory-dns
|
||||
PKG_VERSION:=master
|
||||
PKG_RELEASE:=35
|
||||
PKG_RELEASE:=36
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL:=https://github.com/hickory-dns/hickory-dns.git
|
||||
|
@ -8,8 +8,7 @@ CONF=/etc/hickory-dns/forwarder.toml
|
||||
|
||||
start_service() {
|
||||
procd_open_instance hickory-dns
|
||||
procd_set_param command $PROG -c $CONF -p 5335
|
||||
procd_set_param env RUST_LOG=error
|
||||
procd_set_param command $PROG -c $CONF -p 5335 -q
|
||||
procd_set_param user root
|
||||
procd_set_param stdout 1
|
||||
procd_set_param stderr 1
|
||||
|
@ -174,6 +174,9 @@ if has_xray then
|
||||
o.default = "10-20"
|
||||
o:depends("fragment", true)
|
||||
|
||||
o = s_xray:option(Flag, "noise", translate("Noise"), translate("UDP noise. Under some circumstances it can bypass some udp based protocol restrictions."))
|
||||
o.default = 0
|
||||
|
||||
o = s_xray:option(Flag, "sniffing_override_dest", translate("Override the connection destination address"), translate("Override the connection destination address with the sniffed domain."))
|
||||
o.default = 0
|
||||
|
||||
@ -187,6 +190,41 @@ if has_xray then
|
||||
|
||||
o = s_xray:option(Value, "buffer_size", translate("Buffer Size"), translate("Buffer size for every connection (kB)"))
|
||||
o.datatype = "uinteger"
|
||||
|
||||
s_xray_noise = m:section(TypedSection, "xray_noise_packets", translate("Xray Noise Packets"),"<font color='red'>" .. translate("To send noise packets, select \"Noise\" in Xray Settings.") .. "</font>")
|
||||
s_xray_noise.template = "cbi/tblsection"
|
||||
s_xray_noise.sortable = true
|
||||
s_xray_noise.anonymous = true
|
||||
s_xray_noise.addremove = true
|
||||
|
||||
s_xray_noise.create = function(e, t)
|
||||
TypedSection.create(e, api.gen_short_uuid())
|
||||
end
|
||||
|
||||
s_xray_noise.remove = function(self, section)
|
||||
for k, v in pairs(self.children) do
|
||||
v.rmempty = true
|
||||
v.validate = nil
|
||||
end
|
||||
TypedSection.remove(self, section)
|
||||
end
|
||||
|
||||
o = s_xray_noise:option(Flag, "enabled", translate("Enable"))
|
||||
o.default = 1
|
||||
o.rmempty = false
|
||||
|
||||
o = s_xray_noise:option(ListValue, "type", translate("Type"))
|
||||
o:value("rand", "rand")
|
||||
o:value("str", "str")
|
||||
o:value("base64", "base64")
|
||||
|
||||
o = s_xray_noise:option(Value, "packet", translate("Packet"))
|
||||
o.datatype = "minlength(1)"
|
||||
o.rmempty = false
|
||||
|
||||
o = s_xray_noise:option(Value, "delay", translate("Delay (ms)"))
|
||||
o.datatype = "or(uinteger,portrange)"
|
||||
o.rmempty = false
|
||||
end
|
||||
|
||||
if has_singbox then
|
||||
|
@ -17,6 +17,20 @@ local function get_new_port()
|
||||
return new_port
|
||||
end
|
||||
|
||||
local function get_noise_packets()
|
||||
local noises = {}
|
||||
uci:foreach(appname, "xray_noise_packets", function(n)
|
||||
local noise = (n.enabled == "1") and {
|
||||
type = n.type,
|
||||
packet = n.packet,
|
||||
delay = string.find(n.delay, "-") and n.delay or tonumber(n.delay)
|
||||
} or nil
|
||||
table.insert(noises, noise)
|
||||
end)
|
||||
if #noises == 0 then noises = nil end
|
||||
return noises
|
||||
end
|
||||
|
||||
local function get_domain_excluded()
|
||||
local path = string.format("/usr/share/%s/rules/domains_excluded", appname)
|
||||
local content = fs.readfile(path)
|
||||
@ -43,10 +57,12 @@ function gen_outbound(flag, node, tag, proxy_table)
|
||||
local proxy = 0
|
||||
local proxy_tag = "nil"
|
||||
local fragment = nil
|
||||
local noise = nil
|
||||
if proxy_table ~= nil and type(proxy_table) == "table" then
|
||||
proxy = proxy_table.proxy or 0
|
||||
proxy_tag = proxy_table.tag or "nil"
|
||||
fragment = proxy_table.fragment or nil
|
||||
noise = proxy_table.noise or nil
|
||||
end
|
||||
|
||||
if node.type == "Xray" then
|
||||
@ -135,7 +151,7 @@ function gen_outbound(flag, node, tag, proxy_table)
|
||||
mark = 255,
|
||||
tcpMptcp = (node.tcpMptcp == "1") and true or nil,
|
||||
tcpNoDelay = (node.tcpNoDelay == "1") and true or nil,
|
||||
dialerProxy = fragment and "fragment" or nil
|
||||
dialerProxy = (fragment or noise) and "dialerproxy" or nil
|
||||
},
|
||||
network = node.transport,
|
||||
security = node.stream_security,
|
||||
@ -690,7 +706,7 @@ function gen_config(var)
|
||||
end
|
||||
if is_new_blc_node then
|
||||
local blc_node = uci:get_all(appname, blc_node_id)
|
||||
local outbound = gen_outbound(flag, blc_node, blc_node_tag, { fragment = xray_settings.fragment == "1" or nil })
|
||||
local outbound = gen_outbound(flag, blc_node, blc_node_tag, { fragment = xray_settings.fragment == "1" or nil, noise = xray_settings.noise == "1" or nil })
|
||||
if outbound then
|
||||
table.insert(outbounds, outbound)
|
||||
valid_nodes[#valid_nodes + 1] = blc_node_tag
|
||||
@ -713,7 +729,7 @@ function gen_config(var)
|
||||
if is_new_node then
|
||||
local fallback_node = uci:get_all(appname, fallback_node_id)
|
||||
if fallback_node.protocol ~= "_balancing" then
|
||||
local outbound = gen_outbound(flag, fallback_node, fallback_node_id, { fragment = xray_settings.fragment == "1" or nil })
|
||||
local outbound = gen_outbound(flag, fallback_node, fallback_node_id, { fragment = xray_settings.fragment == "1" or nil, noise = xray_settings.noise == "1" or nil })
|
||||
if outbound then
|
||||
table.insert(outbounds, outbound)
|
||||
else
|
||||
@ -862,6 +878,9 @@ function gen_config(var)
|
||||
if xray_settings.fragment == "1" and not proxy_table.tag then
|
||||
proxy_table.fragment = true
|
||||
end
|
||||
if xray_settings.noise == "1" and not proxy_table.tag then
|
||||
proxy_table.noise = true
|
||||
end
|
||||
local outbound = gen_outbound(flag, _node, rule_name, proxy_table)
|
||||
local outbound_tag
|
||||
if outbound then
|
||||
@ -1047,7 +1066,7 @@ function gen_config(var)
|
||||
sys.call("touch /tmp/etc/passwall/iface/" .. node.iface)
|
||||
end
|
||||
else
|
||||
local outbound = gen_outbound(flag, node, nil, { fragment = xray_settings.fragment == "1" or nil })
|
||||
local outbound = gen_outbound(flag, node, nil, { fragment = xray_settings.fragment == "1" or nil, noise = xray_settings.fragment == "1" or nil })
|
||||
if outbound then
|
||||
set_outbound_detour(node, outbound, outbounds)
|
||||
table.insert(outbounds, outbound)
|
||||
@ -1290,17 +1309,18 @@ function gen_config(var)
|
||||
}
|
||||
}
|
||||
|
||||
if xray_settings.fragment == "1" then
|
||||
if xray_settings.fragment == "1" or xray_settings.noise == "1" then
|
||||
table.insert(outbounds, {
|
||||
protocol = "freedom",
|
||||
tag = "fragment",
|
||||
tag = "dialerproxy",
|
||||
settings = {
|
||||
domainStrategy = (direct_dns_query_strategy and direct_dns_query_strategy ~= "") and direct_dns_query_strategy or "UseIP",
|
||||
fragment = {
|
||||
fragment = (xray_settings.fragment == "1") and {
|
||||
packets = (xray_settings.fragment_packets and xray_settings.fragment_packets ~= "") and xray_settings.fragment_packets,
|
||||
length = (xray_settings.fragment_length and xray_settings.fragment_length ~= "") and xray_settings.fragment_length,
|
||||
interval = (xray_settings.fragment_interval and xray_settings.fragment_interval ~= "") and xray_settings.fragment_interval
|
||||
}
|
||||
} or nil,
|
||||
noises = (xray_settings.noise == "1") and get_noise_packets() or nil
|
||||
},
|
||||
streamSettings = {
|
||||
sockopt = {
|
||||
|
@ -1657,6 +1657,24 @@ msgstr "分片间隔"
|
||||
msgid "Fragmentation interval (ms)"
|
||||
msgstr "分片间隔(ms)"
|
||||
|
||||
msgid "Noise"
|
||||
msgstr "噪声"
|
||||
|
||||
msgid "UDP noise. Under some circumstances it can bypass some udp based protocol restrictions."
|
||||
msgstr "UDP噪声。在某些情况下,它可以绕过一些针对UDP协议的限制。"
|
||||
|
||||
msgid "To send noise packets, select \"Noise\" in Xray Settings."
|
||||
msgstr "在 Xray 设置中勾选 “噪声” 以发送噪声包。"
|
||||
|
||||
msgid "Xray Noise Packets"
|
||||
msgstr "Xray 噪声数据包"
|
||||
|
||||
msgid "Packet"
|
||||
msgstr "数据包"
|
||||
|
||||
msgid "Delay (ms)"
|
||||
msgstr "延迟(ms)"
|
||||
|
||||
msgid "If is domain name, The requested domain name will be resolved to IP before connect."
|
||||
msgstr "如果是域名,域名将在请求发出之前解析为 IP。"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user