Squid is a forward proxy with caching and authentication.
It support http://, ftp://, with limited support for https://, wss:// and TLS/SSL in general (but not ws://, i.e. WebSocket UPGRADE without TLS encapsulation, and not SOCKS protocol).
$ docker run -d -p 3128:3128 wernight/squid
Then you may set to use the proxy, for example via:
$ curl --proxy http://localhost:3128/ example.com
Customize settings in /etc/squid/squid.conf. For example on Kubernetes you
probably want to set dns_defnames on.
Suggestions are welcome on our GitHub issue tracker.