this seems dangerous, what if `proxy_port` is nil but `proxy_user` is not?