A server that sits between a client application, such as a Web browser, and a real server. It intercepts all requests to the real server to see if it can fulfill the requests itself. If not, it forwards the request to the real server.
as far as bypassing blocked ports on a router, i think that would depend on how the network is setup.