I have been looking into utilities which enable tunneling (SSH or otherwise) through an HTTP proxy:
I've not actually ever used any of them, though. It is not clear to me how these differ in terms of how they actually set the tunnel up. I'm interested both in the simpler case of HTTP and the more complex case of HTTPS.
I do know that httptunnel has two complementing components, one being a server-side perl script, while corkscrew and proxytunnel are only client-side IIANM. Still, the details of how the tunnel is set up escape me.
I've not used the other two, but
corkscrew
connects to the proxy and uses theCONNECT
HTTP verb to request the proxy connects to the remote resource without doing any further HTTP protocol. Any traffic sent/received after the connection is established is transmitted as-is.This is exactly the same as how regular HTTP clients behind a proxy connect to SSL/TLS websites, just instead of port 443 it's port 22, or some other port.