Browse Source

luci-app-ssr-plus: fix arguments for ss-rust

Fixes: #438

Signed-off-by: Tianling Shen <[email protected]>
Mattraks 4 năm trước cách đây
mục cha
commit
b071a56339
1 tập tin đã thay đổi với 13 bổ sung5 xóa
  1. 13 5
      luci-app-ssr-plus/root/etc/init.d/shadowsocksr

+ 13 - 5
luci-app-ssr-plus/root/etc/init.d/shadowsocksr

@@ -340,8 +340,9 @@ start_udp() {
 	ss | ssr)
 		gen_config_file $UDP_RELAY_SERVER $type 2 $tmp_udp_port
 		ss_program="$(first_type ${type}local ${type}-redir)"
-		[ "$(printf '%s' "$ss_program" | awk -F '/' '{print $NF}')" = "${type}local" ] && ss_extra_arg="--protocol redir"
-		ln_start_bin $ss_program ${type}-redir -c $udp_config_file $ss_extra_arg -U
+		[ "$(printf '%s' "$ss_program" | awk -F '/' '{print $NF}')" = "${type}local" ] &&
+			local ss_extra_arg="--protocol redir -u" || local ss_extra_arg="-U"
+		ln_start_bin $ss_program ${type}-redir -c $udp_config_file $ss_extra_arg
 		echolog "UDP TPROXY Relay:$(get_name $type) Started!"
 		;;
 	v2ray)
@@ -383,7 +384,7 @@ start_shunt() {
 	ss | ssr)
 		gen_config_file $SHUNT_SERVER $type 3 $tmp_shunt_port
 		ss_program="$(first_type ${type}local ${type}-redir)"
-		[ "$(printf '%s' "$ss_program" | awk -F '/' '{print $NF}')" = "${type}local" ] && ss_extra_arg="--protocol redir"
+		[ "$(printf '%s' "$ss_program" | awk -F '/' '{print $NF}')" = "${type}local" ] && local ss_extra_arg="--protocol redir"
 		ln_start_bin $ss_program ${type}-redir -c $shunt_config_file $ss_extra_arg
 		if [ -n "$tmp_local_port" ]; then
 			local tmp_port=$tmp_local_port
@@ -469,7 +470,10 @@ start_local() {
 	case "$type" in
 	ss | ssr)
 		gen_config_file $LOCAL_SERVER $type 4 $local_port
-		ln_start_bin $(first_type ${type}local ${type}-local) ${type}-local -c $local_config_file -u
+		ss_program="$(first_type ${type}local ${type}-local)"
+		[ "$(printf '%s' "$ss_program" | awk -F '/' '{print $NF}')" = "${type}local" ] &&
+			local ss_extra_arg="-U" || local ss_extra_arg="-u"
+		ln_start_bin $ss_program ${type}-local -c $local_config_file $ss_extra_arg
 		echolog "Global_Socks5:$(get_name $type) Started!"
 		;;
 	v2ray)
@@ -530,7 +534,11 @@ Start_Run() {
 	ss | ssr)
 		gen_config_file $GLOBAL_SERVER $type 1 $tcp_port
 		ss_program="$(first_type ${type}local ${type}-redir)"
-		[ "$(printf '%s' "$ss_program" | awk -F '/' '{print $NF}')" = "${type}local" ] && ss_extra_arg="--protocol redir"
+		[ "$(printf '%s' "$ss_program" | awk -F '/' '{print $NF}')" = "${type}local" ] &&
+			{
+				local ss_extra_arg="--protocol redir"
+				case ${ARG_OTA} in '-u') ARG_OTA='-U' ;; esac
+			}
 		for i in $(seq 1 $threads); do
 			ln_start_bin "$ss_program" ${type}-redir -c $tcp_config_file $ARG_OTA $ss_extra_arg
 		done