mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-15 18:03:30 +00:00
update luci-ssr-pro to fit in new luci
This commit is contained in:
parent
690fdd1db8
commit
715088d014
@ -1,7 +1,7 @@
|
|||||||
#src-git packages https://git.openwrt.org/feed/packages.git^1b73f267eae2dedc18969b70ed7c5d9b02288bac
|
#src-git packages https://git.openwrt.org/feed/packages.git^1b73f267eae2dedc18969b70ed7c5d9b02288bac
|
||||||
src-git packages https://github.com/openwrt/packages.git
|
src-git packages https://github.com/openwrt/packages.git
|
||||||
#src-git luci https://git.openwrt.org/project/luci.git^7d55be315d758b2a40494e732d7bdc300ee15c00
|
#src-git luci https://git.openwrt.org/project/luci.git^7d55be315d758b2a40494e732d7bdc300ee15c00
|
||||||
src-git luci https://github.com/openwrt/luci.git^80cb4fef8c7db0dadc373fef122d7abb092a7191
|
src-git luci https://github.com/openwrt/luci.git
|
||||||
#src-git luci https://github.com/openwrt/luci.git;openwrt-18.06
|
#src-git luci https://github.com/openwrt/luci.git;openwrt-18.06
|
||||||
src-git routing https://git.openwrt.org/feed/routing.git;openwrt-18.06
|
src-git routing https://git.openwrt.org/feed/routing.git;openwrt-18.06
|
||||||
src-git telephony https://github.com/openwrt/telephony.git;openwrt-18.06
|
src-git telephony https://github.com/openwrt/telephony.git;openwrt-18.06
|
||||||
|
@ -16,7 +16,7 @@ DEVICE_TYPE?=router
|
|||||||
DEFAULT_PACKAGES:=base-files libc libgcc busybox dropbear mtd uci opkg netifd fstools uclient-fetch logd \
|
DEFAULT_PACKAGES:=base-files libc libgcc busybox dropbear mtd uci opkg netifd fstools uclient-fetch logd \
|
||||||
iptables-mod-nat-extra kmod-nf-nathelper kmod-nf-nathelper-extra kmod-ipt-raw kmod-macvlan kmod-nft-offload block-mount automount \
|
iptables-mod-nat-extra kmod-nf-nathelper kmod-nf-nathelper-extra kmod-ipt-raw kmod-macvlan kmod-nft-offload block-mount automount \
|
||||||
default-settings ipset-lists luci luci-app-ddns luci-app-sqm luci-app-upnp luci-app-adbyby-plus luci-app-autoreboot \
|
default-settings ipset-lists luci luci-app-ddns luci-app-sqm luci-app-upnp luci-app-adbyby-plus luci-app-autoreboot \
|
||||||
luci-app-filetransfer luci-app-shadowsocksr-pro luci-app-usb-printer luci-app-vsftpd ddns-scripts_aliyun luci-app-xlnetacc \
|
luci-app-filetransfer luci-app-ssr-pro luci-app-usb-printer luci-app-vsftpd ddns-scripts_aliyun luci-app-xlnetacc \
|
||||||
luci-app-pptp-server luci-app-ipsec-vpnd luci-app-vlmcsd luci-app-wifischedule luci-app-wol luci-app-sfe luci-app-flowoffload luci-app-nlbwmon
|
luci-app-pptp-server luci-app-ipsec-vpnd luci-app-vlmcsd luci-app-wifischedule luci-app-wol luci-app-sfe luci-app-flowoffload luci-app-nlbwmon
|
||||||
# For nas targets
|
# For nas targets
|
||||||
DEFAULT_PACKAGES.nas:=block-mount fdisk lsblk mdadm
|
DEFAULT_PACKAGES.nas:=block-mount fdisk lsblk mdadm
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
module("luci.controller.shadowsocksr", package.seeall)
|
|
||||||
function index()
|
|
||||||
if not nixio.fs.access("/etc/config/shadowsocksr") then
|
|
||||||
return
|
|
||||||
end
|
|
||||||
local page
|
|
||||||
page = entry({"admin", "services", "shadowsocksr"}, cbi("shadowsocksr"), _("ShadowsocksR Pro"))
|
|
||||||
page.dependent = true
|
|
||||||
end
|
|
@ -1,16 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
uci -q batch <<-EOF >/dev/null
|
|
||||||
delete firewall.shadowsocksr
|
|
||||||
set firewall.shadowsocksr=include
|
|
||||||
set firewall.shadowsocksr.type=script
|
|
||||||
set firewall.shadowsocksr.path=/etc/shadowsocksr.include
|
|
||||||
set firewall.shadowsocksr.reload=1
|
|
||||||
commit firewall
|
|
||||||
EOF
|
|
||||||
|
|
||||||
/etc/init.d/shadowsocksr stop
|
|
||||||
/etc/init.d/shadowsocksr disable
|
|
||||||
|
|
||||||
rm -f /tmp/luci-indexcache
|
|
||||||
exit 0
|
|
@ -5,11 +5,11 @@
|
|||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
LUCI_TITLE:=LuCI support for Shadowsocksr
|
LUCI_TITLE:=LuCI support for SSR Pro
|
||||||
LUCI_DEPENDS:=+iptables-mod-tproxy +kmod-ipt-tproxy +ip +ipset-lists +shadowsocksr-libev-alt +pdnsd-alt +coreutils +coreutils-base64 +coreutils-nohup +dnsmasq-full
|
LUCI_DEPENDS:=+iptables-mod-tproxy +kmod-ipt-tproxy +ip +ipset-lists +shadowsocksr-libev-alt +pdnsd-alt +coreutils +coreutils-base64 +coreutils-nohup +dnsmasq-full
|
||||||
LUCI_PKGARCH:=all
|
LUCI_PKGARCH:=all
|
||||||
PKG_VERSION:=2.0
|
PKG_VERSION:=2
|
||||||
PKG_RELEASE:=21
|
PKG_RELEASE:=22
|
||||||
|
|
||||||
include $(TOPDIR)/feeds/luci/luci.mk
|
include $(TOPDIR)/feeds/luci/luci.mk
|
||||||
|
|
@ -0,0 +1,9 @@
|
|||||||
|
module("luci.controller.ssrpro", package.seeall)
|
||||||
|
function index()
|
||||||
|
if not nixio.fs.access("/etc/config/ssrpro") then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local page
|
||||||
|
page = entry({"admin", "services", "ssrpro"}, cbi("ssrpro"), _("ShadowsocksR Pro"))
|
||||||
|
page.dependent = true
|
||||||
|
end
|
@ -16,11 +16,11 @@ else
|
|||||||
Status = translate("<strong><font color=\"red\">ShadowsocksR is Not Running</font></strong>")
|
Status = translate("<strong><font color=\"red\">ShadowsocksR is Not Running</font></strong>")
|
||||||
end
|
end
|
||||||
|
|
||||||
m = Map("shadowsocksr")
|
m = Map("ssrpro")
|
||||||
m.title = translate("Shadowsocksr Transparent Proxy")
|
m.title = translate("Shadowsocksr Transparent Proxy")
|
||||||
m.description = translate("A fast secure tunnel proxy that help you get through firewalls on your router")
|
m.description = translate("A fast secure tunnel proxy that help you get through firewalls on your router")
|
||||||
|
|
||||||
s = m:section(TypedSection, "shadowsocksr")
|
s = m:section(TypedSection, "ssrpro")
|
||||||
s.anonymous = true
|
s.anonymous = true
|
||||||
s.description = translate(string.format("%s<br /><br />", Status))
|
s.description = translate(string.format("%s<br /><br />", Status))
|
||||||
|
|
||||||
@ -223,9 +223,9 @@ e:value("global",translate("Global Proxy"))
|
|||||||
e:value("game",translate("Game Mode"))
|
e:value("game",translate("Game Mode"))
|
||||||
|
|
||||||
-- ---------------------------------------------------
|
-- ---------------------------------------------------
|
||||||
local apply = luci.http.formvalue("cbi.apply")
|
-- local apply = luci.http.formvalue("cbi.apply")
|
||||||
if apply then
|
-- if apply then
|
||||||
os.execute("/etc/init.d/ssrpro restart >/dev/null 2>&1 &")
|
-- os.execute("/etc/init.d/ssrpro restart >/dev/null 2>&1 &")
|
||||||
end
|
-- end
|
||||||
|
|
||||||
return m
|
return m
|
@ -1,13 +1,14 @@
|
|||||||
|
|
||||||
config shadowsocksr
|
config ssrpro
|
||||||
option gfwlist 'china-banned'
|
option gfwlist 'china-banned'
|
||||||
option server 'serv-ro.ddns.info'
|
|
||||||
option server_port '23143'
|
option server_port '23143'
|
||||||
option password 'test.TEST'
|
option password 'test.TEST'
|
||||||
option method 'aes-256-cfb'
|
|
||||||
option protocol 'origin'
|
option protocol 'origin'
|
||||||
option obfs 'plain'
|
option obfs 'plain'
|
||||||
option enabled '0'
|
|
||||||
option proxy_mode 'M'
|
option proxy_mode 'M'
|
||||||
option safe_dns_tcp '1'
|
option safe_dns_tcp '1'
|
||||||
option cron_mode '1'
|
option cron_mode '1'
|
||||||
|
option method 'none'
|
||||||
|
option server '4.4.4.4'
|
||||||
|
option enabled '0'
|
||||||
|
|
@ -3,25 +3,51 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
START=99
|
START=99
|
||||||
|
STOP=10
|
||||||
|
|
||||||
|
EXTRA_COMMANDS="reload_rule"
|
||||||
|
|
||||||
SS_REDIR_PORT=7070
|
SS_REDIR_PORT=7070
|
||||||
SS_REDIR_PIDFILE=/var/run/ssr-redir-go.pid
|
SS_REDIR_PIDFILE=/var/run/ssr-redir-go.pid
|
||||||
PDNSD_LOCAL_PORT=7453
|
PDNSD_LOCAL_PORT=7453
|
||||||
SSRCONF=/etc/shadowsocksr.json
|
SSRCONF=/etc/shadowsocksr.json
|
||||||
CRON_FILE=/etc/crontabs/root
|
CRON_FILE=/etc/crontabs/root
|
||||||
CONFIG=shadowsocksr
|
CONFIG=ssrpro
|
||||||
|
KEEP_GFWLIST=Y
|
||||||
|
vt_np_ipset="china"
|
||||||
|
|
||||||
|
get_config()
|
||||||
|
{
|
||||||
|
config_get_bool vt_enabled $1 enabled 0
|
||||||
|
config_get vt_server_addr $1 server
|
||||||
|
config_get vt_server_port $1 server_port
|
||||||
|
config_get vt_password $1 password
|
||||||
|
config_get vt_method $1 method
|
||||||
|
config_get vt_protocol $1 protocol
|
||||||
|
config_get vt_protoparam $1 protoparam
|
||||||
|
config_get vt_obfs $1 obfs
|
||||||
|
config_get obfs_param $1 obfs_param
|
||||||
|
config_get vt_proxy_mode $1 proxy_mode
|
||||||
|
config_get vt_timeout $1 timeout
|
||||||
|
config_get vt_safe_dns $1 safe_dns
|
||||||
|
config_get vt_timeout $1 timeout
|
||||||
|
config_get vt_safe_dns $1 safe_dns
|
||||||
|
config_get vt_safe_dns_port $1 safe_dns_port
|
||||||
|
config_get vt_safe_dns_tcp $1 safe_dns_tcp
|
||||||
|
config_get cron_mode $1 cron_mode 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
||||||
|
|
||||||
# $covered_subnets, $local_addresses are not required
|
|
||||||
covered_subnets=`uci get shadowsocksr.@shadowsocksr[0].covered_subnets 2>/dev/null`
|
|
||||||
local_addresses=`uci get shadowsocksr.@shadowsocksr[0].local_addresses 2>/dev/null`
|
|
||||||
# Get LAN settings as default parameters
|
# Get LAN settings as default parameters
|
||||||
[ -f /lib/functions/network.sh ] && . /lib/functions/network.sh
|
[ -f /lib/functions/network.sh ] && . /lib/functions/network.sh
|
||||||
[ -z "$covered_subnets" ] && network_get_subnet covered_subnets lan
|
network_get_subnet covered_subnets lan
|
||||||
[ -z "$local_addresses" ] && network_get_ipaddr local_addresses lan
|
network_get_ipaddr local_addresses lan
|
||||||
vt_np_ipset="china" # Must be global variable
|
|
||||||
|
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
||||||
|
|
||||||
__gfwlist_by_mode()
|
__gfwlist_by_mode()
|
||||||
{
|
{
|
||||||
@ -31,42 +57,24 @@ __gfwlist_by_mode()
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
|
||||||
|
|
||||||
start()
|
start()
|
||||||
{
|
{
|
||||||
local vt_enabled=`uci get shadowsocksr.@shadowsocksr[0].enabled 2>/dev/null`
|
config_load ssrpro
|
||||||
local vt_server_addr=`uci get shadowsocksr.@shadowsocksr[0].server`
|
config_foreach get_config ssrpro
|
||||||
local vt_server_port=`uci get shadowsocksr.@shadowsocksr[0].server_port`
|
|
||||||
local vt_password=`uci get shadowsocksr.@shadowsocksr[0].password 2>/dev/null`
|
|
||||||
local vt_method=`uci get shadowsocksr.@shadowsocksr[0].method`
|
|
||||||
local vt_protocol=`uci get shadowsocksr.@shadowsocksr[0].protocol`
|
|
||||||
local vt_protoparam=`uci get shadowsocksr.@shadowsocksr[0].protoparam 2>/dev/null`
|
|
||||||
local vt_obfs=`uci get shadowsocksr.@shadowsocksr[0].obfs`
|
|
||||||
local vt_timeout=`uci get shadowsocksr.@shadowsocksr[0].timeout 2>/dev/null`
|
|
||||||
local vt_safe_dns=`uci get shadowsocksr.@shadowsocksr[0].safe_dns 2>/dev/null`
|
|
||||||
local vt_safe_dns_port=`uci get shadowsocksr.@shadowsocksr[0].safe_dns_port 2>/dev/null`
|
|
||||||
local vt_safe_dns_tcp=`uci get shadowsocksr.@shadowsocksr[0].safe_dns_tcp 2>/dev/null`
|
|
||||||
local vt_proxy_mode=`uci get shadowsocksr.@shadowsocksr[0].proxy_mode`
|
|
||||||
local obfs_param=`uci get shadowsocksr.@shadowsocksr[0].obfs_param 2>/dev/null`
|
|
||||||
local cron_mode=`uci get shadowsocksr.@shadowsocksr[0].cron_mode 2>/dev/null`
|
|
||||||
local vt_gfwlist=`__gfwlist_by_mode $vt_proxy_mode`
|
|
||||||
|
|
||||||
[ -f /etc/init.d/pdnsd ] && /etc/init.d/pdnsd disable 2>/dev/null
|
[ -f /etc/init.d/pdnsd ] && /etc/init.d/pdnsd disable 2>/dev/null
|
||||||
|
|
||||||
# -----------------------------------------------------------------
|
|
||||||
if [ "$vt_enabled" = 0 ]; then
|
if [ "$vt_enabled" = 0 ]; then
|
||||||
echo "WARNING: Shadowsocksr is disabled."
|
echo "WARNING: Shadowsocksr is disabled."
|
||||||
return 1
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$vt_server_addr" -o -z "$vt_server_port" ]; then
|
if [ -z "$vt_server_addr" -o -z "$vt_server_port" ]; then
|
||||||
echo "WARNING: Shadowsocksr not fully configured, not starting."
|
echo "WARNING: Shadowsocksr not fully configured, not starting."
|
||||||
return 1
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
local vt_gfwlist=`__gfwlist_by_mode $vt_proxy_mode`
|
||||||
[ -z "$vt_proxy_mode" ] && vt_proxy_mode=M
|
[ -z "$vt_proxy_mode" ] && vt_proxy_mode=M
|
||||||
[ -z "$vt_method" ] && vt_method=table
|
[ -z "$vt_method" ] && vt_method=table
|
||||||
[ -z "$vt_timeout" ] && vt_timeout=60
|
[ -z "$vt_timeout" ] && vt_timeout=60
|
||||||
@ -96,6 +104,7 @@ start()
|
|||||||
"fast_open": false
|
"fast_open": false
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
/usr/bin/ssr-redir -u -c $SSRCONF -f $SS_REDIR_PIDFILE || return 1
|
/usr/bin/ssr-redir -u -c $SSRCONF -f $SS_REDIR_PIDFILE || return 1
|
||||||
|
|
||||||
# IPv4 firewall rules
|
# IPv4 firewall rules
|
||||||
@ -133,12 +142,12 @@ EOF
|
|||||||
conf-dir=/var/etc/dnsmasq-go.d
|
conf-dir=/var/etc/dnsmasq-go.d
|
||||||
EOF
|
EOF
|
||||||
/etc/init.d/dnsmasq restart
|
/etc/init.d/dnsmasq restart
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
add_cron
|
add_cron
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
stop()
|
stop()
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -163,23 +172,14 @@ stop()
|
|||||||
del_cron
|
del_cron
|
||||||
}
|
}
|
||||||
|
|
||||||
restart()
|
|
||||||
{
|
|
||||||
KEEP_GFWLIST=Y
|
|
||||||
stop
|
|
||||||
start
|
|
||||||
}
|
|
||||||
|
|
||||||
reload()
|
reload_rule()
|
||||||
{
|
{
|
||||||
local vt_enabled=`uci get shadowsocksr.@shadowsocksr[0].enabled 2>/dev/null`
|
config_load ssrpro
|
||||||
local vt_server_addr=`uci get shadowsocksr.@shadowsocksr[0].server`
|
config_foreach get_config ssrpro
|
||||||
local vt_server_port=`uci get shadowsocksr.@shadowsocksr[0].server_port`
|
|
||||||
local vt_safe_dns=`uci get shadowsocksr.@shadowsocksr[0].safe_dns 2>/dev/null`
|
local vt_gfwlist=`__gfwlist_by_mode $vt_proxy_mode`
|
||||||
local vt_safe_dns_port=`uci get shadowsocksr.@shadowsocksr[0].safe_dns_port 2>/dev/null`
|
|
||||||
local vt_safe_dns_tcp=`uci get shadowsocksr.@shadowsocksr[0].safe_dns_tcp 2>/dev/null`
|
|
||||||
local vt_proxy_mode=`uci get shadowsocksr.@shadowsocksr[0].proxy_mode`
|
|
||||||
local vt_gfwlist=`__gfwlist_by_mode $vt_proxy_mode`
|
|
||||||
KEEP_GFWLIST=Y
|
KEEP_GFWLIST=Y
|
||||||
del_rule
|
del_rule
|
||||||
add_rule
|
add_rule
|
||||||
@ -189,6 +189,14 @@ reload()
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
restart()
|
||||||
|
{
|
||||||
|
KEEP_GFWLIST=Y
|
||||||
|
stop
|
||||||
|
start
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# $1: upstream DNS server
|
# $1: upstream DNS server
|
||||||
start_pdnsd()
|
start_pdnsd()
|
||||||
{
|
{
|
||||||
@ -384,3 +392,4 @@ del_rule()
|
|||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
[ "$KEEP_GFWLIST" = Y ] || ipset destroy "$vt_gfwlist" 2>/dev/null
|
[ "$KEEP_GFWLIST" = Y ] || ipset destroy "$vt_gfwlist" 2>/dev/null
|
||||||
}
|
}
|
||||||
|
|
@ -1,10 +1,10 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
ssr_enable=$(uci get shadowsocksr.@shadowsocksr[0].enabled 2>/dev/null)
|
ssr_enable=$(uci get ssrpro.@ssrpro[0].enabled 2>/dev/null)
|
||||||
|
|
||||||
if [ $ssr_enable -eq 1 ]; then
|
if [ $ssr_enable -eq 1 ]; then
|
||||||
if pidof ssr-redir>/dev/null; then
|
if pidof ssr-redir>/dev/null; then
|
||||||
/etc/init.d/ssrpro reload
|
/etc/init.d/ssrpro reload_rule
|
||||||
else
|
else
|
||||||
/etc/init.d/ssrpro restart
|
/etc/init.d/ssrpro restart
|
||||||
fi
|
fi
|
20
package/lean/luci-app-ssr-pro/root/etc/uci-defaults/ssrpro
Executable file
20
package/lean/luci-app-ssr-pro/root/etc/uci-defaults/ssrpro
Executable file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
uci -q batch <<-EOF >/dev/null
|
||||||
|
delete ucitrack.@ssrpro[-1]
|
||||||
|
add ucitrack ssrpro
|
||||||
|
set ucitrack.@ssrpro[-1].init=ssrpro
|
||||||
|
commit ucitrack
|
||||||
|
delete firewall.ssrpro
|
||||||
|
set firewall.ssrpro=include
|
||||||
|
set firewall.ssrpro.type=script
|
||||||
|
set firewall.ssrpro.path=/etc/ssrpro.include
|
||||||
|
set firewall.ssrpro.reload=1
|
||||||
|
commit firewall
|
||||||
|
EOF
|
||||||
|
|
||||||
|
/etc/init.d/ssrpro stop
|
||||||
|
/etc/init.d/ssrpro enable
|
||||||
|
|
||||||
|
rm -f /tmp/luci-indexcache
|
||||||
|
exit 0
|
Loading…
Reference in New Issue
Block a user