mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-07-27 02:11:19 +08:00
✨ Sync 2026-05-20 00:34:17
This commit is contained in:
parent
9a2ef6ebbc
commit
75dd89aac0
@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=luci-app-passwall
|
||||
PKG_VERSION:=26.5.11
|
||||
PKG_RELEASE:=128
|
||||
PKG_RELEASE:=129
|
||||
PKG_PO_VERSION:=$(PKG_VERSION)
|
||||
|
||||
PKG_CONFIG_DEPENDS:= \
|
||||
|
||||
@ -194,8 +194,8 @@ if not is_file_nonzero(file_vpslist) then
|
||||
end
|
||||
if is_file_nonzero(file_vpslist) then
|
||||
local sets = {
|
||||
setflag .. "passwall_vps",
|
||||
setflag .. "passwall_vps6"
|
||||
setflag .. "psw_vps",
|
||||
setflag .. "psw_vps6"
|
||||
}
|
||||
tmp_lines = {
|
||||
"group vpslist",
|
||||
@ -240,8 +240,8 @@ if USE_DIRECT_LIST == "1" and not fs.access(file_direct_host) then
|
||||
end
|
||||
if USE_DIRECT_LIST == "1" and is_file_nonzero(file_direct_host) then
|
||||
local sets = {
|
||||
setflag .. "passwall_white",
|
||||
setflag .. "passwall_white6"
|
||||
setflag .. "psw_white",
|
||||
setflag .. "psw_white6"
|
||||
}
|
||||
tmp_lines = {
|
||||
"group directlist",
|
||||
@ -286,13 +286,13 @@ if USE_PROXY_LIST == "1" and not fs.access(file_proxy_host) then
|
||||
end
|
||||
if USE_PROXY_LIST == "1" and is_file_nonzero(file_proxy_host) then
|
||||
local sets = {
|
||||
setflag .. "passwall_black",
|
||||
setflag .. "passwall_black6"
|
||||
setflag .. "psw_black",
|
||||
setflag .. "psw_black6"
|
||||
}
|
||||
if FLAG ~= "default" then
|
||||
sets = {
|
||||
setflag .. "passwall_" .. FLAG .. "_black",
|
||||
setflag .. "passwall_" .. FLAG .. "_black6"
|
||||
setflag .. "psw_" .. FLAG .. "_black",
|
||||
setflag .. "psw_" .. FLAG .. "_black6"
|
||||
}
|
||||
end
|
||||
tmp_lines = {
|
||||
@ -310,13 +310,13 @@ end
|
||||
--GFW列表
|
||||
if GFWLIST == "1" and is_file_nonzero(RULES_PATH .. "/gfwlist") then
|
||||
local sets = {
|
||||
setflag .. "passwall_gfw",
|
||||
setflag .. "passwall_gfw6"
|
||||
setflag .. "psw_gfw",
|
||||
setflag .. "psw_gfw6"
|
||||
}
|
||||
if FLAG ~= "default" then
|
||||
sets = {
|
||||
setflag .. "passwall_" .. FLAG .. "_gfw",
|
||||
setflag .. "passwall_" .. FLAG .. "_gfw6"
|
||||
setflag .. "psw_" .. FLAG .. "_gfw",
|
||||
setflag .. "psw_" .. FLAG .. "_gfw6"
|
||||
}
|
||||
end
|
||||
tmp_lines = {
|
||||
@ -333,8 +333,8 @@ if CHNLIST ~= "0" and is_file_nonzero(RULES_PATH .. "/chnlist") then
|
||||
if CHNLIST == "direct" then
|
||||
tmp_lines = {
|
||||
"chnlist-file " .. RULES_PATH .. "/chnlist",
|
||||
"ipset-name4 " .. setflag .. "passwall_chn",
|
||||
"ipset-name6 " .. setflag .. "passwall_chn6",
|
||||
"ipset-name4 " .. setflag .. "psw_chn",
|
||||
"ipset-name6 " .. setflag .. "psw_chn6",
|
||||
"add-tagchn-ip",
|
||||
"chnlist-first"
|
||||
}
|
||||
@ -345,8 +345,8 @@ if CHNLIST ~= "0" and is_file_nonzero(RULES_PATH .. "/chnlist") then
|
||||
--回中国模式
|
||||
if CHNLIST == "proxy" then
|
||||
local sets = {
|
||||
setflag .. "passwall_chn",
|
||||
setflag .. "passwall_chn6"
|
||||
setflag .. "psw_chn",
|
||||
setflag .. "psw_chn6"
|
||||
}
|
||||
tmp_lines = {
|
||||
"group chn_proxy",
|
||||
@ -445,13 +445,13 @@ if IS_SHUNT_NODE then
|
||||
end
|
||||
|
||||
local sets = {
|
||||
setflag .. "passwall_shunt",
|
||||
setflag .. "passwall_shunt6"
|
||||
setflag .. "psw_shunt",
|
||||
setflag .. "psw_shunt6"
|
||||
}
|
||||
if FLAG ~= "default" then
|
||||
sets = {
|
||||
setflag .. "passwall_" .. FLAG .. "_shunt",
|
||||
setflag .. "passwall_" .. FLAG .. "_shunt6"
|
||||
setflag .. "psw_" .. FLAG .. "_shunt",
|
||||
setflag .. "psw_" .. FLAG .. "_shunt6"
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
@ -372,8 +372,8 @@ function add_rule(var)
|
||||
fwd_dns = nil
|
||||
else
|
||||
local sets = {
|
||||
setflag_4 .. "passwall_vps",
|
||||
setflag_6 .. "passwall_vps6"
|
||||
setflag_4 .. "psw_vps",
|
||||
setflag_6 .. "psw_vps6"
|
||||
}
|
||||
local function process_address(address)
|
||||
address = (address or ""):lower()
|
||||
@ -406,8 +406,8 @@ function add_rule(var)
|
||||
end
|
||||
if fwd_dns then
|
||||
local sets = {
|
||||
setflag_4 .. "passwall_white",
|
||||
setflag_6 .. "passwall_white6"
|
||||
setflag_4 .. "psw_white",
|
||||
setflag_6 .. "psw_white6"
|
||||
}
|
||||
--始终用国内DNS解析直连(白名单)列表
|
||||
for line in io.lines("/usr/share/passwall/rules/direct_host") do
|
||||
@ -431,11 +431,11 @@ function add_rule(var)
|
||||
fwd_dns = nil
|
||||
end
|
||||
if fwd_dns then
|
||||
local set_name = "passwall_black"
|
||||
local set6_name = "passwall_black6"
|
||||
local set_name = "psw_black"
|
||||
local set6_name = "psw_black6"
|
||||
if FLAG ~= "default" then
|
||||
set_name = "passwall_" .. FLAG .. "_black"
|
||||
set6_name = "passwall_" .. FLAG .. "_black6"
|
||||
set_name = "psw_" .. FLAG .. "_black"
|
||||
set6_name = "psw_" .. FLAG .. "_black6"
|
||||
end
|
||||
local sets = {
|
||||
setflag_4 .. set_name
|
||||
@ -471,11 +471,11 @@ function add_rule(var)
|
||||
fwd_dns = nil
|
||||
end
|
||||
if fwd_dns then
|
||||
local set_name = "passwall_gfw"
|
||||
local set6_name = "passwall_gfw6"
|
||||
local set_name = "psw_gfw"
|
||||
local set6_name = "psw_gfw6"
|
||||
if FLAG ~= "default" then
|
||||
set_name = "passwall_" .. FLAG .. "_gfw"
|
||||
set6_name = "passwall_" .. FLAG .. "_gfw6"
|
||||
set_name = "psw_" .. FLAG .. "_gfw"
|
||||
set6_name = "psw_" .. FLAG .. "_gfw6"
|
||||
end
|
||||
local sets = {
|
||||
setflag_4 .. set_name
|
||||
@ -519,13 +519,13 @@ function add_rule(var)
|
||||
end
|
||||
if fwd_dns then
|
||||
local sets = {
|
||||
setflag_4 .. "passwall_chn",
|
||||
setflag_6 .. "passwall_chn6"
|
||||
setflag_4 .. "psw_chn",
|
||||
setflag_6 .. "psw_chn6"
|
||||
}
|
||||
if CHN_LIST == "proxy" then
|
||||
if NO_PROXY_IPV6 == "1" then
|
||||
sets = {
|
||||
setflag_4 .. "passwall_chn"
|
||||
setflag_4 .. "psw_chn"
|
||||
}
|
||||
end
|
||||
if REMOTE_FAKEDNS == "1" then
|
||||
@ -569,24 +569,24 @@ function add_rule(var)
|
||||
if _node_id == "_direct" then
|
||||
fwd_dns = LOCAL_DNS
|
||||
if USE_DIRECT_LIST == "1" then
|
||||
table.insert(sets, setflag_4 .. "passwall_white")
|
||||
table.insert(sets, setflag_6 .. "passwall_white6")
|
||||
table.insert(sets, setflag_4 .. "psw_white")
|
||||
table.insert(sets, setflag_6 .. "psw_white6")
|
||||
else
|
||||
local set_name = "passwall_shunt"
|
||||
local set6_name = "passwall_shunt6"
|
||||
local set_name = "psw_shunt"
|
||||
local set6_name = "psw_shunt6"
|
||||
if FLAG ~= "default" then
|
||||
set_name = "passwall_" .. FLAG .. "_shunt"
|
||||
set6_name = "passwall_" .. FLAG .. "_shunt6"
|
||||
set_name = "psw_" .. FLAG .. "_shunt"
|
||||
set6_name = "psw_" .. FLAG .. "_shunt6"
|
||||
end
|
||||
table.insert(sets, setflag_4 .. set_name)
|
||||
table.insert(sets, setflag_6 .. set6_name)
|
||||
end
|
||||
else
|
||||
local set_name = "passwall_shunt"
|
||||
local set6_name = "passwall_shunt6"
|
||||
local set_name = "psw_shunt"
|
||||
local set6_name = "psw_shunt6"
|
||||
if FLAG ~= "default" then
|
||||
set_name = "passwall_" .. FLAG .. "_shunt"
|
||||
set6_name = "passwall_" .. FLAG .. "_shunt6"
|
||||
set_name = "psw_" .. FLAG .. "_shunt"
|
||||
set6_name = "psw_" .. FLAG .. "_shunt6"
|
||||
end
|
||||
fwd_dns = TUN_DNS
|
||||
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)
|
||||
}
|
||||
local sets = {
|
||||
"#4:" .. setflag .. "passwall_vps",
|
||||
"#6:" .. setflag .. "passwall_vps6"
|
||||
"#4:" .. setflag .. "psw_vps",
|
||||
"#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 "")
|
||||
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)
|
||||
}
|
||||
local sets = {
|
||||
"#4:" .. setflag .. "passwall_white",
|
||||
"#6:" .. setflag .. "passwall_white6"
|
||||
"#4:" .. setflag .. "psw_white",
|
||||
"#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 "")
|
||||
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 .. " -no-serve-expired"
|
||||
local sets = {
|
||||
"#4:" .. setflag .. "passwall_black"
|
||||
"#4:" .. setflag .. "psw_black"
|
||||
}
|
||||
if NO_PROXY_IPV6 == "1" then
|
||||
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
|
||||
else
|
||||
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
|
||||
end
|
||||
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 .. " -no-serve-expired"
|
||||
local sets = {
|
||||
"#4:" .. setflag .. "passwall_gfw"
|
||||
"#4:" .. setflag .. "psw_gfw"
|
||||
}
|
||||
if NO_PROXY_IPV6 == "1" then
|
||||
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
|
||||
else
|
||||
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
|
||||
end
|
||||
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
|
||||
local sets = {
|
||||
"#4:" .. setflag .. "passwall_chn",
|
||||
"#6:" .. setflag .. "passwall_chn6"
|
||||
"#4:" .. setflag .. "psw_chn",
|
||||
"#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 "")
|
||||
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 .. " -no-serve-expired"
|
||||
local sets = {
|
||||
"#4:" .. setflag .. "passwall_chn"
|
||||
"#4:" .. setflag .. "psw_chn"
|
||||
}
|
||||
if NO_PROXY_IPV6 == "1" then
|
||||
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
|
||||
else
|
||||
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
|
||||
end
|
||||
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 "")
|
||||
if USE_DIRECT_LIST == "1" then
|
||||
local sets = {
|
||||
"#4:" .. setflag .. "passwall_white",
|
||||
"#6:" .. setflag .. "passwall_white6"
|
||||
"#4:" .. setflag .. "psw_white",
|
||||
"#6:" .. setflag .. "psw_white6"
|
||||
}
|
||||
domain_rules_str = domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")
|
||||
else
|
||||
local sets = {
|
||||
"#4:" .. setflag .. "passwall_shunt",
|
||||
"#6:" .. setflag .. "passwall_shunt6"
|
||||
"#4:" .. setflag .. "psw_shunt",
|
||||
"#6:" .. setflag .. "psw_shunt6"
|
||||
}
|
||||
domain_rules_str = domain_rules_str .. " " .. set_type .. " " .. table.concat(sets, ",")
|
||||
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 .. " -no-serve-expired"
|
||||
local sets = {
|
||||
"#4:" .. setflag .. "passwall_shunt"
|
||||
"#4:" .. setflag .. "psw_shunt"
|
||||
}
|
||||
if NO_PROXY_IPV6 == "1" then
|
||||
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, ","))
|
||||
else
|
||||
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")
|
||||
and domain_rules_str
|
||||
or (domain_rules_str .. " -d no " .. set_type .. " " .. table.concat(sets, ","))
|
||||
|
||||
@ -3,27 +3,27 @@
|
||||
DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
MY_PATH=$DIR/iptables.sh
|
||||
UTILS_PATH=$DIR/utils.sh
|
||||
IPSET_LOCAL="passwall_local"
|
||||
IPSET_WAN="passwall_wan"
|
||||
IPSET_LAN="passwall_lan"
|
||||
IPSET_VPS="passwall_vps"
|
||||
IPSET_SHUNT="passwall_shunt"
|
||||
IPSET_GFW="passwall_gfw"
|
||||
IPSET_CHN="passwall_chn"
|
||||
IPSET_BLACK="passwall_black"
|
||||
IPSET_WHITE="passwall_white"
|
||||
IPSET_BLOCK="passwall_block"
|
||||
IPSET_LOCAL="psw_local"
|
||||
IPSET_WAN="psw_wan"
|
||||
IPSET_LAN="psw_lan"
|
||||
IPSET_VPS="psw_vps"
|
||||
IPSET_SHUNT="psw_shunt"
|
||||
IPSET_GFW="psw_gfw"
|
||||
IPSET_CHN="psw_chn"
|
||||
IPSET_BLACK="psw_black"
|
||||
IPSET_WHITE="psw_white"
|
||||
IPSET_BLOCK="psw_block"
|
||||
|
||||
IPSET_LOCAL6="passwall_local6"
|
||||
IPSET_WAN6="passwall_wan6"
|
||||
IPSET_LAN6="passwall_lan6"
|
||||
IPSET_VPS6="passwall_vps6"
|
||||
IPSET_SHUNT6="passwall_shunt6"
|
||||
IPSET_GFW6="passwall_gfw6"
|
||||
IPSET_CHN6="passwall_chn6"
|
||||
IPSET_BLACK6="passwall_black6"
|
||||
IPSET_WHITE6="passwall_white6"
|
||||
IPSET_BLOCK6="passwall_block6"
|
||||
IPSET_LOCAL6="psw_local6"
|
||||
IPSET_WAN6="psw_wan6"
|
||||
IPSET_LAN6="psw_lan6"
|
||||
IPSET_VPS6="psw_vps6"
|
||||
IPSET_SHUNT6="psw_shunt6"
|
||||
IPSET_GFW6="psw_gfw6"
|
||||
IPSET_CHN6="psw_chn6"
|
||||
IPSET_BLACK6="psw_black6"
|
||||
IPSET_WHITE6="psw_white6"
|
||||
IPSET_BLOCK6="psw_block6"
|
||||
|
||||
USE_SHUNT_TCP=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
|
||||
[ "${use_proxy_list}" = "1" ] && {
|
||||
[ "${use_global_config}" = "0" ] && {
|
||||
black_set_name="passwall_${sid}_black"
|
||||
black6_set_name="passwall_${sid}_black6"
|
||||
black_set_name="psw_${sid}_black"
|
||||
black6_set_name="psw_${sid}_black6"
|
||||
ipset -! create $black_set_name nethash maxelem 1048576 timeout 172800
|
||||
ipset -! create $black6_set_name nethash family inet6 maxelem 1048576 timeout 172800
|
||||
}
|
||||
}
|
||||
[ "${use_gfw_list}" = "1" ] && {
|
||||
[ "${use_global_config}" = "0" ] && {
|
||||
gfw_set_name="passwall_${sid}_gfw"
|
||||
gfw6_set_name="passwall_${sid}_gfw6"
|
||||
gfw_set_name="psw_${sid}_gfw"
|
||||
gfw6_set_name="psw_${sid}_gfw6"
|
||||
ipset -! create $gfw_set_name nethash 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_global_config}" = "0" ] && {
|
||||
shunt_set_name="passwall_${sid}_shunt"
|
||||
shunt6_set_name="passwall_${sid}_shunt6"
|
||||
shunt_set_name="psw_${sid}_shunt"
|
||||
shunt6_set_name="psw_${sid}_shunt6"
|
||||
ipset -! create $shunt_set_name nethash 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() {
|
||||
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}
|
||||
done
|
||||
}
|
||||
|
||||
@ -4,27 +4,27 @@ DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
MY_PATH=$DIR/nftables.sh
|
||||
UTILS_PATH=$DIR/utils.sh
|
||||
NFTABLE_NAME="inet passwall"
|
||||
NFTSET_LOCAL="passwall_local"
|
||||
NFTSET_WAN="passwall_wan"
|
||||
NFTSET_LAN="passwall_lan"
|
||||
NFTSET_VPS="passwall_vps"
|
||||
NFTSET_SHUNT="passwall_shunt"
|
||||
NFTSET_GFW="passwall_gfw"
|
||||
NFTSET_CHN="passwall_chn"
|
||||
NFTSET_BLACK="passwall_black"
|
||||
NFTSET_WHITE="passwall_white"
|
||||
NFTSET_BLOCK="passwall_block"
|
||||
NFTSET_LOCAL="psw_local"
|
||||
NFTSET_WAN="psw_wan"
|
||||
NFTSET_LAN="psw_lan"
|
||||
NFTSET_VPS="psw_vps"
|
||||
NFTSET_SHUNT="psw_shunt"
|
||||
NFTSET_GFW="psw_gfw"
|
||||
NFTSET_CHN="psw_chn"
|
||||
NFTSET_BLACK="psw_black"
|
||||
NFTSET_WHITE="psw_white"
|
||||
NFTSET_BLOCK="psw_block"
|
||||
|
||||
NFTSET_LOCAL6="passwall_local6"
|
||||
NFTSET_WAN6="passwall_wan6"
|
||||
NFTSET_LAN6="passwall_lan6"
|
||||
NFTSET_VPS6="passwall_vps6"
|
||||
NFTSET_SHUNT6="passwall_shunt6"
|
||||
NFTSET_GFW6="passwall_gfw6"
|
||||
NFTSET_CHN6="passwall_chn6"
|
||||
NFTSET_BLACK6="passwall_black6"
|
||||
NFTSET_WHITE6="passwall_white6"
|
||||
NFTSET_BLOCK6="passwall_block6"
|
||||
NFTSET_LOCAL6="psw_local6"
|
||||
NFTSET_WAN6="psw_wan6"
|
||||
NFTSET_LAN6="psw_lan6"
|
||||
NFTSET_VPS6="psw_vps6"
|
||||
NFTSET_SHUNT6="psw_shunt6"
|
||||
NFTSET_GFW6="psw_gfw6"
|
||||
NFTSET_CHN6="psw_chn6"
|
||||
NFTSET_BLACK6="psw_black6"
|
||||
NFTSET_WHITE6="psw_white6"
|
||||
NFTSET_BLOCK6="psw_block6"
|
||||
|
||||
USE_SHUNT_TCP=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
|
||||
[ "${use_proxy_list}" = "1" ] && {
|
||||
[ "${use_global_config}" = "0" ] && {
|
||||
black_set_name="passwall_${sid}_black"
|
||||
black6_set_name="passwall_${sid}_black6"
|
||||
black_set_name="psw_${sid}_black"
|
||||
black6_set_name="psw_${sid}_black6"
|
||||
gen_nftset $black_set_name ipv4_addr "2d" 0
|
||||
gen_nftset $black6_set_name ipv6_addr "2d" 0
|
||||
}
|
||||
}
|
||||
[ "${use_gfw_list}" = "1" ] && {
|
||||
[ "${use_global_config}" = "0" ] && {
|
||||
gfw_set_name="passwall_${sid}_gfw"
|
||||
gfw6_set_name="passwall_${sid}_gfw6"
|
||||
gfw_set_name="psw_${sid}_gfw"
|
||||
gfw6_set_name="psw_${sid}_gfw6"
|
||||
gen_nftset $gfw_set_name ipv4_addr "2d" 0
|
||||
gen_nftset $gfw6_set_name ipv6_addr "2d" 0
|
||||
}
|
||||
}
|
||||
[ "${use_shunt_tcp}" = "1" -o "${use_shunt_udp}" = "1" ] && {
|
||||
[ "${use_global_config}" = "0" ] && {
|
||||
shunt_set_name="passwall_${sid}_shunt"
|
||||
shunt6_set_name="passwall_${sid}_shunt6"
|
||||
shunt_set_name="psw_${sid}_shunt"
|
||||
shunt6_set_name="psw_${sid}_shunt6"
|
||||
gen_nftset $shunt_set_name ipv4_addr "2d" 0
|
||||
gen_nftset $shunt6_set_name ipv6_addr "2d" 0
|
||||
}
|
||||
@ -1462,7 +1462,7 @@ del_firewall_rule() {
|
||||
|
||||
flush_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}
|
||||
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 api.is_finded("fw4") and (rule_type == "ip4" or rule_type == "ip6") then
|
||||
local nft_file = file_tmp .. ".nft"
|
||||
local set_name = "passwall_" .. rule_name
|
||||
if rule_name == "chnroute" then set_name = "passwall_chn"
|
||||
elseif rule_name == "chnroute6" then set_name = "passwall_chn6" end
|
||||
local set_name = "psw_" .. rule_name
|
||||
if rule_name == "chnroute" then set_name = "psw_chn"
|
||||
elseif rule_name == "chnroute6" then set_name = "psw_chn6" end
|
||||
|
||||
local addr_type = (rule_type == "ip4") and "ipv4_addr" or "ipv6_addr"
|
||||
gen_cache(set_name, addr_type, file_tmp, nft_file)
|
||||
|
||||
@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=shadowsocksr-libev
|
||||
PKG_VERSION:=2.5.6
|
||||
PKG_RELEASE:=1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
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));
|
||||
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,
|
||||
sizeof(struct sockaddr_un)) != msgLen) {
|
||||
@ -684,6 +684,11 @@ server_recv_cb(EV_P_ ev_io *w, int revents)
|
||||
if(obfs_compatible == 1)
|
||||
{
|
||||
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));
|
||||
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) {
|
||||
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,
|
||||
server->buf->array, server->buf->len);
|
||||
server->header_buf->len = server->buf->len + header_len;
|
||||
|
||||
@ -5,8 +5,8 @@
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=tuic-client
|
||||
PKG_VERSION:=1.8.2
|
||||
PKG_RELEASE:=5
|
||||
PKG_VERSION:=1.8.3
|
||||
PKG_RELEASE:=6
|
||||
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user