mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-06-17 08:55:29 +08:00
luci-app-ssr-plus: add whitelist and blacklist domain support
This commit is contained in:
parent
1aa668b3e8
commit
ac6cb48969
@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
|
|||||||
|
|
||||||
PKG_NAME:=luci-app-ssr-plus
|
PKG_NAME:=luci-app-ssr-plus
|
||||||
PKG_VERSION:=1
|
PKG_VERSION:=1
|
||||||
PKG_RELEASE:=110
|
PKG_RELEASE:=112
|
||||||
|
|
||||||
PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks \
|
PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks \
|
||||||
CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_V2ray \
|
CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_V2ray \
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
local m, s, o
|
local m, s, o
|
||||||
|
local NXFS = require "nixio.fs"
|
||||||
|
|
||||||
m = Map("shadowsocksr", translate("IP black-and-white list"))
|
m = Map("shadowsocksr", translate("IP black-and-white list"))
|
||||||
|
|
||||||
@ -49,4 +50,39 @@ end)
|
|||||||
-- o:value("2", translatef("Forwarded Proxy"))
|
-- o:value("2", translatef("Forwarded Proxy"))
|
||||||
-- o.rmempty = false
|
-- o.rmempty = false
|
||||||
|
|
||||||
|
s:tab("esc", translate("Bypass Domain List"))
|
||||||
|
|
||||||
|
local escconf = "/etc/config/white.list"
|
||||||
|
o = s:taboption("esc", TextValue, "escconf")
|
||||||
|
o.rows = 13
|
||||||
|
o.wrap = "off"
|
||||||
|
o.rmempty = true
|
||||||
|
o.cfgvalue = function(self, section)
|
||||||
|
return NXFS.readfile(escconf) or ""
|
||||||
|
end
|
||||||
|
o.write = function(self, section, value)
|
||||||
|
NXFS.writefile(escconf, value:gsub("\r\n", "\n"))
|
||||||
|
end
|
||||||
|
o.remove = function(self, section, value)
|
||||||
|
NXFS.writefile(escconf, "")
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
s:tab("block", translate("Black Domain List"))
|
||||||
|
|
||||||
|
local blockconf = "/etc/config/black.list"
|
||||||
|
o = s:taboption("block", TextValue, "blockconf")
|
||||||
|
o.rows = 13
|
||||||
|
o.wrap = "off"
|
||||||
|
o.rmempty = true
|
||||||
|
o.cfgvalue = function(self, section)
|
||||||
|
return NXFS.readfile(blockconf) or " "
|
||||||
|
end
|
||||||
|
o.write = function(self, section, value)
|
||||||
|
NXFS.writefile(blockconf, value:gsub("\r\n", "\n"))
|
||||||
|
end
|
||||||
|
o.remove = function(self, section, value)
|
||||||
|
NXFS.writefile(blockconf, "")
|
||||||
|
end
|
||||||
|
|
||||||
return m
|
return m
|
@ -408,7 +408,7 @@ msgid "Server Count"
|
|||||||
msgstr "服务器节点数量"
|
msgstr "服务器节点数量"
|
||||||
|
|
||||||
msgid "IP black-and-white list"
|
msgid "IP black-and-white list"
|
||||||
msgstr "IP黑白名单"
|
msgstr "黑白名单"
|
||||||
|
|
||||||
msgid "WAN IP AC"
|
msgid "WAN IP AC"
|
||||||
msgstr "WAN IP访问控制"
|
msgstr "WAN IP访问控制"
|
||||||
|
@ -484,6 +484,8 @@ start() {
|
|||||||
|
|
||||||
if rules ;then
|
if rules ;then
|
||||||
start_redir
|
start_redir
|
||||||
|
|
||||||
|
/usr/share/shadowsocksr/gfw2ipset.sh
|
||||||
|
|
||||||
mkdir -p /tmp/dnsmasq.d
|
mkdir -p /tmp/dnsmasq.d
|
||||||
if ! [ "$run_mode" = "oversea" ] ;then
|
if ! [ "$run_mode" = "oversea" ] ;then
|
||||||
|
@ -67,6 +67,8 @@ flush_r() {
|
|||||||
ipset -X fplan 2>/dev/null
|
ipset -X fplan 2>/dev/null
|
||||||
ipset -X gmlan 2>/dev/null
|
ipset -X gmlan 2>/dev/null
|
||||||
ipset -X oversea 2>/dev/null
|
ipset -X oversea 2>/dev/null
|
||||||
|
ipset -X whitelist 2>/dev/null
|
||||||
|
ipset -X blacklist 2>/dev/null
|
||||||
[ -n "$FWI" ] && echo '#!/bin/sh' >$FWI
|
[ -n "$FWI" ] && echo '#!/bin/sh' >$FWI
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@ -74,7 +76,7 @@ flush_r() {
|
|||||||
ipset_r() {
|
ipset_r() {
|
||||||
ipset -N gmlan hash:net 2>/dev/null
|
ipset -N gmlan hash:net 2>/dev/null
|
||||||
for ip in $LAN_GM_IP; do ipset -! add gmlan $ip ; done
|
for ip in $LAN_GM_IP; do ipset -! add gmlan $ip ; done
|
||||||
|
|
||||||
if [ "$RUNMODE" = "router" ] ;then
|
if [ "$RUNMODE" = "router" ] ;then
|
||||||
ipset -! -R <<-EOF || return 1
|
ipset -! -R <<-EOF || return 1
|
||||||
create ss_spec_wan_ac hash:net
|
create ss_spec_wan_ac hash:net
|
||||||
@ -114,6 +116,11 @@ EOF
|
|||||||
ipset -N fplan hash:net 2>/dev/null
|
ipset -N fplan hash:net 2>/dev/null
|
||||||
for ip in $LAN_FP_IP; do ipset -! add fplan $ip ; done
|
for ip in $LAN_FP_IP; do ipset -! add fplan $ip ; done
|
||||||
$IPT -I SS_SPEC_WAN_AC -m set --match-set fplan src -j SS_SPEC_WAN_FW
|
$IPT -I SS_SPEC_WAN_AC -m set --match-set fplan src -j SS_SPEC_WAN_FW
|
||||||
|
|
||||||
|
ipset -N whitelist hash:net 2>/dev/null
|
||||||
|
ipset -N blacklist hash:net 2>/dev/null
|
||||||
|
$IPT -I SS_SPEC_WAN_AC -m set --match-set blacklist src -j SS_SPEC_WAN_FW
|
||||||
|
$IPT -I SS_SPEC_WAN_AC -m set --match-set whitelist src -j SS_SPEC_WAN_FW
|
||||||
|
|
||||||
return $?
|
return $?
|
||||||
}
|
}
|
||||||
|
@ -3,3 +3,9 @@
|
|||||||
awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"gfwlist"'\n",$0)}' /etc/config/gfw.list > /etc/dnsmasq.ssr/custom_forward.conf
|
awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"gfwlist"'\n",$0)}' /etc/config/gfw.list > /etc/dnsmasq.ssr/custom_forward.conf
|
||||||
awk '!/^$/&&!/^#/{printf("server=/.%s/'"127.0.0.1#5335"'\n",$0)}' /etc/config/gfw.list >> /etc/dnsmasq.ssr/custom_forward.conf
|
awk '!/^$/&&!/^#/{printf("server=/.%s/'"127.0.0.1#5335"'\n",$0)}' /etc/config/gfw.list >> /etc/dnsmasq.ssr/custom_forward.conf
|
||||||
|
|
||||||
|
awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"blacklist"'\n",$0)}' /etc/config/black.list > /etc/dnsmasq.ssr/blacklist_forward.conf
|
||||||
|
awk '!/^$/&&!/^#/{printf("server=/.%s/'"127.0.0.1#5335"'\n",$0)}' /etc/config/black.list >> /etc/dnsmasq.ssr/blacklist_forward.conf
|
||||||
|
|
||||||
|
awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"whitelist"'\n",$0)}' /etc/config/white.list > /etc/dnsmasq.ssr/whitelist_forward.conf
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user