From f3eb37d700ca06435af38ae9738300541e904eee Mon Sep 17 00:00:00 2001 From: shenyunet Date: Fri, 1 Mar 2024 19:36:21 +0800 Subject: [PATCH] luci-app-ssr-plus: Enhance proxy port configuration with custom port support --- luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua | 4 ++++ luci-app-ssr-plus/root/etc/init.d/shadowsocksr | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua index 91d513036..b24183eec 100644 --- a/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua +++ b/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client.lua @@ -87,6 +87,10 @@ o.default = gfw o = s:option(ListValue, "dports", translate("Proxy Ports")) o:value("1", translate("All Ports")) o:value("2", translate("Only Common Ports")) +o:value("3", translate("Custom Ports")) +cp = s:option(Value, "custom_ports", translate("Enter Custom Ports")) +cp:depends("dports", "3") -- 仅当用户选择“Custom Ports”时显示 +cp.placeholder = "e.g., 80,443,8080" o.default = 1 o = s:option(ListValue, "pdnsd_enable", translate("Resolve Dns Mode")) diff --git a/luci-app-ssr-plus/root/etc/init.d/shadowsocksr b/luci-app-ssr-plus/root/etc/init.d/shadowsocksr index a6bd5004a..1ebd7235c 100755 --- a/luci-app-ssr-plus/root/etc/init.d/shadowsocksr +++ b/luci-app-ssr-plus/root/etc/init.d/shadowsocksr @@ -946,6 +946,11 @@ start_rules() { all) echo "-z" ;; esac } + if [ "$(uci_get_by_type global dports)" == "3" ]; then + local custom_ports=$(uci_get_by_name $GLOBAL_SERVER custom_ports) #custom_ports 存储了用户自定义的端口 + if [ -n "$custom_ports" ]; then + local proxyport="-m multiport --dports $custom_ports" + fi if [ "$(uci_get_by_type global dports 1)" == "2" ]; then local proxyport="-m multiport --dports 22,53,587,465,995,993,143,80,443,853,9418" fi @@ -1071,6 +1076,7 @@ reset() { set shadowsocksr.@global[0].threads='0' set shadowsocksr.@global[0].run_mode='router' set shadowsocksr.@global[0].dports='2' + set shadowsocksr.@global[0].custom_ports='80,443' set shadowsocksr.@global[0].pdnsd_enable='1' set shadowsocksr.@global[0].tunnel_forward='8.8.4.4:53' set shadowsocksr.@global[0].monitor_enable='1'