luci-app-ssr-plus: Enhance proxy port configuration with custom port support

This commit is contained in:
shenyunet 2024-03-01 19:36:21 +08:00 committed by sbwml
parent 45f9b8f233
commit f3eb37d700
2 changed files with 10 additions and 0 deletions

View File

@ -87,6 +87,10 @@ o.default = gfw
o = s:option(ListValue, "dports", translate("Proxy Ports")) o = s:option(ListValue, "dports", translate("Proxy Ports"))
o:value("1", translate("All Ports")) o:value("1", translate("All Ports"))
o:value("2", translate("Only Common 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.default = 1
o = s:option(ListValue, "pdnsd_enable", translate("Resolve Dns Mode")) o = s:option(ListValue, "pdnsd_enable", translate("Resolve Dns Mode"))

View File

@ -946,6 +946,11 @@ start_rules() {
all) echo "-z" ;; all) echo "-z" ;;
esac 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 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" local proxyport="-m multiport --dports 22,53,587,465,995,993,143,80,443,853,9418"
fi fi
@ -1071,6 +1076,7 @@ reset() {
set shadowsocksr.@global[0].threads='0' set shadowsocksr.@global[0].threads='0'
set shadowsocksr.@global[0].run_mode='router' set shadowsocksr.@global[0].run_mode='router'
set shadowsocksr.@global[0].dports='2' 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].pdnsd_enable='1'
set shadowsocksr.@global[0].tunnel_forward='8.8.4.4:53' set shadowsocksr.@global[0].tunnel_forward='8.8.4.4:53'
set shadowsocksr.@global[0].monitor_enable='1' set shadowsocksr.@global[0].monitor_enable='1'