From addcf9d8fd1db345beb2b552fa9658a857111ad9 Mon Sep 17 00:00:00 2001 From: coolsnowwolf Date: Fri, 21 Dec 2018 18:26:27 +0800 Subject: [PATCH] luci ssr plu: add multi threads option --- package/lean/luci-app-ssr-plus/Makefile | 2 +- .../luasrc/model/cbi/shadowsocksr/client.lua | 9 +++++++++ .../luci-app-ssr-plus/po/zh-cn/ssr-plus.po | 19 +++++++++++++++++-- .../root/etc/init.d/shadowsocksr | 11 ++++++++--- 4 files changed, 35 insertions(+), 6 deletions(-) diff --git a/package/lean/luci-app-ssr-plus/Makefile b/package/lean/luci-app-ssr-plus/Makefile index 2c61dcd68..015796f8f 100644 --- a/package/lean/luci-app-ssr-plus/Makefile +++ b/package/lean/luci-app-ssr-plus/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-ssr-plus PKG_VERSION:=1 -PKG_RELEASE:=77 +PKG_RELEASE:=79 PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_V2ray \ diff --git a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua index 2d0e85443..bb21572dd 100644 --- a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua +++ b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua @@ -36,6 +36,15 @@ o:value("", translate("Disable")) o:value("same", translate("Same as Global Server")) for k, v in pairs(server_table) do o:value(k, v) end +o = s:option(ListValue, "threads", translate("Multi Threads Option")) +o:value("0", translate("Auto Threads")) +o:value("1", translate("1 Thread")) +o:value("2", translate("2 Threads")) +o:value("4", translate("4 Threads")) +o:value("8", translate("8 Threads")) +o.default = "0" +o.rmempty = false + o = s:option(ListValue, "run_mode", translate("Running Mode")) o:value("gfw", translate("GFW List Mode")) o:value("router", translate("IP Route Mode")) diff --git a/package/lean/luci-app-ssr-plus/po/zh-cn/ssr-plus.po b/package/lean/luci-app-ssr-plus/po/zh-cn/ssr-plus.po index f0df2775a..c1d96bcc5 100644 --- a/package/lean/luci-app-ssr-plus/po/zh-cn/ssr-plus.po +++ b/package/lean/luci-app-ssr-plus/po/zh-cn/ssr-plus.po @@ -476,5 +476,20 @@ msgstr "输入不正确的参数组合可能会导致服务无法启动" msgid "Game Mode Host List" msgstr "增强游戏模式客户端LAN IP" -msgid "Server Count" -msgstr "服务器节点数" +msgid "Multi Threads Option" +msgstr "多线程并发转发" + +msgid "Auto Threads" +msgstr "自动(CPU线程数)" + +msgid "1 Thread" +msgstr "单线程" + +msgid "2 Threads" +msgstr "2 线程" + +msgid "4 Threads" +msgstr "4 线程" + +msgid "8 Threads" +msgstr "8 线程" 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 52bd923fd..10d6267f3 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 @@ -29,7 +29,7 @@ switch_enable=0 switch_server=$1 MAXFD=32768 CRON_FILE=/etc/crontabs/root -threads=$(cat /proc/cpuinfo | grep 'processor' | wc -l) +threads=1 uci_get_by_name() { local ret=$(uci get $NAME.$1.$2 2>/dev/null) @@ -301,7 +301,13 @@ start_redir() { elif [ "$utype" == "v2ray" ] ;then ucmd="/usr/bin/v2ray/v2ray" fi - + + if [ "$(uci_get_by_type global threads 0)" = "0" ] ;then + threads=$(cat /proc/cpuinfo | grep 'processor' | wc -l) + else + threads=$(uci_get_by_type global threads) + fi + redir_tcp=1 if [ "$stype" == "ss" -o "$stype" == "ssr" ] ;then local last_config_file=$CONFIG_FILE @@ -314,7 +320,6 @@ start_redir() { $sscmd -config /var/etc/v2-ssr-retcp.json >/dev/null 2>&1 & fi - if [ -n "$UDP_RELAY_SERVER" ] ;then redir_udp=1 if [ "$utype" == "ss" -o "$utype" == "ssr" ] ;then