No description
Find a file
Mark Janssen ec035f27aa Actually add the makefile now, renamed Makefile.cc to Makefile.no-gcc otherwise
compiling using gcc would conflict (it attempts to g++ compile Makefile.cc)


git-svn-id: https://proxytunnel.svn.sourceforge.net/svnroot/proxytunnel/trunk/proxytunnel@60 bc163920-b10d-0410-b2c5-a5491ca2ceef
2004-10-01 07:01:09 +00:00
contrib Added proxytunnel spec file for building rpm's, contributed by 2001-11-28 08:35:00 +00:00
debian Working to release... check documents and Makefiles 2004-09-30 09:44:30 +00:00
_copyright.inc Working to release... check documents and Makefiles 2004-09-30 09:44:30 +00:00
base64.c Moved base64 code to base64.[ch] 2002-04-20 15:19:27 +00:00
base64.h Cleaning up more... moving more stuff to separate .c and .h files 2002-04-20 15:54:43 +00:00
basicauth.c Now cleanly compiles on FreeBSD. 2002-04-20 17:22:06 +00:00
basicauth.h Cleaning up more... moving more stuff to separate .c and .h files 2002-04-20 15:54:43 +00:00
CHANGES - Added patch by drwr that fixes some compiler warnings and introduces 2004-10-01 06:55:35 +00:00
cmdline.c - Added patch by drwr that fixes some compiler warnings and introduces 2004-10-01 06:55:35 +00:00
cmdline.h Some things I forgot 2002-05-14 13:01:31 +00:00
config.h - Added patch by Fred Donck <fd0 at donck dot com> to store proxy username 2004-09-30 09:30:38 +00:00
CREDITS - Added patch by Fred Donck <fd0 at donck dot com> to store proxy username 2004-09-30 09:30:38 +00:00
http.c - Added patch by drwr that fixes some compiler warnings and introduces 2004-10-01 06:55:35 +00:00
io.c Now cleanly compiles on FreeBSD. 2002-04-20 17:22:06 +00:00
io.h Cleaning up more... moving more stuff to separate .c and .h files 2002-04-20 15:54:43 +00:00
LICENSE.txt Updated textfiles 2001-11-28 08:53:57 +00:00
Makefile Working to release... check documents and Makefiles 2004-09-30 09:44:30 +00:00
Makefile.cygwin Working to release... check documents and Makefiles 2004-09-30 09:44:30 +00:00
Makefile.darwin Working to release... check documents and Makefiles 2004-09-30 09:44:30 +00:00
Makefile.no-gcc Actually add the makefile now, renamed Makefile.cc to Makefile.no-gcc otherwise 2004-10-01 07:01:09 +00:00
Makefile.no-gnu-getopts Working to release... check documents and Makefiles 2004-09-30 09:44:30 +00:00
Makefile.solaris Ported to Darwin-PPC, Freebsd-i386, Linux-Alpha/PPC/Sparc and Solaris/Sparc 2002-04-20 23:07:39 +00:00
messages.c Cleaning up more... moving more stuff to separate .c and .h files 2002-04-20 15:54:43 +00:00
proxytunnel.c Small fix for solaris (same as CYGWIN) as suggested by Robert Eckardt 2004-06-23 19:08:45 +00:00
proxytunnel.h Cleaning up more... moving more stuff to separate .c and .h files 2002-04-20 15:54:43 +00:00
README - Added patch by Fred Donck <fd0 at donck dot com> to store proxy username 2004-09-30 09:30:38 +00:00

-----------
proxytunnel
-----------

Author:		Jos Visser <josv@osp.nl>, Mark Janssen <maniac@maniac.nl>
Date: 		Thu Sep 30 11:22:03 CEST 2004
Version:	1.2.0

Hi all,

This is proxytunnel, a program that connects stdin and stdout
to an origin server somewhere in the Internet through an industry
standard HTTPS proxy. I originally wrote this program to be used
as an extension to SSH, to be able to SSH to my box at home. In 
this file, I will describe the use with SSH. If you want to use it
with some other application, feel free, and let me know!


Usage:

Proxytunnel is very easy to use, when running proxytunnel with the help
option it specifies it's command-line options.

$ ./proxytunnel --help
Proxytunnel 1.2.0
Jos Visser (Muppet) <josv@osp.nl>, Mark Janssen (Maniac) <maniac@maniac.nl>

Purpose:
  Build generic tunnels trough HTTPS proxy's, supports HTTP authorization

Usage: Proxytunnel [OPTIONS]...
   -h         --help              Print help and exit
   -V         --version           Print version and exit
   -i         --inetd             Run from inetd (default=off)
   -a INT     --standalone=INT    Run as standalone daemon on specified port
   -u STRING  --user=STRING       Username to send to HTTPS proxy for auth
   -s STRING  --pass=STRING       Password to send to HTTPS proxy for auth
   -U STRING  --uservar=STRING    Env var with Username for HTTPS proxy auth
   -S STRING  --passvar=STRING    Env var with Password for HTTPS proxy auth
   -g STRING  --proxyhost=STRING  HTTPS Proxy host to connect to
   -G INT     --proxyport=INT     HTTPS Proxy portnumber to connect to
   -d STRING  --desthost=STRING   Destination host to built the tunnel to
   -D INT     --destport=INT      Destination portnumber to built the tunnel to
   -H STRING  --header=STRING     Add STRING to HTTP headers sent to proxy
   -n         --dottedquad        Convert destination hostname to dotted quad
   -v         --verbose           Turn on verbosity (default=off)
   -q         --quiet             Suppress messages  (default=off)

Examples:
Proxytunnel [ -h | -V ]
Proxytunnel -i [ -u user -s pass ] -g host -G port -d host -D port [ -n ] [ -v | -q ]
Proxytunnel -i [ -U envvar -S envvar ] -g host -G port -d host -D port [ -n ] [ -v | -q ]
Proxytunnel -a port [ -u user -s pass ] -g host -G port -d host -D port [ -n ] [ -v | -q ]


To use this program with OpenSSH to connect to a host somewhere, create
a $HOME/.ssh/config file with the following content:

Host foobar
	ProtocolKeepAlives 30
	ProxyCommand /path/to/proxytunnel -g proxy.customer.com -G 8080 -u user
-s password -d mybox.athome.nl -D 443

With:

- foobar		The symbolic name of the host you want to connect to
- proxy.customer.com	The host name of the proxy you want to connect through
- 8080			The port number where the proxy software listens to
- user			Your proxy userid
- password		Your proxy password
- mybox.athome.nl	The hostname of the box you want to connect to (ultimately)
- 443			The port number of the SSH daemon on mybox.athome.nl

If your proxy doesn't require the username and password for using it,
you can skip these options. If you are on a 'shared' system it's recommendable
to store your proxy user/password data in environment variables and then tell
proxytunnel which variables to check for this data.

If you want to run proxytunnel from inetd add the '--inetd' option.

If you have a broken proxy and use a destination host with dynamic DNS,
add the -n or --dottedquad, the DNS name will then be resolved locally
before sending it to the proxy. (Original patch from Ralph Loader
<suckfish@ihug.co.nz>)

Most HTTPS proxies do not allow access to ports other than 443 (HTTPS)
and 563 (SNEWS), so some hacking is necessary to start the SSH daemon on
the required port. (On the server side add an extra Port statement in
the sshd_config file)

When all this is in place, execute an "ssh foobar" and you're in business!

Share and Enjoy!

Jos Visser <josv@osp.nl>
Mark Janssen <maniac@maniac.nl>