added socks proxy ability with custom port