update 2024-01-11 23:34:58
This commit is contained in:
parent
d0ed5ac45b
commit
9a081a0d30
|
@ -5,7 +5,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luci-app-passwall2
|
||||
PKG_VERSION:=1.23-1
|
||||
PKG_VERSION:=1.23-2
|
||||
PKG_RELEASE:=
|
||||
|
||||
PKG_CONFIG_DEPENDS:= \
|
||||
|
|
|
@ -37,7 +37,7 @@ _M.hysteria = {
|
|||
_M.singbox = {
|
||||
name = "Sing-Box",
|
||||
repo = "SagerNet/sing-box",
|
||||
get_url = gh_pre_release_url,
|
||||
get_url = gh_release_url,
|
||||
cmd_version = "version | awk '{print $3}' | sed -n 1P",
|
||||
zipped = true,
|
||||
zipped_suffix = "tar.gz",
|
||||
|
|
|
@ -529,10 +529,7 @@ function gen_config(var)
|
|||
local remote_dns_query_strategy = var["-remote_dns_query_strategy"]
|
||||
local dns_cache = var["-dns_cache"]
|
||||
|
||||
local dns_direct_domains = {}
|
||||
local dns_direct_expectIPs = {}
|
||||
local dns_remote_domains = {}
|
||||
local dns_remote_expectIPs = {}
|
||||
local dns_domain_rules = {}
|
||||
local dns = nil
|
||||
local fakedns = nil
|
||||
local inbounds = {}
|
||||
|
@ -892,30 +889,25 @@ function gen_config(var)
|
|||
end
|
||||
local domains = nil
|
||||
if e.domain_list then
|
||||
local domain_table = {
|
||||
shunt_rule_name = e[".name"],
|
||||
outboundTag = outboundTag,
|
||||
domain = {},
|
||||
}
|
||||
domains = {}
|
||||
string.gsub(e.domain_list, '[^' .. "\r\n" .. ']+', function(w)
|
||||
table.insert(domains, w)
|
||||
if outboundTag == "direct" then
|
||||
table.insert(dns_direct_domains, w)
|
||||
else
|
||||
if outboundTag ~= "nil" then
|
||||
table.insert(dns_remote_domains, w)
|
||||
end
|
||||
end
|
||||
table.insert(domain_table.domain, w)
|
||||
end)
|
||||
if outboundTag and outboundTag ~= "nil" then
|
||||
table.insert(dns_domain_rules, api.clone(domain_table))
|
||||
end
|
||||
end
|
||||
local ip = nil
|
||||
if e.ip_list then
|
||||
ip = {}
|
||||
string.gsub(e.ip_list, '[^' .. "\r\n" .. ']+', function(w)
|
||||
table.insert(ip, w)
|
||||
if outboundTag == "direct" then
|
||||
table.insert(dns_direct_expectIPs, w)
|
||||
else
|
||||
if outboundTag ~= "nil" then
|
||||
table.insert(dns_remote_expectIPs, w)
|
||||
end
|
||||
end
|
||||
end)
|
||||
end
|
||||
local source = nil
|
||||
|
@ -1061,17 +1053,14 @@ function gen_config(var)
|
|||
end)
|
||||
end
|
||||
|
||||
local _remote_dns = nil
|
||||
if remote_dns_udp_server then
|
||||
local _remote_dns = {
|
||||
_remote_dns = {
|
||||
_flag = "remote",
|
||||
address = remote_dns_udp_server,
|
||||
port = tonumber(remote_dns_udp_port) or 53,
|
||||
queryStrategy = (remote_dns_query_strategy and remote_dns_query_strategy ~= "") and remote_dns_query_strategy or "UseIPv4"
|
||||
}
|
||||
if not remote_dns_fake then
|
||||
_remote_dns.domains = #dns_remote_domains > 0 and dns_remote_domains or nil
|
||||
--_remote_dns.expectIPs = #dns_remote_expectIPs > 0 and dns_remote_expectIPs or nil
|
||||
end
|
||||
_remote_dns_proto = "udp"
|
||||
table.insert(dns.servers, _remote_dns)
|
||||
|
||||
|
@ -1081,10 +1070,11 @@ function gen_config(var)
|
|||
remote_dns_udp_server
|
||||
},
|
||||
port = tonumber(remote_dns_udp_port) or 53,
|
||||
network = "udp",
|
||||
network = _remote_dns_proto,
|
||||
outboundTag = "direct"
|
||||
})
|
||||
end
|
||||
local _remote_fakedns = nil
|
||||
if remote_dns_fake then
|
||||
fakedns = {}
|
||||
local fakedns4 = {
|
||||
|
@ -1103,31 +1093,33 @@ function gen_config(var)
|
|||
elseif remote_dns_query_strategy == "UseIPv6" then
|
||||
table.insert(fakedns, fakedns6)
|
||||
end
|
||||
local _remote_dns = {
|
||||
_remote_fakedns = {
|
||||
_flag = "remote_fakedns",
|
||||
address = "fakedns",
|
||||
domains = #dns_remote_domains > 0 and dns_remote_domains or nil
|
||||
--expectIPs = #dns_remote_expectIPs > 0 and dns_remote_expectIPs or nil
|
||||
}
|
||||
table.insert(dns.servers, _remote_dns)
|
||||
table.insert(dns.servers, _remote_fakedns)
|
||||
end
|
||||
|
||||
if true then
|
||||
local _direct_dns = nil
|
||||
if direct_dns_udp_server then
|
||||
local domain = {}
|
||||
local nodes_domain_text = sys.exec('uci show passwall2 | grep ".address=" | cut -d "\'" -f 2 | grep "[a-zA-Z]$" | sort -u')
|
||||
string.gsub(nodes_domain_text, '[^' .. "\r\n" .. ']+', function(w)
|
||||
table.insert(dns_direct_domains, "full:" .. w)
|
||||
table.insert(domain, "full:" .. w)
|
||||
end)
|
||||
if #domain > 0 then
|
||||
table.insert(dns_domain_rules, 1, {
|
||||
outboundTag = "direct",
|
||||
domain = domain
|
||||
})
|
||||
end
|
||||
|
||||
local _direct_dns = {
|
||||
_direct_dns = {
|
||||
_flag = "direct",
|
||||
domains = #dns_direct_domains > 0 and dns_direct_domains or nil
|
||||
--expectIPs = #dns_direct_expectIPs > 0 and dns_direct_expectIPs or nil
|
||||
address = direct_dns_udp_server,
|
||||
port = tonumber(direct_dns_udp_port) or 53,
|
||||
queryStrategy = (direct_dns_query_strategy and direct_dns_query_strategy ~= "") and direct_dns_query_strategy or "UseIP",
|
||||
}
|
||||
|
||||
if direct_dns_udp_server then
|
||||
_direct_dns.address = direct_dns_udp_server
|
||||
_direct_dns.port = tonumber(direct_dns_udp_port) or 53
|
||||
_direct_dns.queryStrategy = (direct_dns_query_strategy and direct_dns_query_strategy ~= "") and direct_dns_query_strategy or "UseIP"
|
||||
table.insert(routing.rules, 1, {
|
||||
type = "field",
|
||||
ip = {
|
||||
|
@ -1137,7 +1129,6 @@ function gen_config(var)
|
|||
network = "udp",
|
||||
outboundTag = "direct"
|
||||
})
|
||||
end
|
||||
|
||||
table.insert(dns.servers, _direct_dns)
|
||||
end
|
||||
|
@ -1223,6 +1214,32 @@ function gen_config(var)
|
|||
table.insert(dns.servers, 1, dns_servers)
|
||||
end
|
||||
|
||||
--按分流顺序DNS
|
||||
if dns_domain_rules and #dns_domain_rules > 0 then
|
||||
for index, value in ipairs(dns_domain_rules) do
|
||||
if value.outboundTag and value.domain then
|
||||
local dns_server = nil
|
||||
if value.outboundTag == "direct" then
|
||||
dns_server = api.clone(_direct_dns)
|
||||
else
|
||||
if remote_dns_fake then
|
||||
dns_server = api.clone(_remote_fakedns)
|
||||
else
|
||||
dns_server = api.clone(_remote_dns)
|
||||
end
|
||||
end
|
||||
dns_server.domains = value.domain
|
||||
if value.shunt_rule_name then
|
||||
dns_server["_flag"] = value.shunt_rule_name
|
||||
end
|
||||
|
||||
if dns_server then
|
||||
table.insert(dns.servers, dns_server)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for i = #dns.servers, 1, -1 do
|
||||
local v = dns.servers[i]
|
||||
if v["_flag"] ~= "default" then
|
||||
|
|
|
@ -324,10 +324,6 @@ local api = require "luci.passwall2.api"
|
|||
}
|
||||
if (opt.get(dom_prefix + "reality") && opt.get(dom_prefix + "reality").checked) {
|
||||
v_security = "reality";
|
||||
if (opt.get(dom_prefix + "fingerprint") && opt.get(dom_prefix + "fingerprint").value != "") {
|
||||
let v_fp = opt.get(dom_prefix + "fingerprint").value;
|
||||
params += "&fp=" + v_fp;
|
||||
}
|
||||
params += opt.query("pbk", dom_prefix + "reality_publicKey");
|
||||
params += opt.query("sid", dom_prefix + "reality_shortId");
|
||||
params += opt.query("spx", dom_prefix + "reality_spiderX");
|
||||
|
|
|
@ -9,7 +9,7 @@ LUCI_TITLE:=LuCI support for quickstart
|
|||
LUCI_DEPENDS:=+quickstart +luci-app-store
|
||||
LUCI_PKGARCH:=all
|
||||
|
||||
PKG_VERSION:=0.7.20
|
||||
PKG_VERSION:=0.8.3
|
||||
# PKG_RELEASE MUST be empty for luci.mk
|
||||
PKG_RELEASE:=
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -10,11 +10,11 @@ include $(TOPDIR)/rules.mk
|
|||
PKG_ARCH_quickstart:=$(ARCH)
|
||||
|
||||
PKG_NAME:=quickstart
|
||||
PKG_VERSION:=0.8.2
|
||||
PKG_VERSION:=0.8.3
|
||||
PKG_RELEASE:=1
|
||||
PKG_SOURCE:=$(PKG_NAME)-binary-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=https://github.com/linkease/istore-packages/releases/download/prebuilt/
|
||||
PKG_HASH:=1fa1e1a3dc248c34fb8b1c4ac441bf45e544fbd12fb33030cbd2bb5a9bcb616b
|
||||
PKG_HASH:=f8f23fb5865cac6926a8debc87646cd6b65e3c1cf3d04e659b8043f6d826926c
|
||||
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-binary-$(PKG_VERSION)
|
||||
|
||||
|
|
Loading…
Reference in New Issue