diff --git a/package/lean/luci-app-ssr-plus/Makefile b/package/lean/luci-app-ssr-plus/Makefile index 30cd70a33d..72ae55d2f6 100644 --- a/package/lean/luci-app-ssr-plus/Makefile +++ b/package/lean/luci-app-ssr-plus/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-ssr-plus -PKG_VERSION:=166 +PKG_VERSION:=167 PKG_RELEASE:=2 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) diff --git a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua index ce3c05b689..7a5317010a 100644 --- a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua +++ b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/servers.lua @@ -12,6 +12,8 @@ end) local fs = require "nixio.fs" local sys = require "luci.sys" +local ucic = luci.model.uci.cursor() + m = Map(shadowsocksr, translate("Servers subscription and manage")) -- Server Subscribe @@ -68,8 +70,7 @@ uci:delete_all("shadowsocksr", "servers", function(s) end) uci:save("shadowsocksr") uci:commit("shadowsocksr") -luci.sys.init.stop("shadowsocksr") -luci.sys.init.start("shadowsocksr") +luci.sys.exec("/etc/init.d/shadowsocksr restart") luci.http.redirect(luci.dispatcher.build_url("admin", "services", "shadowsocksr", "servers")) return end @@ -78,7 +79,6 @@ end s = m:section(TypedSection, "servers") s.anonymous = true s.addremove = true -s.sortable = false s.template = "cbi/tblsection" s.sortable = true s.extedit = luci.dispatcher.build_url("admin/services/shadowsocksr/servers/%s") @@ -92,7 +92,7 @@ end o = s:option(DummyValue, "type", translate("Type")) function o.cfgvalue(...) - return Value.cfgvalue(...) or translate("") + return string.upper(Value.cfgvalue(...)) or translate("") end o = s:option(DummyValue, "alias", translate("Alias")) @@ -105,11 +105,6 @@ function o.cfgvalue(...) return Value.cfgvalue(...) or "N/A" end -o = s:option(DummyValue, "switch_enable", translate("Auto Switch")) -function o.cfgvalue(...) - return Value.cfgvalue(...) or "1" -end - o = s:option(DummyValue, "server_port", translate("Socket Connected")) o.template="shadowsocksr/socket" o.width="10%" @@ -118,6 +113,23 @@ o = s:option(DummyValue, "server", translate("Ping Latency")) o.template="shadowsocksr/ping" o.width="10%" + +node = s:option(Button,"apply_node",translate("Apply")) +node.inputstyle = "apply" +node.write = function(self, section) + ucic:set("shadowsocksr", '@global[0]', 'global_server', section) + ucic:save("shadowsocksr") + ucic:commit("shadowsocksr") + luci.sys.exec("/etc/init.d/shadowsocksr restart") + luci.http.redirect(luci.dispatcher.build_url("admin", "services", "shadowsocksr", "client")) +end + +o = s:option(Flag, "switch_enable", translate("Auto Switch")) +o.rmempty = false +function o.cfgvalue(...) + return Value.cfgvalue(...) or 1 +end + m:append(Template("shadowsocksr/server_list")) -return m +return m \ No newline at end of file diff --git a/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr b/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr index 978f941c93..673a29466c 100755 --- a/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr +++ b/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr @@ -49,8 +49,8 @@ uci_get_by_cfgid() { add_cron() { sed -i '/shadowsocksr/d' $CRON_FILE sed -i '/ssrplus.log/d' $CRON_FILE && echo '0 1 * * * echo "" > /tmp/ssrplus.log' >>$CRON_FILE - [ $(uci_get_by_type server_subscribe auto_update 0) -eq 1 ] && echo "0 $(uci_get_by_type server_subscribe auto_update_time) * * * /usr/bin/lua /usr/share/shadowsocksr/subscribe.lua" >>$CRON_FILE - [ $(uci_get_by_type server_subscribe auto_update 0) -eq 1 ] && echo "0 5 * * * /usr/bin/lua /usr/share/shadowsocksr/update.lua" >>$CRON_FILE + [ $(uci_get_by_type server_subscribe auto_update 0) -eq 1 ] && echo "0 $(uci_get_by_type server_subscribe auto_update_time) * * * /usr/share/shadowsocksr/ssrplusupdate.sh" >>$CRON_FILE + crontab $CRON_FILE } @@ -197,7 +197,7 @@ start_rules() { if [ $dports == "1" ]; then proxyport=" " else - proxyport="-m multiport --dports 22,53,587,465,995,993,143,80,443,5222" + proxyport="-m multiport --dports 22,53,587,465,995,993,143,80,443" fi /usr/bin/ssr-rules \ -s "$server" \ diff --git a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/ssrplusupdate.sh b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/ssrplusupdate.sh new file mode 100755 index 0000000000..5db73ff880 --- /dev/null +++ b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/ssrplusupdate.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +/usr/bin/lua /usr/share/shadowsocksr/update.lua +/usr/bin/lua /usr/share/shadowsocksr/subscribe.lua +sleep 10 +/etc/init.d/shadowsocksr restart \ No newline at end of file diff --git a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua index f2fd862152..30d781d8a0 100644 --- a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua +++ b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/subscribe.lua @@ -274,7 +274,7 @@ local function processData(szType, content) end -- wget local function wget(url) - local stdout = luci.sys.exec('wget-ssl --user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36" --no-check-certificate -t 3 -T 10 -O- "' .. url .. '"') + local stdout = luci.sys.exec('wget-ssl --user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36" --no-check-certificate -t 3 -T 10 -O- "' .. url .. '"') return trim(stdout) end diff --git a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/update.lua b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/update.lua index 639417da98..28da8ad657 100644 --- a/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/update.lua +++ b/package/lean/luci-app-ssr-plus/root/usr/share/shadowsocksr/update.lua @@ -94,4 +94,4 @@ else end end -luci.sys.call("/etc/init.d/dnsmasq restart") +luci.sys.call("/etc/init.d/dnsmasq reload")