add socks5 and http proxy support