From 96a10d87fff99f3431004b098bad2a065a60152d Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 18 Nov 2024 16:51:45 +0100 Subject: [PATCH] Fix Shadowsocks-Rust ss-tunnel --- .../files/shadowsocks-rust.init-nft | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/shadowsocks-rust/files/shadowsocks-rust.init-nft b/shadowsocks-rust/files/shadowsocks-rust.init-nft index dc3b2c9a4..ac349f84d 100755 --- a/shadowsocks-rust/files/shadowsocks-rust.init-nft +++ b/shadowsocks-rust/files/shadowsocks-rust.init-nft @@ -55,10 +55,15 @@ ss_mkjson_ss_server_conf() { ss_mkjson_ss_tunnel_conf() { ss_mkjson_server_conf || return 1 - [ -n "$forward_address" ] || return 1 - [ -n "$forward_port" ] || return 1 - json_add_string forward_address "$forward_address" - json_add_int forward_port "$forward_port" + json_add_array "locals" + json_add_object "" + json_add_string protocol "${cfgtype/ss_/}" + [ -z "$forward_address" ] || json_add_string forward_address "$forward_address" + [ -z "$forward_port" ] || json_add_int forward_port "$forward_port" + [ -z "$local_address" ] || json_add_string local_address "$local_address" + [ -z "$local_port" ] || json_add_int local_port "$local_port" + json_close_object + json_close_array } ss_xxx() { @@ -81,11 +86,13 @@ ss_xxx() { json_add_boolean reuse_port "$reuse_port" json_add_boolean no_delay "$no_delay" json_add_boolean mptcp "$mptcp" - [ "$cfgtype" != "ss_local" ] && json_add_string protocol "${cfgtype/ss_/}" - [ -z "$local_address" ] || json_add_string local_address "$local_address" - [ -z "$local_port" ] || json_add_int local_port "$local_port" - [ -z "$local_ipv4_address" ] || json_add_string local_ipv4_address "$local_ipv4_address" - [ -z "$local_ipv6_address" ] || json_add_string local_ipv6_address "$local_ipv6_address" + #[ "$cfgtype" != "ss_local" ] && json_add_string protocol "${cfgtype/ss_/}" + if [ "$cfgtype" != "ss_tunnel" ]; then + [ -z "$local_address" ] || json_add_string local_address "$local_address" + [ -z "$local_port" ] || json_add_int local_port "$local_port" + [ -z "$local_ipv4_address" ] || json_add_string local_ipv4_address "$local_ipv4_address" + [ -z "$local_ipv6_address" ] || json_add_string local_ipv6_address "$local_ipv6_address" + fi [ -z "$mode" ] || json_add_string mode "$mode" [ -z "$mtu" ] || json_add_int mtu "$mtu" [ -z "$timeout" ] || json_add_int timeout "$timeout"