diff --git a/shadowsocks-libev/files/shadowsocks-libev.init-nft b/shadowsocks-libev/files/shadowsocks-libev.init-nft index 0abc4855d..97740176f 100755 --- a/shadowsocks-libev/files/shadowsocks-libev.init-nft +++ b/shadowsocks-libev/files/shadowsocks-libev.init-nft @@ -145,6 +145,20 @@ ss_rules_cb() { fi } +ss_redir_ports() { + port=$(uci -q get shadowsocks-libev.$1.local_port) + server=$(uci -q get shadowsocks-libev.$1.server) + disabled=$(uci -q get shadowsocks-libev.$1.disabled) + if [ "$disabled" != "1" ] && ([ "$server" = "$2" ] || [ "$2" = "" ]); then + if [ "$port" -lt "$min_ss_redir_ports" ]; then + min_ss_redir_ports=$port + fi + if [ "$port" -gt "$max_ss_redir_ports" ]; then + max_ss_redir_ports=$port + fi + fi +} + ss_rules_nft_gen() { local cfg="ss_rules" local cfgtype