This program connects stdin and stdout to a server somewhere on the network, through a standard HTTPS proxy. We mostly use it to tunnel SSH sessions through HTTP(S) proxies, allowing us to do many things that wouldn’t be possible without it.
* Create tunnels using HTTP and HTTPS proxies (That understand the HTTP CONNECT command). * Work as a back-end driver for an OpenSSH client, and create SSH connections through HTTP(S) proxies. * Work as a stand-alone application, listening on a port for connections, and then tunneling these connections to a specified destination.
This was originally posted on rootninja back in December 2009 and dug up from the Internet graveyard that is the wayback machine. Versions of Fedora and this app have changed significantly. Use this howto as-is at your own risk. As of Fedora 21 (at least), you’re better off using yum to download the prebuilt and configured binary version instead of building it (as far as just getting it to work goes anyway!) But hey, maybe you’re still using Fedora 12 for one reason or another. No judgement.
$ svn co https://proxytunnel.svn.sourceforge.net/svnroot/proxytunnel/
A trunk A trunk/website … A tags/v1-6-0-rc1/proxytunnel/Makefile.cygwin A tags/v1-6-0-rc1/proxytunnel/Makefile Checked out revision 248.
Getting it built seems to be pretty straight forward stuff…
$ make … make -C docs make: Entering directory /home/svn/proxytunnel/trunk/proxytunnel/docs' asciidoc -b docbook -d manpage proxytunnel.1.txt make: asciidoc: Command not found make: *** [proxytunnel.1.xml] Error 127 make: Leaving directory /home/svn/proxytunnel/trunk/proxytunnel/docs’ make: *** [docs] Error 2
$ yum install asciidoc
Running Transaction Installing : asciidoc-8.4.5-4.fc12.noarch 1/1 Installed: asciidoc.noarch 0:8.4.5-4.fc12 Complete!
make -C docs make: Entering directory /home/svn/proxytunnel/trunk/proxytunnel/docs' asciidoc -b docbook -d manpage proxytunnel.1.txt xmlto man proxytunnel.1.xml make: xmlto: Command not found make: *** [proxytunnel.1] Error 127 rm proxytunnel.1.xml make: Leaving directory /home/svn/proxytunnel/trunk/proxytunnel/docs’ make: *** [docs] Error 2
$ yum install xmlto
Running Transaction Installing : xmlto-0.0.23-2.fc12.x86_64 1/1 Installed: xmlto.x86_64 0:0.0.23-2.fc12 Complete!
Note: Writing proxytunnel.1 asciidoc -d manpage proxytunnel.1.txt asciidoc proxytunnel-paper.txt rm proxytunnel.1.xml make: Leaving directory `/home/svn/proxytunnel/trunk/proxytunnel/docs’
$ ./proxytunnel –help
proxytunnel 1.9.0 (rev 248) Copyright 2001-2008 Proxytunnel Project Usage: proxytunnel [OPTIONS]… Build generic tunnels trough HTTPS proxies using HTTP authentication Standard options: -i, –inetd Run from inetd (default: off) -a, –standalone=INT Run as standalone daemon on specified port -p, –proxy=STRING Local proxy host:port combination -r, –remproxy=STRING Remote proxy host:port combination (using 2 proxies) -d, –dest=STRING Destination host:port combination -e, –encrypt SSL encrypt data between local proxy and destination -E, –encrypt-proxy SSL encrypt data between client and local proxy -X, –encrypt-remproxy SSL encrypt data between local and remote proxy Additional options for specific features: -F, –passfile=STRING File with credentials for proxy authentication -P, –proxyauth=STRING Proxy auth credentials user:pass combination -R, –remproxyauth=STRING Remote proxy auth credentials user:pass combination -N, –ntlm Use NTLM based authentication -t, –domain=STRING NTLM domain (default: autodetect) -H, –header=STRING Add additional HTTP headers to send to proxy -x, –proctitle=STRING Use a different process title Miscellaneous options: -v, –verbose Turn on verbosity -q, –quiet Suppress messages -h, –help Print help and exit -V, –version Print version and exit
And there you have it, enjoy.