The firewall makes protocol blocking, not the port restriction. Which basically matches headers of the connection or the body of it. As you may notice, this requires plain-text or binary matching some sort. Especially I use TCP port 22 to communicate.
TL;DR: Show me the code (docker):
Buy me a coffee. Become a Patron. It assumes that you are a professional PC user and by no means a professional system administrator. Also, you will be able to create as many proxy logins and passwords for your friends and family as you want. I basically assume that your knowledge and background is more or less similar to mine, when I just started learning about Linux. Why make your own proxy-server?
Proxies and VPNs differ in nature, although they can provide some of the same services. A VPN routes all of the network traffic on a client computer through a tunnel to some other server computer. No individual application configuration is required. In contrast, using a proxy requires each application to be individually configured to ensure its traffic goes through the proxy. The intent of a VPN is to allow a remote client computer to access network resources in some other location as if it were physically located in the same office. One of those network resources can be access to the internet, which masks the IP address of the remote computer.
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up. Connect and share knowledge within a single location that is structured and easy to search. The ssh binary that you use when you connect to a server running ssh supports running a SOCKS proxy out of the box, with the -D flag. Since your proxy is on the same system, you can use localhost or If you need your DNS requests to be tunneled as well if they are not, your DNS lookups will reveal what websites you are trying to visit , you can just check on "Remote DNS" or as well do this entire configuration in about:config.