parent
a48deafd3f
commit
89c19c8344
@ -543,8 +543,8 @@ run_chinadns_ng() {
|
|||||||
local vpslist4_set="passwall_vpslist"
|
local vpslist4_set="passwall_vpslist"
|
||||||
local vpslist6_set="passwall_vpslist6"
|
local vpslist6_set="passwall_vpslist6"
|
||||||
[ "$nftflag" = "1" ] && {
|
[ "$nftflag" = "1" ] && {
|
||||||
vpslist4_set="inet@fw4@${vpslist4_set}"
|
vpslist4_set="inet@passwall@${vpslist4_set}"
|
||||||
vpslist6_set="inet@fw4@${vpslist6_set}"
|
vpslist6_set="inet@passwall@${vpslist6_set}"
|
||||||
}
|
}
|
||||||
cat <<-EOF >> ${_CONF_FILE}
|
cat <<-EOF >> ${_CONF_FILE}
|
||||||
group vpslist
|
group vpslist
|
||||||
@ -558,8 +558,8 @@ run_chinadns_ng() {
|
|||||||
local whitelist4_set="passwall_whitelist"
|
local whitelist4_set="passwall_whitelist"
|
||||||
local whitelist6_set="passwall_whitelist6"
|
local whitelist6_set="passwall_whitelist6"
|
||||||
[ "$nftflag" = "1" ] && {
|
[ "$nftflag" = "1" ] && {
|
||||||
whitelist4_set="inet@fw4@${whitelist4_set}"
|
whitelist4_set="inet@passwall@${whitelist4_set}"
|
||||||
whitelist6_set="inet@fw4@${whitelist6_set}"
|
whitelist6_set="inet@passwall@${whitelist6_set}"
|
||||||
}
|
}
|
||||||
cat <<-EOF >> ${_CONF_FILE}
|
cat <<-EOF >> ${_CONF_FILE}
|
||||||
group directlist
|
group directlist
|
||||||
@ -573,8 +573,8 @@ run_chinadns_ng() {
|
|||||||
local blacklist4_set="passwall_blacklist"
|
local blacklist4_set="passwall_blacklist"
|
||||||
local blacklist6_set="passwall_blacklist6"
|
local blacklist6_set="passwall_blacklist6"
|
||||||
[ "$nftflag" = "1" ] && {
|
[ "$nftflag" = "1" ] && {
|
||||||
blacklist4_set="inet@fw4@${blacklist4_set}"
|
blacklist4_set="inet@passwall@${blacklist4_set}"
|
||||||
blacklist6_set="inet@fw4@${blacklist6_set}"
|
blacklist6_set="inet@passwall@${blacklist6_set}"
|
||||||
}
|
}
|
||||||
cat <<-EOF >> ${_CONF_FILE}
|
cat <<-EOF >> ${_CONF_FILE}
|
||||||
group proxylist
|
group proxylist
|
||||||
@ -589,8 +589,8 @@ run_chinadns_ng() {
|
|||||||
local gfwlist4_set="passwall_gfwlist"
|
local gfwlist4_set="passwall_gfwlist"
|
||||||
local gfwlist6_set="passwall_gfwlist6"
|
local gfwlist6_set="passwall_gfwlist6"
|
||||||
[ "$nftflag" = "1" ] && {
|
[ "$nftflag" = "1" ] && {
|
||||||
gfwlist4_set="inet@fw4@${gfwlist4_set}"
|
gfwlist4_set="inet@passwall@${gfwlist4_set}"
|
||||||
gfwlist6_set="inet@fw4@${gfwlist6_set}"
|
gfwlist6_set="inet@passwall@${gfwlist6_set}"
|
||||||
}
|
}
|
||||||
cat <<-EOF >> ${_CONF_FILE}
|
cat <<-EOF >> ${_CONF_FILE}
|
||||||
gfwlist-file ${RULES_PATH}/gfwlist
|
gfwlist-file ${RULES_PATH}/gfwlist
|
||||||
@ -603,8 +603,8 @@ run_chinadns_ng() {
|
|||||||
local chnroute4_set="passwall_chnroute"
|
local chnroute4_set="passwall_chnroute"
|
||||||
local chnroute6_set="passwall_chnroute6"
|
local chnroute6_set="passwall_chnroute6"
|
||||||
[ "$nftflag" = "1" ] && {
|
[ "$nftflag" = "1" ] && {
|
||||||
chnroute4_set="inet@fw4@${chnroute4_set}"
|
chnroute4_set="inet@passwall@${chnroute4_set}"
|
||||||
chnroute6_set="inet@fw4@${chnroute6_set}"
|
chnroute6_set="inet@passwall@${chnroute6_set}"
|
||||||
}
|
}
|
||||||
|
|
||||||
[ "${_chnlist}" = "direct" ] && {
|
[ "${_chnlist}" = "direct" ] && {
|
||||||
|
@ -185,8 +185,8 @@ if USE_DEFAULT_DNS == "chinadns_ng" and CHINADNS_DNS ~= "0" then
|
|||||||
dnsmasq_default_dns = CHINADNS_DNS
|
dnsmasq_default_dns = CHINADNS_DNS
|
||||||
end
|
end
|
||||||
|
|
||||||
local setflag_4= (NFTFLAG == "1") and "4#inet#fw4#" or ""
|
local setflag_4= (NFTFLAG == "1") and "4#inet#passwall#" or ""
|
||||||
local setflag_6= (NFTFLAG == "1") and "6#inet#fw4#" or ""
|
local setflag_6= (NFTFLAG == "1") and "6#inet#passwall#" or ""
|
||||||
|
|
||||||
if not fs.access(CACHE_DNS_PATH) then
|
if not fs.access(CACHE_DNS_PATH) then
|
||||||
fs.mkdir("/tmp/dnsmasq.d")
|
fs.mkdir("/tmp/dnsmasq.d")
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -11,6 +11,7 @@ local arg1 = arg[1]
|
|||||||
local arg2 = arg[2]
|
local arg2 = arg[2]
|
||||||
local arg3 = arg[3]
|
local arg3 = arg[3]
|
||||||
|
|
||||||
|
local nftable_name = "inet passwall"
|
||||||
local rule_path = "/usr/share/" .. name .. "/rules"
|
local rule_path = "/usr/share/" .. name .. "/rules"
|
||||||
local reboot = 0
|
local reboot = 0
|
||||||
local gfwlist_update = 0
|
local gfwlist_update = 0
|
||||||
@ -60,10 +61,10 @@ local function gen_nftset(set_name, ip_type, tmp_file, input_file)
|
|||||||
nft_file, err = io.open(tmp_file, "w")
|
nft_file, err = io.open(tmp_file, "w")
|
||||||
nft_file:write('#!/usr/sbin/nft -f\n')
|
nft_file:write('#!/usr/sbin/nft -f\n')
|
||||||
nft_file:write(string.format('define %s = {%s}\n', set_name, string.gsub(element, "%s*%c+", " timeout 3650d, ")))
|
nft_file:write(string.format('define %s = {%s}\n', set_name, string.gsub(element, "%s*%c+", " timeout 3650d, ")))
|
||||||
if luci.sys.call(string.format('nft "list set inet fw4 %s" >/dev/null 2>&1', set_name)) ~= 0 then
|
if luci.sys.call(string.format('nft "list set %s %s" >/dev/null 2>&1', nftable_name, set_name)) ~= 0 then
|
||||||
nft_file:write(string.format('add set inet fw4 %s { type %s; flags interval, timeout; timeout 2d; gc-interval 2d; auto-merge; }\n', set_name, ip_type))
|
nft_file:write(string.format('add set %s %s { type %s; flags interval, timeout; timeout 2d; gc-interval 2d; auto-merge; }\n', nftable_name, set_name, ip_type))
|
||||||
end
|
end
|
||||||
nft_file:write(string.format('add element inet fw4 %s $%s\n', set_name, set_name))
|
nft_file:write(string.format('add element %s %s $%s\n', nftable_name, set_name, set_name))
|
||||||
nft_file:close()
|
nft_file:close()
|
||||||
luci.sys.call(string.format('nft -f %s &>/dev/null',tmp_file))
|
luci.sys.call(string.format('nft -f %s &>/dev/null',tmp_file))
|
||||||
os.remove(tmp_file)
|
os.remove(tmp_file)
|
||||||
@ -75,9 +76,9 @@ local function gen_cache(set_name, ip_type, input_file, output_file)
|
|||||||
local tmp_file = output_file .. "_tmp"
|
local tmp_file = output_file .. "_tmp"
|
||||||
local tmp_set_name = set_name .. "_tmp"
|
local tmp_set_name = set_name .. "_tmp"
|
||||||
gen_nftset(tmp_set_name, ip_type, tmp_file, input_file)
|
gen_nftset(tmp_set_name, ip_type, tmp_file, input_file)
|
||||||
luci.sys.call("nft list set inet fw4 " ..tmp_set_name.. " | sed 's/" ..tmp_set_name.. "/" ..set_name.. "/g' | cat > " ..output_file)
|
luci.sys.call(string.format('nft list set %s %s | sed "s/%s/%s/g" | cat > %s', nftable_name, tmp_set_name, tmp_set_name, set_name, output_file))
|
||||||
luci.sys.call("nft flush set inet fw4 " ..tmp_set_name)
|
luci.sys.call(string.format('nft flush set %s %s', nftable_name, tmp_set_name))
|
||||||
luci.sys.call("nft delete set inet fw4 " ..tmp_set_name)
|
luci.sys.call(string.format('nft delete set %s %s', nftable_name, tmp_set_name))
|
||||||
end
|
end
|
||||||
|
|
||||||
-- curl
|
-- curl
|
||||||
|
@ -8,9 +8,10 @@
|
|||||||
192.0.2.0/24
|
192.0.2.0/24
|
||||||
192.88.99.0/24
|
192.88.99.0/24
|
||||||
192.168.0.0/16
|
192.168.0.0/16
|
||||||
198.19.0.0/16
|
198.18.0.0/15
|
||||||
198.51.100.0/24
|
198.51.100.0/24
|
||||||
203.0.113.0/24
|
203.0.113.0/24
|
||||||
224.0.0.0/4
|
224.0.0.0/4
|
||||||
|
233.252.0.0/24
|
||||||
240.0.0.0/4
|
240.0.0.0/4
|
||||||
255.255.255.255/32
|
255.255.255.255/32
|
||||||
|
@ -1,12 +1,16 @@
|
|||||||
::/128
|
::/128
|
||||||
::1/128
|
::1/128
|
||||||
|
::ffff:0:0/96
|
||||||
::ffff:0:0:0/96
|
::ffff:0:0:0/96
|
||||||
64:ff9b::/96
|
64:ff9b::/96
|
||||||
|
64:ff9b:1::/48
|
||||||
100::/64
|
100::/64
|
||||||
2001::/32
|
2001::/32
|
||||||
2001:20::/28
|
2001:20::/28
|
||||||
2001:db8::/32
|
2001:db8::/32
|
||||||
2002::/16
|
2002::/16
|
||||||
|
3fff::/20
|
||||||
|
5f00::/16
|
||||||
fc00::/7
|
fc00::/7
|
||||||
fe80::/10
|
fe80::/64
|
||||||
ff00::/8
|
ff00::/8
|
||||||
|
Loading…
Reference in New Issue
Block a user