luci-app-ssr-plus: add stop mode for netflix service (#3990)
* luci-app-ssr-plus: add stop mode for netflix service * luci-app-ssr-plus: bump version 174.1 * luci-app-ssr-plus: use 'nil' value to replace empty value in stop mode
This commit is contained in:
parent
a8be250ec6
commit
8b7e446504
@ -1,8 +1,8 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-ssr-plus
|
PKG_NAME:=luci-app-ssr-plus
|
||||||
PKG_VERSION:=173
|
PKG_VERSION:=174
|
||||||
PKG_RELEASE:=7
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||||
|
|
||||||
|
@ -44,9 +44,10 @@ o:value("same", translate("Same as Global Server"))
|
|||||||
for _,key in pairs(key_table) do o:value(key,server_table[key]) end
|
for _,key in pairs(key_table) do o:value(key,server_table[key]) end
|
||||||
|
|
||||||
o = s:option(ListValue, "netflix_server", translate("Netflix Node"))
|
o = s:option(ListValue, "netflix_server", translate("Netflix Node"))
|
||||||
|
o:value("nil", translate("Disable"))
|
||||||
o:value("same", translate("Same as Global Server"))
|
o:value("same", translate("Same as Global Server"))
|
||||||
for _,key in pairs(key_table) do o:value(key,server_table[key]) end
|
for _,key in pairs(key_table) do o:value(key,server_table[key]) end
|
||||||
o.default = "same"
|
o.default = "nil"
|
||||||
o.rmempty = false
|
o.rmempty = false
|
||||||
|
|
||||||
o = s:option(Flag, "netflix_proxy", translate("External Proxy Mode"))
|
o = s:option(Flag, "netflix_proxy", translate("External Proxy Mode"))
|
||||||
@ -104,3 +105,5 @@ o:depends("pdnsd_enable", "2")
|
|||||||
o.description = translate("Custom DNS Server format as IP:PORT (default: 8.8.4.4:53)")
|
o.description = translate("Custom DNS Server format as IP:PORT (default: 8.8.4.4:53)")
|
||||||
|
|
||||||
return m
|
return m
|
||||||
|
|
||||||
|
|
||||||
|
@ -223,8 +223,12 @@ start_rules() {
|
|||||||
else
|
else
|
||||||
proxyport="-m multiport --dports 22,53,587,465,995,993,143,80,443"
|
proxyport="-m multiport --dports 22,53,587,465,995,993,143,80,443"
|
||||||
fi
|
fi
|
||||||
if [ "$NETFLIX_SERVER" != "$GLOBAL_SERVER" ]; then
|
if [ "$NETFLIX_SERVER" != "nil" ]; then
|
||||||
netflix="1"
|
if [ "$NETFLIX_SERVER" != "$GLOBAL_SERVER" ]; then
|
||||||
|
netflix="1"
|
||||||
|
else
|
||||||
|
netflix="2"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
netflix="0"
|
netflix="0"
|
||||||
fi
|
fi
|
||||||
@ -401,7 +405,7 @@ start_redir() {
|
|||||||
echo "$(date "+%Y-%m-%d %H:%M:%S") Network Tunnel REDIRECT $threads Threads Started!" >>/tmp/ssrplus.log
|
echo "$(date "+%Y-%m-%d %H:%M:%S") Network Tunnel REDIRECT $threads Threads Started!" >>/tmp/ssrplus.log
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$NETFLIX_SERVER" != "$GLOBAL_SERVER" ]; then
|
if [ "$NETFLIX_SERVER" != "nil" ] && [ "$NETFLIX_SERVER" != "$GLOBAL_SERVER" ]; then
|
||||||
if [ "$ntype" == "ss" -o "$ntype" == "ssr" ]; then
|
if [ "$ntype" == "ss" -o "$ntype" == "ssr" ]; then
|
||||||
gen_config_file $NETFLIX_SERVER 2 4321
|
gen_config_file $NETFLIX_SERVER 2 4321
|
||||||
gen_config_file $NETFLIX_SERVER 3 1088
|
gen_config_file $NETFLIX_SERVER 3 1088
|
||||||
@ -619,7 +623,7 @@ start() {
|
|||||||
switch_enable=1
|
switch_enable=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
NETFLIX_SERVER=$(uci_get_by_type global netflix_server same)
|
NETFLIX_SERVER=$(uci_get_by_type global netflix_server nil)
|
||||||
if [ "$NETFLIX_SERVER" == "same" ]; then
|
if [ "$NETFLIX_SERVER" == "same" ]; then
|
||||||
NETFLIX_SERVER=$GLOBAL_SERVER
|
NETFLIX_SERVER=$GLOBAL_SERVER
|
||||||
fi
|
fi
|
||||||
@ -641,27 +645,35 @@ start() {
|
|||||||
fi
|
fi
|
||||||
/usr/share/shadowsocksr/gfw2ipset.sh
|
/usr/share/shadowsocksr/gfw2ipset.sh
|
||||||
|
|
||||||
if [ "$NETFLIX_SERVER" != "$GLOBAL_SERVER" ]; then
|
if [ "$NETFLIX_SERVER" != "nil" ]; then
|
||||||
cat /etc/config/netflix.list | while read line || [ -n "$line" ]; do
|
if [ "$NETFLIX_SERVER" != "$GLOBAL_SERVER" ]; then
|
||||||
sed -i "/$line/d" /tmp/dnsmasq.ssr/gfw_list.conf
|
cat /etc/config/netflix.list | while read line || [ -n "$line" ];
|
||||||
done
|
do
|
||||||
awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"netflix"'\n",$0)}' /etc/config/netflix.list >/tmp/dnsmasq.ssr/netflix_forward.conf
|
sed -i "/$line/d" /tmp/dnsmasq.ssr/gfw_list.conf
|
||||||
awk '!/^$/&&!/^#/{printf("server=/.%s/'"127.0.0.1#5555"'\n",$0)}' /etc/config/netflix.list >>/tmp/dnsmasq.ssr/netflix_forward.conf
|
done
|
||||||
|
awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"netflix"'\n",$0)}' /etc/config/netflix.list > /tmp/dnsmasq.ssr/netflix_forward.conf
|
||||||
|
awk '!/^$/&&!/^#/{printf("server=/.%s/'"127.0.0.1#5555"'\n",$0)}' /etc/config/netflix.list >> /tmp/dnsmasq.ssr/netflix_forward.conf
|
||||||
|
|
||||||
ipset -N netflix hash:net 2>/dev/null
|
ipset -N netflix hash:net 2>/dev/null
|
||||||
cat /etc/config/netflixip.list | while read nip || [ -n "$nip" ]; do
|
cat /etc/config/netflixip.list | while read nip || [ -n "$nip" ];
|
||||||
ipset add netflix $nip 2>/dev/null
|
do
|
||||||
done
|
ipset add netflix $nip 2>/dev/null
|
||||||
|
done
|
||||||
|
else
|
||||||
|
cat /etc/config/netflix.list | while read line || [ -n "$line" ];
|
||||||
|
do
|
||||||
|
sed -i "/$line/d" /tmp/dnsmasq.ssr/gfw_list.conf
|
||||||
|
done
|
||||||
|
awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"netflix"'\n",$0)}' /etc/config/netflix.list > /tmp/dnsmasq.ssr/netflix_forward.conf
|
||||||
|
awk '!/^$/&&!/^#/{printf("server=/.%s/'"127.0.0.1#5335"'\n",$0)}' /etc/config/netflix.list >> /tmp/dnsmasq.ssr/netflix_forward.conf
|
||||||
|
ipset -N netflix hash:net 2>/dev/null
|
||||||
|
cat /etc/config/netflixip.list | while read nip || [ -n "$nip" ];
|
||||||
|
do
|
||||||
|
ipset add netflix $nip 2>/dev/null
|
||||||
|
done
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
cat /etc/config/netflix.list | while read line || [ -n "$line" ]; do
|
rm -f /tmp/dnsmasq.ssr/netflix_forward.conf
|
||||||
sed -i "/$line/d" /tmp/dnsmasq.ssr/gfw_list.conf
|
|
||||||
done
|
|
||||||
awk '!/^$/&&!/^#/{printf("ipset=/.%s/'"netflix"'\n",$0)}' /etc/config/netflix.list >/tmp/dnsmasq.ssr/netflix_forward.conf
|
|
||||||
awk '!/^$/&&!/^#/{printf("server=/.%s/'"127.0.0.1#5335"'\n",$0)}' /etc/config/netflix.list >>/tmp/dnsmasq.ssr/netflix_forward.conf
|
|
||||||
ipset -N netflix hash:net 2>/dev/null
|
|
||||||
cat /etc/config/netflixip.list | while read nip || [ -n "$nip" ]; do
|
|
||||||
ipset add netflix $nip 2>/dev/null
|
|
||||||
done
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
/etc/init.d/dnsmasq restart >/dev/null 2>&1
|
/etc/init.d/dnsmasq restart >/dev/null 2>&1
|
||||||
@ -739,3 +751,5 @@ stop() {
|
|||||||
fi
|
fi
|
||||||
del_cron
|
del_cron
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -121,14 +121,14 @@ ipset_r() {
|
|||||||
for ip in $WAN_FW_IP; do ipset -! add blacklist $ip; done
|
for ip in $WAN_FW_IP; do ipset -! add blacklist $ip; done
|
||||||
|
|
||||||
if [ "$NETFLIX" == "1" ]; then
|
if [ "$NETFLIX" == "1" ]; then
|
||||||
$IPT -I SS_SPEC_WAN_AC -p tcp -m set --match-set netflix dst -j REDIRECT --to-ports 4321
|
$IPT -I SS_SPEC_WAN_AC -p tcp -m set --match-set netflix dst -j REDIRECT --to-ports 4321
|
||||||
if [ "$NETFLIX_PROXY" == "1" ]; then
|
if [ "$NETFLIX_PROXY" == "1" ]; then
|
||||||
$IPT -I SS_SPEC_WAN_AC -p tcp -d $NETFLIX_IP -j REDIRECT --to-ports $local_port
|
$IPT -I SS_SPEC_WAN_AC -p tcp -d $NETFLIX_IP -j REDIRECT --to-ports $local_port
|
||||||
else
|
else
|
||||||
ipset -! add whitelist $NETFLIX_IP
|
ipset -! add whitelist $NETFLIX_IP
|
||||||
fi
|
fi
|
||||||
else
|
elif [ "$NETFLIX" == "2" ]; then
|
||||||
$IPT -I SS_SPEC_WAN_AC -p tcp -m set --match-set netflix dst -j REDIRECT --to-ports $local_port
|
$IPT -I SS_SPEC_WAN_AC -p tcp -m set --match-set netflix dst -j REDIRECT --to-ports $local_port
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return $?
|
return $?
|
||||||
@ -399,3 +399,4 @@ fi
|
|||||||
flush_r && fw_rule && ipset_r && ac_rule && tp_rule && gen_include
|
flush_r && fw_rule && ipset_r && ac_rule && tp_rule && gen_include
|
||||||
[ "$?" == 0 ] || loger 3 "Start failed!"
|
[ "$?" == 0 ] || loger 3 "Start failed!"
|
||||||
exit $?
|
exit $?
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user