diff --git a/shadowsocks-libev/files/shadowsocks-libev.init-nft b/shadowsocks-libev/files/shadowsocks-libev.init-nft index e0d6ba774..cf344260b 100755 --- a/shadowsocks-libev/files/shadowsocks-libev.init-nft +++ b/shadowsocks-libev/files/shadowsocks-libev.init-nft @@ -131,6 +131,14 @@ ss_xxx() { ss_rules_cb } +ss_omr_servers() { + add_ip() { + local ip="$1" + [ -n "$ip" ] && [ -z "$(echo \"$ss_redir_servers\" | grep \"$ip\")" ] && ss_redir_servers="$ss_redir_servers $ip" + } + config_list_foreach "$1" ip add_ip +} + ss_rules_cb() { local cfgserver server @@ -296,6 +304,10 @@ start_service() { for cfgtype in ss_local ss_redir ss_server ss_tunnel; do config_foreach ss_xxx "$cfgtype" "$cfgtype" done + if [ -n "$(uci show openmptcprouter)" ]; then + config_load openmptcprouter + config_foreach ss_omr_servers server + fi ss_rules } diff --git a/shadowsocks-rust/files/shadowsocks-rust.init-nft b/shadowsocks-rust/files/shadowsocks-rust.init-nft index 9e708648f..8b51253b9 100755 --- a/shadowsocks-rust/files/shadowsocks-rust.init-nft +++ b/shadowsocks-rust/files/shadowsocks-rust.init-nft @@ -104,6 +104,14 @@ ss_xxx() { ss_rules_cb } +ss_omr_servers() { + add_ip() { + local ip="$1" + [ -n "$ip" ] && [ -z "$(echo \"$ss_redir_servers\" | grep \"$ip\")" ] && ss_redir_servers="$ss_redir_servers $ip" + } + config_list_foreach "$1" ip add_ip +} + ss_rules_cb() { local cfgserver server @@ -269,6 +277,10 @@ start_service() { for cfgtype in ss_local ss_redir ss_server ss_tunnel; do config_foreach ss_xxx "$cfgtype" "$cfgtype" done + if [ -n "$(uci show openmptcprouter)" ]; then + config_load openmptcprouter + config_foreach ss_omr_servers server + fi ss_rules }