proxy is part of the issue,
your other issue is dealing with port forwarding, and a reverse tunnel ssh solution to that covers proxies.
you could go to http://portforward.com/ or get his manual and try to walk him through it.
and exception in their firewall, entering your IP so making it secure, so either you have the burden of talking them through it, or you have a burden on you to set up a lot your end and make it simple for them.. So not so easy.
You can make it quick and easy for them but to set it all up is quite a bit for you to do first time anyway.
I'm not going to use terminology client/server except where it's unambiguous.
The terms initiator and listener are sufficiently self explanatory, particularly for a reader that could get remotely close to doing this or understanding it.
you need some reverse tunnel ssh connection..
you could do a reverse VNC connection to him. PCHelpware can create an EXE they run it and you access their computer.. even that can be a hassle to create. But that's VNC style.
but if you want a web proxy, I don't know if there's any automated thing out there..
But OpenSSH has options to do it minus any EXE. The result is like this
let's call the person that can't do anything, the END USER/EU.
You'd want to give the EU an EXE or at least some package, that'd do the following..
A is a web server
B is SSH initiator
C is a web/http client, a web browser
D is an SSH listener.
A and B are connected.
C and D are connected.
B connects to D
that's the connection in actuality.
Now they're all connected and C can effectively(though not in actuality) connect to A through C,D,B,A
via a connection made in actuality, (to put it another way) as B to A, B to D, C to D.
to put it another way, B connects to A and D. Then C can I won't say connect, but reach A and for all intents and purposes think it's connecting directly to A.
initiators can connect to listeners not vice versa.
EU can connect to You but not vice versa.
That could be made easy for the EU. Though would take some work to setup at your end in putting it in a package so they just run an EXE. Might be interesting to setup though.
SSH has some options like -L and maybe -R that are relevant.
That's an outline of how you'd set it up, make an EXE and it's very easy for the end user! Very quick for them!