Birch is a simple proxy or tunnel application with a filter mechanism for line based application protocols built on TCP. Initially it was written to add encryption in a transparent way to the IRC protocol but as the encryption mechanism is implemented in a modular way, it is not restricted to just supporting encryption. Filters can be supplied via Java's Service Provider mechanism. A CLI and a GUI are available.
pwnat, pronounced "poe-nat", is a tool that allows any number of clients behind NAT gateways to communicate with a server behind a separate NAT with no port forwarding and no DMZ setup on any routers in order to directly communicate with each other. The server does not need to know anything about the clients trying to connect, nor does it need to communicate with any other hosts in order to initiate the communication. Simply put, this is a proxy server that works behind a NAT, even when the client is behind a NAT. There is no middle man, no proxy, no third party, no UPnP required, no spoofing, and no DNS tricks. More importantly, the client can then connect to any host or port on any remote host or to a fixed host and port decided by the server.
Pagekite is software to make servers on "localhost" visible to the wider Internet. It can be used by Web developers to show off their works in progress to clients or colleagues, embedded developers who need direct access to devices in the field, or as an alternative to dynamic DNS for individuals/hobbyists who would rather host their own content than rely on 3rd party hosting. It creates and maintains a tunnel between your server on localhost and a remote "front-end" (a reverse proxy). Only the front-end has to have a visible IP address; the server itself can reside on a heavily firewalled computer, a mobile device, or even an anonymous node on the Tor network.