Firewalls
SOCKS proxy
A circuit-level gateway: it opens any TCP connection a client asks for and relays the bytes unread.
The client names a host and port; the proxy connects and copies data both ways. It decides by who asks and where
to, never by content, so it carries any protocol (ssh, chat, HTTP) and can judge none of them. With socks5h (curl's
--socks5-hostname) the proxy also does the name lookup.