Add SOCKS5 mode, fix #305