add base socks5 function