diff --git a/README b/README index c8ab302..ea4c0be 100755 --- a/README +++ b/README @@ -22,7 +22,8 @@ Proxytunnel is very easy to use, when running proxytunnel with the help option it specifies it's command-line options. $ ./proxytunnel --help -Proxytunnel 1.5.0 +Proxytunnel 1.5.1 +Copyright 2001-2005 Proxytunnel Project Jos Visser (Muppet) , Mark Janssen (Maniac) Purpose: @@ -33,26 +34,32 @@ Usage: Proxytunnel [OPTIONS]... -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 - -t STRING --domain=STRING NTLM Domain (default: autodetect) - -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 + +Parameters for proxy-authentication (not needed for plain proxies): + -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 -N --ntlm Use NTLM Based Authentication + -t STRING --domain=STRING NTLM Domain (default: autodetect) + -H STRING --header=STRING Add STRING to HTTP headers sent to proxy + + If you don't provide -s or -S you will be prompted for a password. + +Miscellaneous options: -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 ] +Proxytunnel -i [ -u user ] -g host -G port -d host -D port [ -n ] [ -v | -q ] +Proxytunnel -i [ -U envvar ] -g host -G port -d host -D port [ -n ] [ -v | -q ] +Proxytunnel -a port -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: @@ -60,7 +67,7 @@ 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 +-d mybox.athome.nl -D 443 With: @@ -68,14 +75,15 @@ With: - 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. +you can skip these options. If you don't provide the password on the +command-line (which is recommended) you will be prompted for it by +proxytunnel. If you are on a trusted system you can also put the +password in an environment variable, and tell proxytunnel where to +find it with '-S'. If you want to run proxytunnel from inetd add the '--inetd' option. @@ -87,14 +95,16 @@ before sending it to the proxy. (Original patch from Ralph Loader 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) +the sshd_config file, or use a redirect rule in your firewall.) When your proxy uses NTLM authentication (like Microsoft IIS proxy) you need to specify -N to enable NTLM, and then specify your username -and password (and optionally domain, if autodetection fails). Usename -and password can be specified on the commandline, or, more securely, -using environment variables. The domain can only be specified on the -commandline. +and password (and optionally domain, if autodetection fails). +The NT domain can be specified on the commandline if the +auto-detection doesn't work for you (which is usually the case) + +Currently NTLM works quite well under Linux, however, on my test-proxy +it failes when running under cygwin... we are still looking into this. When all this is in place, execute an "ssh foobar" and you're in business!