diff --git a/script/clashctl.sh b/script/clashctl.sh index 1b52f9c..6ce5df7 100644 --- a/script/clashctl.sh +++ b/script/clashctl.sh @@ -5,8 +5,11 @@ _set_system_proxy() { local auth=$(sudo "$BIN_YQ" '.authentication[0] // ""' "$CLASH_CONFIG_RUNTIME") [ -n "$auth" ] && auth=$auth@ - local http_proxy_addr="http://${auth}127.0.0.1:${MIXED_PORT}" - local socks_proxy_addr="socks5h://${auth}127.0.0.1:${MIXED_PORT}" + local bind_addr=$(sudo "$BIN_YQ" '.bind-address // ""' "$CLASH_CONFIG_RUNTIME") + [[ -z "$bind_addr" || "$bind_addr" == "*" ]] && bind_addr='127.0.0.1' + + local http_proxy_addr="http://${auth}${bind_addr}:${MIXED_PORT}" + local socks_proxy_addr="socks5h://${auth}${bind_addr}:${MIXED_PORT}" local no_proxy_addr="localhost,127.0.0.1,::1" export http_proxy=$http_proxy_addr