mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-05 18:44:03 +08:00
✨ Sync 2026-05-20 00:34:17
This commit is contained in:
1 parent
ecf5c92802
commit
227d6517f6
10 files changed
+135
-126
No files matched your search
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=luci-app-passwall
|
PKG_NAME:=luci-app-passwall
|
||||||
PKG_VERSION:=26.5.11
|
PKG_VERSION:=26.5.11
|
||||||
PKG_RELEASE:=128
|
PKG_RELEASE:=129
|
||||||
PKG_PO_VERSION:=$(PKG_VERSION)
|
PKG_PO_VERSION:=$(PKG_VERSION)
|
||||||
|
|
||||||
PKG_CONFIG_DEPENDS:= \
|
PKG_CONFIG_DEPENDS:= \
|
||||||
|
|||||||
@@ -194,8 +194,8 @@ if not is_file_nonzero(file_vpslist) then
|
|||||||
end
|
end
|
||||||
if is_file_nonzero(file_vpslist) then
|
if is_file_nonzero(file_vpslist) then
|
||||||
local sets = {
|
local sets = {
|
||||||
setflag .. "passwall_vps",
|
setflag .. "psw_vps",
|
||||||
setflag .. "passwall_vps6"
|
setflag .. "psw_vps6"
|
||||||
}
|
}
|
||||||
tmp_lines = {
|
tmp_lines = {
|
||||||
"group vpslist",
|
"group vpslist",
|
||||||
@@ -240,8 +240,8 @@ if USE_DIRECT_LIST == "1" and not fs.access(file_direct_host) then
|
|||||||
end
|
end
|
||||||
if USE_DIRECT_LIST == "1" and is_file_nonzero(file_direct_host) then
|
if USE_DIRECT_LIST == "1" and is_file_nonzero(file_direct_host) then
|
||||||
local sets = {
|
local sets = {
|
||||||
setflag .. "passwall_white",
|
setflag .. "psw_white",
|
||||||
setflag .. "passwall_white6"
|
setflag .. "psw_white6"
|
||||||
}
|
}
|
||||||
tmp_lines = {
|
tmp_lines = {
|
||||||
"group directlist",
|
"group directlist",
|
||||||
@@ -286,13 +286,13 @@ if USE_PROXY_LIST == "1" and not fs.access(file_proxy_host) then
|
|||||||
end
|
end
|
||||||
if USE_PROXY_LIST == "1" and is_file_nonzero(file_proxy_host) then
|
if USE_PROXY_LIST == "1" and is_file_nonzero(file_proxy_host) then
|
||||||
local sets = {
|
local sets = {
|
||||||
setflag .. "passwall_black",
|
setflag .. "psw_black",
|
||||||
setflag .. "passwall_black6"
|
setflag .. "psw_black6"
|
||||||
}
|
}
|
||||||
if FLAG ~= "default" then
|
if FLAG ~= "default" then
|
||||||
sets = {
|
sets = {
|
||||||
setflag .. "passwall_" .. FLAG .. "_black",
|
setflag .. "psw_" .. FLAG .. "_black",
|
||||||
setflag .. "passwall_" .. FLAG .. "_black6"
|
setflag .. "psw_" .. FLAG .. "_black6"
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
tmp_lines = {
|
tmp_lines = {
|
||||||
@@ -310,13 +310,13 @@ end
|
|||||||
--GFW列表
|
--GFW列表
|
||||||
if GFWLIST == "1" and is_file_nonzero(RULES_PATH .. "/gfwlist") then
|
if GFWLIST == "1" and is_file_nonzero(RULES_PATH .. "/gfwlist") then
|
||||||
local sets = {
|
local sets = {
|
||||||
setflag .. "passwall_gfw",
|
setflag .. "psw_gfw",
|
||||||
setflag .. "passwall_gfw6"
|
setflag .. "psw_gfw6"
|
||||||
}
|
}
|
||||||
if FLAG ~= "default" then
|
if FLAG ~= "default" then
|
||||||
sets = {
|
sets = {
|
||||||
setflag .. "passwall_" .. FLAG .. "_gfw",
|
setflag .. "psw_" .. FLAG .. "_gfw",
|
||||||
setflag .. "passwall_" .. FLAG .. "_gfw6"
|
setflag .. "psw_" .. FLAG .. "_gfw6"
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
tmp_lines = {
|
tmp_lines = {
|
||||||
@@ -333,8 +333,8 @@ if CHNLIST ~= "0" and is_file_nonzero(RULES_PATH .. "/chnlist") then
|
|||||||
if CHNLIST == "direct" then
|
if CHNLIST == "direct" then
|
||||||
tmp_lines = {
|
tmp_lines = {
|
||||||
"chnlist-file " .. RULES_PATH .. "/chnlist",
|
"chnlist-file " .. RULES_PATH .. "/chnlist",
|
||||||
"ipset-name4 " .. setflag .. "passwall_chn",
|
"ipset-name4 " .. setflag .. "psw_chn",
|
||||||
"ipset-name6 " .. setflag .. "passwall_chn6",
|
"ipset-name6 " .. setflag .. "psw_chn6",
|
||||||
"add-tagchn-ip",
|
"add-tagchn-ip",
|
||||||
"chnlist-first"
|
"chnlist-first"
|
||||||
}
|
}
|
||||||
@@ -345,8 +345,8 @@ if CHNLIST ~= "0" and is_file_nonzero(RULES_PATH .. "/chnlist") then
|
|||||||
--回中国模式
|
--回中国模式
|
||||||
if CHNLIST == "proxy" then
|
if CHNLIST == "proxy" then
|
||||||
local sets = {
|
local sets = {
|
||||||
setflag .. "passwall_chn",
|
setflag .. "psw_chn",
|
||||||
setflag .. "passwall_chn6"
|
setflag .. "psw_chn6"
|
||||||
}
|
}
|
||||||
tmp_lines = {
|
tmp_lines = {
|
||||||
"group chn_proxy",
|
"group chn_proxy",
|
||||||
@@ -445,13 +445,13 @@ if IS_SHUNT_NODE then
|
|||||||
end
|
end
|
||||||
|
|
||||||
local sets = {
|
local sets = {
|
||||||
setflag .. "passwall_shunt",
|
setflag .. "psw_shunt",
|
||||||
setflag .. "passwall_shunt6"
|
setflag .. "psw_shunt6"
|
||||||
}
|
}
|
||||||
if FLAG ~= "default" then
|
if FLAG ~= "default" then
|
||||||
sets = {
|
sets = {
|
||||||
setflag .. "passwall_" .. FLAG .. "_shunt",
|
setflag .. "psw_" .. FLAG .. "_shunt",
|
||||||
setflag .. "passwall_" .. FLAG .. "_shunt6"
|
setflag .. "psw_" .. FLAG .. "_shunt6"
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -372,8 +372,8 @@ function add_rule(var)
|
|||||||
fwd_dns = nil
|
fwd_dns = nil
|
||||||
else
|
else
|
||||||
local sets = {
|
local sets = {
|
||||||
setflag_4 .. "passwall_vps",
|
setflag_4 .. "psw_vps",
|
||||||
setflag_6 .. "passwall_vps6"
|
setflag_6 .. "psw_vps6"
|
||||||
}
|
}
|
||||||
local function process_address(address)
|
local function process_address(address)
|
||||||
address = (address or ""):lower()
|
address = (address or ""):lower()
|
||||||
@@ -406,8 +406,8 @@ function add_rule(var)
|
|||||||
end
|
end
|
||||||
if fwd_dns then
|
if fwd_dns then
|
||||||
local sets = {
|
local sets = {
|
||||||
setflag_4 .. "passwall_white",
|
setflag_4 .. "psw_white",
|
||||||
setflag_6 .. "passwall_white6"
|
setflag_6 .. "psw_white6"
|
||||||
}
|
}
|
||||||
--始终用国内DNS解析直连(白名单)列表
|
--始终用国内DNS解析直连(白名单)列表
|
||||||
for line in io.lines("/usr/share/passwall/rules/direct_host") do
|
for line in io.lines("/usr/share/passwall/rules/direct_host") do
|
||||||
@@ -431,11 +431,11 @@ function add_rule(var)
|
|||||||
fwd_dns = nil
|
fwd_dns = nil
|
||||||
end
|
end
|
||||||
if fwd_dns then
|
if fwd_dns then
|
||||||
local set_name = "passwall_black"
|
local set_name = "psw_black"
|
||||||
local set6_name = "passwall_black6"
|
local set6_name = "psw_black6"
|
||||||
if FLAG ~= "default" then
|
if FLAG ~= "default" then
|
||||||
set_name = "passwall_" .. FLAG .. "_black"
|
set_name = "psw_" .. FLAG .. "_black"
|
||||||
set6_name = "passwall_" .. FLAG .. "_black6"
|
set6_name = "psw_" .. FLAG .. "_black6"
|
||||||
end
|
end
|
||||||
local sets = {
|
local sets = {
|
||||||
setflag_4 .. set_name
|
setflag_4 .. set_name
|
||||||
@@ -471,11 +471,11 @@ function add_rule(var)
|
|||||||
fwd_dns = nil
|
fwd_dns = nil
|
||||||
end
|
end
|
||||||
if fwd_dns then
|
if fwd_dns then
|
||||||
local set_name = "passwall_gfw"
|
local set_name = "psw_gfw"
|
||||||
local set6_name = "passwall_gfw6"
|
local set6_name = "psw_gfw6"
|
||||||
if FLAG ~= "default" then
|
if FLAG ~= "default" then
|
||||||
set_name = "passwall_" .. FLAG .. "_gfw"
|
set_name = "psw_" .. FLAG .. "_gfw"
|
||||||
set6_name = "passwall_" .. FLAG .. "_gfw6"
|
set6_name = "psw_" .. FLAG .. "_gfw6"
|
||||||
end
|
end
|
||||||
local sets = {
|
local sets = {
|
||||||
setflag_4 .. set_name
|
setflag_4 .. set_name
|
||||||
@@ -519,13 +519,13 @@ function add_rule(var)
|
|||||||
end
|
end
|
||||||
if fwd_dns then
|
if fwd_dns then
|
||||||
local sets = {
|
local sets = {
|
||||||
setflag_4 .. "passwall_chn",
|
setflag_4 .. "psw_chn",
|
||||||
setflag_6 .. "passwall_chn6"
|
setflag_6 .. "psw_chn6"
|
||||||
}
|
}
|
||||||
if CHN_LIST == "proxy" then
|
if CHN_LIST == "proxy" then
|
||||||
if NO_PROXY_IPV6 == "1" then
|
if NO_PROXY_IPV6 == "1" then
|
||||||
sets = {
|
sets = {
|
||||||
setflag_4 .. "passwall_chn"
|
setflag_4 .. "psw_chn"
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
if REMOTE_FAKEDNS == "1" then
|
if REMOTE_FAKEDNS == "1" then
|
||||||
@@ -569,24 +569,24 @@ function add_rule(var)
|
|||||||
if _node_id == "_direct" then
|
if _node_id == "_direct" then
|
||||||
fwd_dns = LOCAL_DNS
|
fwd_dns = LOCAL_DNS
|
||||||
if USE_DIRECT_LIST == "1" then
|
if USE_DIRECT_LIST == "1" then
|
||||||
table.insert(sets, setflag_4 .. "passwall_white")
|
table.insert(sets, setflag_4 .. "psw_white")
|
||||||
table.insert(sets, setflag_6 .. "passwall_white6")
|
table.insert(sets, setflag_6 .. "psw_white6")
|
||||||
else
|
else
|
||||||
local set_name = "passwall_shunt"
|
local set_name = "psw_shunt"
|
||||||
local set6_name = "passwall_shunt6"
|
local set6_name = "psw_shunt6"
|
||||||
if FLAG ~= "default" then
|
if FLAG ~= "default" then
|
||||||
set_name = "passwall_" .. FLAG .. "_shunt"
|
set_name = "psw_" .. FLAG .. "_shunt"
|
||||||
set6_name = "passwall_" .. FLAG .. "_shunt6"
|
set6_name = "psw_" .. FLAG .. "_shunt6"
|
||||||
end
|
end
|
||||||
table.insert(sets, setflag_4 .. set_name)
|
table.insert(sets, setflag_4 .. set_name)
|
||||||
table.insert(sets, setflag_6 .. set6_name)
|
table.insert(sets, setflag_6 .. set6_name)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
local set_name = "passwall_shunt"
|
local set_name = "psw_shunt"
|
||||||
local set6_name = "passwall_shunt6"
|
local set6_name = "psw_shunt6"
|
||||||
if FLAG ~= "default" then
|
if FLAG ~= "default" then
|
||||||
set_name = "passwall_" .. FLAG .. "_shunt"
|
set_name = "psw_" .. FLAG .. "_shunt"
|
||||||
set6_name = "passwall_" .. FLAG .. "_shunt6"
|
set6_name = "psw_" .. FLAG .. "_shunt6"
|
||||||
end
|
end
|
||||||
fwd_dns = TUN_DNS
|
fwd_dns = TUN_DNS
|
||||||
table.insert(sets, setflag_4 .. set_name)
|
table.insert(sets, setflag_4 .. set_name)
|
||||||
|
|||||||
@@ -358,8 +358,8 @@ if is_file_nonzero(file_vpslist) then
|
|||||||
string.format("domain-set -name %s -file %s", domain_set_name, file_vpslist)
|
string.format("domain-set -name %s -file %s", domain_set_name, file_vpslist)
|
||||||
}
|
}
|
||||||
local sets = {
|
local sets = {
|
||||||
"#4:" .. setflag .. "passwall_vps",
|
"#4:" .. setflag .. "psw_vps",
|
||||||
"#6:" .. setflag .. "passwall_vps6"
|
"#6:" .. setflag .. "psw_vps6"
|
||||||
}
|
}
|
||||||
local domain_rules_str = string.format('domain-rules /domain-set:%s/ %s', domain_set_name, LOCAL_GROUP and "-nameserver " .. LOCAL_GROUP or "")
|
local domain_rules_str = string.format('domain-rules /domain-set:%s/ %s', domain_set_name, LOCAL_GROUP and "-nameserver " .. LOCAL_GROUP or "")
|
||||||
domain_rules_str = domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")
|
domain_rules_str = domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")
|
||||||
@@ -406,8 +406,8 @@ if USE_DIRECT_LIST == "1" and is_file_nonzero(file_direct_host) then
|
|||||||
string.format("domain-set -name %s -file %s", domain_set_name, file_direct_host)
|
string.format("domain-set -name %s -file %s", domain_set_name, file_direct_host)
|
||||||
}
|
}
|
||||||
local sets = {
|
local sets = {
|
||||||
"#4:" .. setflag .. "passwall_white",
|
"#4:" .. setflag .. "psw_white",
|
||||||
"#6:" .. setflag .. "passwall_white6"
|
"#6:" .. setflag .. "psw_white6"
|
||||||
}
|
}
|
||||||
local domain_rules_str = string.format('domain-rules /domain-set:%s/ %s', domain_set_name, LOCAL_GROUP and "-nameserver " .. LOCAL_GROUP or "")
|
local domain_rules_str = string.format('domain-rules /domain-set:%s/ %s', domain_set_name, LOCAL_GROUP and "-nameserver " .. LOCAL_GROUP or "")
|
||||||
domain_rules_str = domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")
|
domain_rules_str = domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")
|
||||||
@@ -457,14 +457,14 @@ if USE_PROXY_LIST == "1" and is_file_nonzero(file_proxy_host) then
|
|||||||
domain_rules_str = domain_rules_str .. " -speed-check-mode none"
|
domain_rules_str = domain_rules_str .. " -speed-check-mode none"
|
||||||
domain_rules_str = domain_rules_str .. " -no-serve-expired"
|
domain_rules_str = domain_rules_str .. " -no-serve-expired"
|
||||||
local sets = {
|
local sets = {
|
||||||
"#4:" .. setflag .. "passwall_black"
|
"#4:" .. setflag .. "psw_black"
|
||||||
}
|
}
|
||||||
if NO_PROXY_IPV6 == "1" then
|
if NO_PROXY_IPV6 == "1" then
|
||||||
domain_rules_str = domain_rules_str .. " -address #6"
|
domain_rules_str = domain_rules_str .. " -address #6"
|
||||||
domain_rules_str = REMOTE_FAKEDNS ~= "1" and (domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")) or domain_rules_str
|
domain_rules_str = REMOTE_FAKEDNS ~= "1" and (domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")) or domain_rules_str
|
||||||
else
|
else
|
||||||
domain_rules_str = domain_rules_str .. " -address -6"
|
domain_rules_str = domain_rules_str .. " -address -6"
|
||||||
table.insert(sets, "#6:" .. setflag .. "passwall_black6")
|
table.insert(sets, "#6:" .. setflag .. "psw_black6")
|
||||||
domain_rules_str = REMOTE_FAKEDNS ~= "1" and (domain_rules_str .. " -d no " .. set_type .. " " .. table.concat(sets, ",")) or domain_rules_str
|
domain_rules_str = REMOTE_FAKEDNS ~= "1" and (domain_rules_str .. " -d no " .. set_type .. " " .. table.concat(sets, ",")) or domain_rules_str
|
||||||
end
|
end
|
||||||
table.insert(tmp_lines, domain_rules_str)
|
table.insert(tmp_lines, domain_rules_str)
|
||||||
@@ -482,14 +482,14 @@ if USE_GFW_LIST == "1" and is_file_nonzero(RULES_PATH .. "/gfwlist") then
|
|||||||
domain_rules_str = domain_rules_str .. " -speed-check-mode none"
|
domain_rules_str = domain_rules_str .. " -speed-check-mode none"
|
||||||
domain_rules_str = domain_rules_str .. " -no-serve-expired"
|
domain_rules_str = domain_rules_str .. " -no-serve-expired"
|
||||||
local sets = {
|
local sets = {
|
||||||
"#4:" .. setflag .. "passwall_gfw"
|
"#4:" .. setflag .. "psw_gfw"
|
||||||
}
|
}
|
||||||
if NO_PROXY_IPV6 == "1" then
|
if NO_PROXY_IPV6 == "1" then
|
||||||
domain_rules_str = domain_rules_str .. " -address #6"
|
domain_rules_str = domain_rules_str .. " -address #6"
|
||||||
domain_rules_str = REMOTE_FAKEDNS ~= "1" and (domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")) or domain_rules_str
|
domain_rules_str = REMOTE_FAKEDNS ~= "1" and (domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")) or domain_rules_str
|
||||||
else
|
else
|
||||||
domain_rules_str = domain_rules_str .. " -address -6"
|
domain_rules_str = domain_rules_str .. " -address -6"
|
||||||
table.insert(sets, "#6:" .. setflag .. "passwall_gfw6")
|
table.insert(sets, "#6:" .. setflag .. "psw_gfw6")
|
||||||
domain_rules_str = REMOTE_FAKEDNS ~= "1" and (domain_rules_str .. " -d no " .. set_type .. " " .. table.concat(sets, ",")) or domain_rules_str
|
domain_rules_str = REMOTE_FAKEDNS ~= "1" and (domain_rules_str .. " -d no " .. set_type .. " " .. table.concat(sets, ",")) or domain_rules_str
|
||||||
end
|
end
|
||||||
table.insert(tmp_lines, domain_rules_str)
|
table.insert(tmp_lines, domain_rules_str)
|
||||||
@@ -506,8 +506,8 @@ if CHN_LIST ~= "0" and is_file_nonzero(RULES_PATH .. "/chnlist") then
|
|||||||
|
|
||||||
if CHN_LIST == "direct" then
|
if CHN_LIST == "direct" then
|
||||||
local sets = {
|
local sets = {
|
||||||
"#4:" .. setflag .. "passwall_chn",
|
"#4:" .. setflag .. "psw_chn",
|
||||||
"#6:" .. setflag .. "passwall_chn6"
|
"#6:" .. setflag .. "psw_chn6"
|
||||||
}
|
}
|
||||||
local domain_rules_str = string.format('domain-rules /domain-set:%s/ %s', domain_set_name, LOCAL_GROUP and "-nameserver " .. LOCAL_GROUP or "")
|
local domain_rules_str = string.format('domain-rules /domain-set:%s/ %s', domain_set_name, LOCAL_GROUP and "-nameserver " .. LOCAL_GROUP or "")
|
||||||
domain_rules_str = domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")
|
domain_rules_str = domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")
|
||||||
@@ -523,14 +523,14 @@ if CHN_LIST ~= "0" and is_file_nonzero(RULES_PATH .. "/chnlist") then
|
|||||||
domain_rules_str = domain_rules_str .. " -speed-check-mode none"
|
domain_rules_str = domain_rules_str .. " -speed-check-mode none"
|
||||||
domain_rules_str = domain_rules_str .. " -no-serve-expired"
|
domain_rules_str = domain_rules_str .. " -no-serve-expired"
|
||||||
local sets = {
|
local sets = {
|
||||||
"#4:" .. setflag .. "passwall_chn"
|
"#4:" .. setflag .. "psw_chn"
|
||||||
}
|
}
|
||||||
if NO_PROXY_IPV6 == "1" then
|
if NO_PROXY_IPV6 == "1" then
|
||||||
domain_rules_str = domain_rules_str .. " -address #6"
|
domain_rules_str = domain_rules_str .. " -address #6"
|
||||||
domain_rules_str = REMOTE_FAKEDNS ~= "1" and (domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")) or domain_rules_str
|
domain_rules_str = REMOTE_FAKEDNS ~= "1" and (domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")) or domain_rules_str
|
||||||
else
|
else
|
||||||
domain_rules_str = domain_rules_str .. " -address -6"
|
domain_rules_str = domain_rules_str .. " -address -6"
|
||||||
table.insert(sets, "#6:" .. setflag .. "passwall_chn6")
|
table.insert(sets, "#6:" .. setflag .. "psw_chn6")
|
||||||
domain_rules_str = REMOTE_FAKEDNS ~= "1" and (domain_rules_str .. " -d no " .. set_type .. " " .. table.concat(sets, ",")) or domain_rules_str
|
domain_rules_str = REMOTE_FAKEDNS ~= "1" and (domain_rules_str .. " -d no " .. set_type .. " " .. table.concat(sets, ",")) or domain_rules_str
|
||||||
end
|
end
|
||||||
table.insert(tmp_lines, domain_rules_str)
|
table.insert(tmp_lines, domain_rules_str)
|
||||||
@@ -631,14 +631,14 @@ if IS_SHUNT_NODE then
|
|||||||
local domain_rules_str = string.format('domain-rules /domain-set:%s/ %s', domain_set_name, LOCAL_GROUP and "-nameserver " .. LOCAL_GROUP or "")
|
local domain_rules_str = string.format('domain-rules /domain-set:%s/ %s', domain_set_name, LOCAL_GROUP and "-nameserver " .. LOCAL_GROUP or "")
|
||||||
if USE_DIRECT_LIST == "1" then
|
if USE_DIRECT_LIST == "1" then
|
||||||
local sets = {
|
local sets = {
|
||||||
"#4:" .. setflag .. "passwall_white",
|
"#4:" .. setflag .. "psw_white",
|
||||||
"#6:" .. setflag .. "passwall_white6"
|
"#6:" .. setflag .. "psw_white6"
|
||||||
}
|
}
|
||||||
domain_rules_str = domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")
|
domain_rules_str = domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")
|
||||||
else
|
else
|
||||||
local sets = {
|
local sets = {
|
||||||
"#4:" .. setflag .. "passwall_shunt",
|
"#4:" .. setflag .. "psw_shunt",
|
||||||
"#6:" .. setflag .. "passwall_shunt6"
|
"#6:" .. setflag .. "psw_shunt6"
|
||||||
}
|
}
|
||||||
domain_rules_str = domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")
|
domain_rules_str = domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")
|
||||||
end
|
end
|
||||||
@@ -656,7 +656,7 @@ if IS_SHUNT_NODE then
|
|||||||
domain_rules_str = domain_rules_str .. " -speed-check-mode none"
|
domain_rules_str = domain_rules_str .. " -speed-check-mode none"
|
||||||
domain_rules_str = domain_rules_str .. " -no-serve-expired"
|
domain_rules_str = domain_rules_str .. " -no-serve-expired"
|
||||||
local sets = {
|
local sets = {
|
||||||
"#4:" .. setflag .. "passwall_shunt"
|
"#4:" .. setflag .. "psw_shunt"
|
||||||
}
|
}
|
||||||
if NO_PROXY_IPV6 == "1" then
|
if NO_PROXY_IPV6 == "1" then
|
||||||
domain_rules_str = domain_rules_str .. " -address #6"
|
domain_rules_str = domain_rules_str .. " -address #6"
|
||||||
@@ -665,7 +665,7 @@ if IS_SHUNT_NODE then
|
|||||||
or (domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ","))
|
or (domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ","))
|
||||||
else
|
else
|
||||||
domain_rules_str = domain_rules_str .. " -address -6"
|
domain_rules_str = domain_rules_str .. " -address -6"
|
||||||
table.insert(sets, "#6:" .. setflag .. "passwall_shunt6")
|
table.insert(sets, "#6:" .. setflag .. "psw_shunt6")
|
||||||
domain_rules_str = (not only_global and REMOTE_FAKEDNS == "1")
|
domain_rules_str = (not only_global and REMOTE_FAKEDNS == "1")
|
||||||
and domain_rules_str
|
and domain_rules_str
|
||||||
or (domain_rules_str .. " -d no " .. set_type .. " " .. table.concat(sets, ","))
|
or (domain_rules_str .. " -d no " .. set_type .. " " .. table.concat(sets, ","))
|
||||||
|
|||||||
@@ -3,27 +3,27 @@
|
|||||||
DIR="$(cd "$(dirname "$0")" && pwd)"
|
DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
MY_PATH=$DIR/iptables.sh
|
MY_PATH=$DIR/iptables.sh
|
||||||
UTILS_PATH=$DIR/utils.sh
|
UTILS_PATH=$DIR/utils.sh
|
||||||
IPSET_LOCAL="passwall_local"
|
IPSET_LOCAL="psw_local"
|
||||||
IPSET_WAN="passwall_wan"
|
IPSET_WAN="psw_wan"
|
||||||
IPSET_LAN="passwall_lan"
|
IPSET_LAN="psw_lan"
|
||||||
IPSET_VPS="passwall_vps"
|
IPSET_VPS="psw_vps"
|
||||||
IPSET_SHUNT="passwall_shunt"
|
IPSET_SHUNT="psw_shunt"
|
||||||
IPSET_GFW="passwall_gfw"
|
IPSET_GFW="psw_gfw"
|
||||||
IPSET_CHN="passwall_chn"
|
IPSET_CHN="psw_chn"
|
||||||
IPSET_BLACK="passwall_black"
|
IPSET_BLACK="psw_black"
|
||||||
IPSET_WHITE="passwall_white"
|
IPSET_WHITE="psw_white"
|
||||||
IPSET_BLOCK="passwall_block"
|
IPSET_BLOCK="psw_block"
|
||||||
|
|
||||||
IPSET_LOCAL6="passwall_local6"
|
IPSET_LOCAL6="psw_local6"
|
||||||
IPSET_WAN6="passwall_wan6"
|
IPSET_WAN6="psw_wan6"
|
||||||
IPSET_LAN6="passwall_lan6"
|
IPSET_LAN6="psw_lan6"
|
||||||
IPSET_VPS6="passwall_vps6"
|
IPSET_VPS6="psw_vps6"
|
||||||
IPSET_SHUNT6="passwall_shunt6"
|
IPSET_SHUNT6="psw_shunt6"
|
||||||
IPSET_GFW6="passwall_gfw6"
|
IPSET_GFW6="psw_gfw6"
|
||||||
IPSET_CHN6="passwall_chn6"
|
IPSET_CHN6="psw_chn6"
|
||||||
IPSET_BLACK6="passwall_black6"
|
IPSET_BLACK6="psw_black6"
|
||||||
IPSET_WHITE6="passwall_white6"
|
IPSET_WHITE6="psw_white6"
|
||||||
IPSET_BLOCK6="passwall_block6"
|
IPSET_BLOCK6="psw_block6"
|
||||||
|
|
||||||
USE_SHUNT_TCP=0
|
USE_SHUNT_TCP=0
|
||||||
USE_SHUNT_UDP=0
|
USE_SHUNT_UDP=0
|
||||||
@@ -365,24 +365,24 @@ load_acl() {
|
|||||||
if ([ -n "$tcp_port" ] && [ -n "${tcp_proxy_mode}" ]) || ([ -n "$udp_port" ] && [ -n "${udp_proxy_mode}" ]); then
|
if ([ -n "$tcp_port" ] && [ -n "${tcp_proxy_mode}" ]) || ([ -n "$udp_port" ] && [ -n "${udp_proxy_mode}" ]); then
|
||||||
[ "${use_proxy_list}" = "1" ] && {
|
[ "${use_proxy_list}" = "1" ] && {
|
||||||
[ "${use_global_config}" = "0" ] && {
|
[ "${use_global_config}" = "0" ] && {
|
||||||
black_set_name="passwall_${sid}_black"
|
black_set_name="psw_${sid}_black"
|
||||||
black6_set_name="passwall_${sid}_black6"
|
black6_set_name="psw_${sid}_black6"
|
||||||
ipset -! create $black_set_name nethash maxelem 1048576 timeout 172800
|
ipset -! create $black_set_name nethash maxelem 1048576 timeout 172800
|
||||||
ipset -! create $black6_set_name nethash family inet6 maxelem 1048576 timeout 172800
|
ipset -! create $black6_set_name nethash family inet6 maxelem 1048576 timeout 172800
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[ "${use_gfw_list}" = "1" ] && {
|
[ "${use_gfw_list}" = "1" ] && {
|
||||||
[ "${use_global_config}" = "0" ] && {
|
[ "${use_global_config}" = "0" ] && {
|
||||||
gfw_set_name="passwall_${sid}_gfw"
|
gfw_set_name="psw_${sid}_gfw"
|
||||||
gfw6_set_name="passwall_${sid}_gfw6"
|
gfw6_set_name="psw_${sid}_gfw6"
|
||||||
ipset -! create $gfw_set_name nethash maxelem 1048576 timeout 172800
|
ipset -! create $gfw_set_name nethash maxelem 1048576 timeout 172800
|
||||||
ipset -! create $gfw6_set_name nethash family inet6 maxelem 1048576 timeout 172800
|
ipset -! create $gfw6_set_name nethash family inet6 maxelem 1048576 timeout 172800
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[ "${use_shunt_tcp}" = "1" -o "${use_shunt_udp}" = "1" ] && {
|
[ "${use_shunt_tcp}" = "1" -o "${use_shunt_udp}" = "1" ] && {
|
||||||
[ "${use_global_config}" = "0" ] && {
|
[ "${use_global_config}" = "0" ] && {
|
||||||
shunt_set_name="passwall_${sid}_shunt"
|
shunt_set_name="psw_${sid}_shunt"
|
||||||
shunt6_set_name="passwall_${sid}_shunt6"
|
shunt6_set_name="psw_${sid}_shunt6"
|
||||||
ipset -! create $shunt_set_name nethash maxelem 1048576 timeout 172800
|
ipset -! create $shunt_set_name nethash maxelem 1048576 timeout 172800
|
||||||
ipset -! create $shunt6_set_name nethash family inet6 maxelem 1048576 timeout 172800
|
ipset -! create $shunt6_set_name nethash family inet6 maxelem 1048576 timeout 172800
|
||||||
}
|
}
|
||||||
@@ -1400,7 +1400,7 @@ del_firewall_rule() {
|
|||||||
|
|
||||||
flush_ipset() {
|
flush_ipset() {
|
||||||
echolog "清空 IPSet。"
|
echolog "清空 IPSet。"
|
||||||
for _name in $(ipset list | grep "Name: " | grep "passwall_" | awk '{print $2}'); do
|
for _name in $(ipset list | grep "Name: " | grep "psw_" | awk '{print $2}'); do
|
||||||
destroy_ipset ${_name}
|
destroy_ipset ${_name}
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,27 +4,27 @@ DIR="$(cd "$(dirname "$0")" && pwd)"
|
|||||||
MY_PATH=$DIR/nftables.sh
|
MY_PATH=$DIR/nftables.sh
|
||||||
UTILS_PATH=$DIR/utils.sh
|
UTILS_PATH=$DIR/utils.sh
|
||||||
NFTABLE_NAME="inet passwall"
|
NFTABLE_NAME="inet passwall"
|
||||||
NFTSET_LOCAL="passwall_local"
|
NFTSET_LOCAL="psw_local"
|
||||||
NFTSET_WAN="passwall_wan"
|
NFTSET_WAN="psw_wan"
|
||||||
NFTSET_LAN="passwall_lan"
|
NFTSET_LAN="psw_lan"
|
||||||
NFTSET_VPS="passwall_vps"
|
NFTSET_VPS="psw_vps"
|
||||||
NFTSET_SHUNT="passwall_shunt"
|
NFTSET_SHUNT="psw_shunt"
|
||||||
NFTSET_GFW="passwall_gfw"
|
NFTSET_GFW="psw_gfw"
|
||||||
NFTSET_CHN="passwall_chn"
|
NFTSET_CHN="psw_chn"
|
||||||
NFTSET_BLACK="passwall_black"
|
NFTSET_BLACK="psw_black"
|
||||||
NFTSET_WHITE="passwall_white"
|
NFTSET_WHITE="psw_white"
|
||||||
NFTSET_BLOCK="passwall_block"
|
NFTSET_BLOCK="psw_block"
|
||||||
|
|
||||||
NFTSET_LOCAL6="passwall_local6"
|
NFTSET_LOCAL6="psw_local6"
|
||||||
NFTSET_WAN6="passwall_wan6"
|
NFTSET_WAN6="psw_wan6"
|
||||||
NFTSET_LAN6="passwall_lan6"
|
NFTSET_LAN6="psw_lan6"
|
||||||
NFTSET_VPS6="passwall_vps6"
|
NFTSET_VPS6="psw_vps6"
|
||||||
NFTSET_SHUNT6="passwall_shunt6"
|
NFTSET_SHUNT6="psw_shunt6"
|
||||||
NFTSET_GFW6="passwall_gfw6"
|
NFTSET_GFW6="psw_gfw6"
|
||||||
NFTSET_CHN6="passwall_chn6"
|
NFTSET_CHN6="psw_chn6"
|
||||||
NFTSET_BLACK6="passwall_black6"
|
NFTSET_BLACK6="psw_black6"
|
||||||
NFTSET_WHITE6="passwall_white6"
|
NFTSET_WHITE6="psw_white6"
|
||||||
NFTSET_BLOCK6="passwall_block6"
|
NFTSET_BLOCK6="psw_block6"
|
||||||
|
|
||||||
USE_SHUNT_TCP=0
|
USE_SHUNT_TCP=0
|
||||||
USE_SHUNT_UDP=0
|
USE_SHUNT_UDP=0
|
||||||
@@ -395,24 +395,24 @@ load_acl() {
|
|||||||
if ([ -n "$tcp_port" ] && [ -n "${tcp_proxy_mode}" ]) || ([ -n "$udp_port" ] && [ -n "${udp_proxy_mode}" ]); then
|
if ([ -n "$tcp_port" ] && [ -n "${tcp_proxy_mode}" ]) || ([ -n "$udp_port" ] && [ -n "${udp_proxy_mode}" ]); then
|
||||||
[ "${use_proxy_list}" = "1" ] && {
|
[ "${use_proxy_list}" = "1" ] && {
|
||||||
[ "${use_global_config}" = "0" ] && {
|
[ "${use_global_config}" = "0" ] && {
|
||||||
black_set_name="passwall_${sid}_black"
|
black_set_name="psw_${sid}_black"
|
||||||
black6_set_name="passwall_${sid}_black6"
|
black6_set_name="psw_${sid}_black6"
|
||||||
gen_nftset $black_set_name ipv4_addr "2d" 0
|
gen_nftset $black_set_name ipv4_addr "2d" 0
|
||||||
gen_nftset $black6_set_name ipv6_addr "2d" 0
|
gen_nftset $black6_set_name ipv6_addr "2d" 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[ "${use_gfw_list}" = "1" ] && {
|
[ "${use_gfw_list}" = "1" ] && {
|
||||||
[ "${use_global_config}" = "0" ] && {
|
[ "${use_global_config}" = "0" ] && {
|
||||||
gfw_set_name="passwall_${sid}_gfw"
|
gfw_set_name="psw_${sid}_gfw"
|
||||||
gfw6_set_name="passwall_${sid}_gfw6"
|
gfw6_set_name="psw_${sid}_gfw6"
|
||||||
gen_nftset $gfw_set_name ipv4_addr "2d" 0
|
gen_nftset $gfw_set_name ipv4_addr "2d" 0
|
||||||
gen_nftset $gfw6_set_name ipv6_addr "2d" 0
|
gen_nftset $gfw6_set_name ipv6_addr "2d" 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[ "${use_shunt_tcp}" = "1" -o "${use_shunt_udp}" = "1" ] && {
|
[ "${use_shunt_tcp}" = "1" -o "${use_shunt_udp}" = "1" ] && {
|
||||||
[ "${use_global_config}" = "0" ] && {
|
[ "${use_global_config}" = "0" ] && {
|
||||||
shunt_set_name="passwall_${sid}_shunt"
|
shunt_set_name="psw_${sid}_shunt"
|
||||||
shunt6_set_name="passwall_${sid}_shunt6"
|
shunt6_set_name="psw_${sid}_shunt6"
|
||||||
gen_nftset $shunt_set_name ipv4_addr "2d" 0
|
gen_nftset $shunt_set_name ipv4_addr "2d" 0
|
||||||
gen_nftset $shunt6_set_name ipv6_addr "2d" 0
|
gen_nftset $shunt6_set_name ipv6_addr "2d" 0
|
||||||
}
|
}
|
||||||
@@ -1462,7 +1462,7 @@ del_firewall_rule() {
|
|||||||
|
|
||||||
flush_nftset() {
|
flush_nftset() {
|
||||||
echolog "清空 NFTSet。"
|
echolog "清空 NFTSet。"
|
||||||
for _name in $(nft -a list sets | grep -E "passwall_" | awk -F 'set ' '{print $2}' | awk '{print $1}'); do
|
for _name in $(nft -a list sets | grep -E "psw_" | awk -F 'set ' '{print $2}' | awk '{print $1}'); do
|
||||||
destroy_nftset ${_name}
|
destroy_nftset ${_name}
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -506,9 +506,9 @@ local function fetch_rule(rule_name, rule_type, url, exclude_domain, max_retries
|
|||||||
if old_md5 ~= new_md5 then
|
if old_md5 ~= new_md5 then
|
||||||
if api.is_finded("fw4") and (rule_type == "ip4" or rule_type == "ip6") then
|
if api.is_finded("fw4") and (rule_type == "ip4" or rule_type == "ip6") then
|
||||||
local nft_file = file_tmp .. ".nft"
|
local nft_file = file_tmp .. ".nft"
|
||||||
local set_name = "passwall_" .. rule_name
|
local set_name = "psw_" .. rule_name
|
||||||
if rule_name == "chnroute" then set_name = "passwall_chn"
|
if rule_name == "chnroute" then set_name = "psw_chn"
|
||||||
elseif rule_name == "chnroute6" then set_name = "passwall_chn6" end
|
elseif rule_name == "chnroute6" then set_name = "psw_chn6" end
|
||||||
|
|
||||||
local addr_type = (rule_type == "ip4") and "ipv4_addr" or "ipv6_addr"
|
local addr_type = (rule_type == "ip4") and "ipv4_addr" or "ipv6_addr"
|
||||||
gen_cache(set_name, addr_type, file_tmp, nft_file)
|
gen_cache(set_name, addr_type, file_tmp, nft_file)
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=shadowsocksr-libev
|
PKG_NAME:=shadowsocksr-libev
|
||||||
PKG_VERSION:=2.5.6
|
PKG_VERSION:=2.5.6
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL:=https://github.com/shadowsocksrr/shadowsocksr-libev
|
PKG_SOURCE_URL:=https://github.com/shadowsocksrr/shadowsocksr-libev
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ stat_update_cb(EV_P_ ev_timer *watcher, int revents)
|
|||||||
|
|
||||||
memset(&svaddr, 0, sizeof(struct sockaddr_un));
|
memset(&svaddr, 0, sizeof(struct sockaddr_un));
|
||||||
svaddr.sun_family = AF_UNIX;
|
svaddr.sun_family = AF_UNIX;
|
||||||
strncpy(svaddr.sun_path, manager_address, sizeof(svaddr.sun_path) - 1);
|
snprintf(svaddr.sun_path, sizeof(svaddr.sun_path), "%s", manager_address);
|
||||||
|
|
||||||
if (sendto(sfd, resp, strlen(resp) + 1, 0, (struct sockaddr *)&svaddr,
|
if (sendto(sfd, resp, strlen(resp) + 1, 0, (struct sockaddr *)&svaddr,
|
||||||
sizeof(struct sockaddr_un)) != msgLen) {
|
sizeof(struct sockaddr_un)) != msgLen) {
|
||||||
@@ -684,6 +684,11 @@ server_recv_cb(EV_P_ ev_io *w, int revents)
|
|||||||
if(obfs_compatible == 1)
|
if(obfs_compatible == 1)
|
||||||
{
|
{
|
||||||
char *back_buf = (char*)malloc(sizeof(buffer_t));
|
char *back_buf = (char*)malloc(sizeof(buffer_t));
|
||||||
|
if (back_buf == NULL) {
|
||||||
|
close_and_free_remote(EV_A_ remote);
|
||||||
|
close_and_free_server(EV_A_ server);
|
||||||
|
return;
|
||||||
|
}
|
||||||
memcpy(back_buf, buf, sizeof(buffer_t));
|
memcpy(back_buf, buf, sizeof(buffer_t));
|
||||||
buf->len = obfs_plugin->server_decode(server->obfs, &buf->array, buf->len, &buf->capacity, &needsendback);
|
buf->len = obfs_plugin->server_decode(server->obfs, &buf->array, buf->len, &buf->capacity, &needsendback);
|
||||||
|
|
||||||
@@ -792,7 +797,11 @@ server_recv_cb(EV_P_ ev_io *w, int revents)
|
|||||||
|
|
||||||
if (server->stage == STAGE_HANDSHAKE) {
|
if (server->stage == STAGE_HANDSHAKE) {
|
||||||
size_t header_len = server->header_buf->len;
|
size_t header_len = server->header_buf->len;
|
||||||
brealloc(server->header_buf, server->buf->len + header_len, BUF_SIZE);
|
if (brealloc(server->header_buf, server->buf->len + header_len, BUF_SIZE) != 0) {
|
||||||
|
close_and_free_remote(EV_A_ remote);
|
||||||
|
close_and_free_server(EV_A_ server);
|
||||||
|
return;
|
||||||
|
}
|
||||||
memcpy(server->header_buf->array + header_len,
|
memcpy(server->header_buf->array + header_len,
|
||||||
server->buf->array, server->buf->len);
|
server->buf->array, server->buf->len);
|
||||||
server->header_buf->len = server->buf->len + header_len;
|
server->header_buf->len = server->buf->len + header_len;
|
||||||
|
|||||||
@@ -5,8 +5,8 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=tuic-client
|
PKG_NAME:=tuic-client
|
||||||
PKG_VERSION:=1.8.2
|
PKG_VERSION:=1.8.3
|
||||||
PKG_RELEASE:=5
|
PKG_RELEASE:=6
|
||||||
|
|
||||||
PKG_LICENSE_FILES:=LICENSE
|
PKG_LICENSE_FILES:=LICENSE
|
||||||
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
||||||
|
|||||||
Reference in new issue
Block a user