diff --git a/shadowsocks-libev/files/shadowsocks-libev.config b/shadowsocks-libev/files/shadowsocks-libev.config index 01f3251a9..19e633d6d 100644 --- a/shadowsocks-libev/files/shadowsocks-libev.config +++ b/shadowsocks-libev/files/shadowsocks-libev.config @@ -34,7 +34,7 @@ config ss_rules 'ss_rules' option local_default 'forward' config server 'sss0' - option disabled 0 + option disabled 1 option server '192.168.1.3' option server_port '65101' option key '' diff --git a/shadowsocks-libev/files/shadowsocks-libev.init b/shadowsocks-libev/files/shadowsocks-libev.init index ce099ae82..21d437578 100644 --- a/shadowsocks-libev/files/shadowsocks-libev.init +++ b/shadowsocks-libev/files/shadowsocks-libev.init @@ -283,15 +283,21 @@ rules_exist() { server_state() { config_get disabled "$1" disabled "0" [ "$disabled" = "0" ] && enabled="1" + config_get key "$1" key + [ -n "$key" ] && passkey=$key + config_get password "$1" password + [ -n "$password" ] && passkey=$password } rules_up() { rules_exist && return 0 [ "$(uci -q get shadowsocks-libev.ss_rules.disabled)" = "1" ] && return 0 enabled="0" + passkey="" config_load shadowsocks-libev config_foreach server_state server [ "$enabled" = "0" ] && return + [ -z "$passkey" ] && return logger -t "Shadowsocks" "Rules UP" for cfgtype in ss_redir; do config_foreach ss_rules_restart "$cfgtype" "$cfgtype"