Some month ago i've completed reverse socks proxy server project (RSPS). RSPS differs from casual proxy server - he didn't open a port. How you can connect reverse socks server? The RSPS self connect you!
How does it works?
The RSPS uses on computers, which can't open a port, because firewall, router, etc. Port opens on your computer, and RSPS connect to your computer. And then you work with RSPS as casual proxy.
The program have 2 modules - local and remote.
On local computer you should install the localserver (on image). He opens 3 ports: 1080 - as socks server (you will use it port for your applications), 1081 - commmands port for reverse server, 1082 - tunneling port for reverse server.
On remote computer you should install the remoteclient. He connects your computer at port 1081 and wait command for tunneling. When he receive a command he make a tunnel for it on port 1082 on your computer.
For your programs you should use socks server localhost:1080
Protocols supported: SOCKS 4, 4a, 5
This is freeware, you can download it at http://www.slava-soft.com/downloads/reverseproxybeta.rar