EZproxy is a URL rewriting proxy server. Within the config.txt/ezproxy.cfg file, you identify various hosts that require access from one of your local IP addresses. Next, a remote user makes a web connection to port 2048 of your EZproxy server. When the user authenticates successfully, a cookie is sent to the user's browser. The user's browser presents this during each access to EZproxy, which allows EZproxy to continually validate the user's access rights.
For each Internet host/port combination encountered, EZproxy assigns a unique port number starting at 2050 to act in place of the host/port. EZproxy creates a virtual web server on these ports and forwards received requests on to the appropriate host then returns the web pages to the user. As EZproxy encounters URLs to sites it is not supposed to proxy, it leaves them alone. When the user follows such a link, he/she automatically stops using EZproxy.
Since EZproxy is not a traditional proxy server, it does not require the use of proxy autoconfiguration files.
Certain web sites require the use of "domain-based cookies". A web server named web1.somedb.com might set a cookie and request that it be sent back to any server ending in .somedb.com. Many URL rewriting proxy servers either leave these cookies alone (which destroys their ability to function) or change the cookie so that it is sent back to all virtual web servers (causing cookies to "leak" to the wrong servers). EZproxy handles this situation by storing all domain-based cookies directly on the server as part of the user's session information.
EZproxy is compiled from the exact same source code. Updates are available simultaneously for all supported platforms.