diff --git a/README b/README index 4ffdc55..1c30836 100644 --- a/README +++ b/README @@ -3,8 +3,8 @@ proxytunnel ----------- Author: Jos Visser , Mark Janssen -Date: Mon Dec 31 16:50:33 CET 2007 -Version: 1.8.0 +Date: Mon Mar 3 22:49:43 CET 2008 +Version: 1.9.0 Hi all, @@ -22,53 +22,42 @@ Proxytunnel is very easy to use, when running proxytunnel with the help option it specifies it's command-line options. $ ./proxytunnel --help -Proxytunnel 1.8.0 (rev 165) -Copyright 2001-2008 Proxytunnel Project -Jos Visser (Muppet) , Mark Janssen (Maniac) +proxytunnel 1.9.0 (rev 224) Copyright 2001-2008 Proxytunnel Project +Usage: proxytunnel [OPTIONS]... +Build generic tunnels trough HTTPS proxy's, supports HTTP authorization -Purpose: - Build generic tunnels trough HTTPS proxy's, supports HTTP authorization +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 Encrypt between 1st and 2nd proxy using SSL -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 - -e --encrypt Encrypt proxy<->destination using SSL - -E --encrypt-proxy Encrypt client<->proxy (proxy talks SSL) - -x STRING --proctitle=STRING Set the process-title to STRING - -p STRING --proxy=STRING Proxy host:port combination to connect to - -d STRING --dest=STRING Destination host:port to built the tunnel to - -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 - -F STRING --passfile=STRING File with credentials for proxy auth - -N --ntlm Use NTLM Based Authentication - -t STRING --domain=STRING NTLM Domain (default: autodetect) - -r STRING --remproxy=STRING Use a remote proxy to tunnel over (2 proxies) - -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. +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 (default=off) - -q --quiet Suppress messages (default=off) + -v, --verbose Turn on verbosity + -q, --quiet Suppress messages + -h, --help Print help and exit + -V, --version Print version and exit -Examples: -Proxytunnel [ -h | -V ] -Proxytunnel -i [ -u user ] -p proxy:port -d host:port [ -v | -q ] -Proxytunnel -i [ -U envvar ] -p proxy:port -d host:port [ -v | -q ] -Proxytunnel -a port -p proxy:port -d host:port [ -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 -p proxy:8080 -u user + ProxyCommand /path/to/proxytunnel -p proxy:8080 -P username -d mybox.athome.nl:443 With: @@ -76,7 +65,7 @@ With: - foobar The symbolic name of the host you want to connect to - proxy 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 +- username Your proxy userid (password will be prompted) - 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 @@ -115,6 +104,33 @@ connect to a process that understands SSL itself. When all this is in place, execute an "ssh foobar" and you're in business! +Environment Variables +===================== + +Proxytunnel can make use of the following environment variables: +PROXYUSER Username for the proxy-authentication +PROXYPASS Password for the proxy-authentication +REMPROXYUSER Username for remote proxy-authentication +REMPROXYPASS Password for remote proxy-authentication +HTTP_PROXY Primary proxy host and port information + Format: HTTP_PROXY=http://:/ + +Authentication File +=================== + +Proxytunnel can read authentication data from a file (-F/--passfile) +The format for this file is: + = + = +etc + +One entry per line, 1 space before and after the equal sign. +The accepted fields are: + * proxy_user + * proxy_passwd + * remproxy_user + * remproxy_passwd + Share and Enjoy! Jos Visser diff --git a/RELNOTES b/RELNOTES new file mode 100644 index 0000000..06160ff --- /dev/null +++ b/RELNOTES @@ -0,0 +1,38 @@ +Proxytunnel 1.9.0 release notes + +Proxytunnel 1.9.0 summarizes the development in Proxytunnel over the last +year. It includes many bugfixes and a few new features. This release wouln't +have been possible without the help from the Proxytunnel community, and I +especially would like to thank Dag Wieer for his many patches and fixes. + +Proxytunnel 1.9.0 should work on all Posix compliant systems, including Linux +*BSD, Windows and OS X. It can work with 1 proxy (default, and most used) +or with 2 proxies chained together (-r). For information regarding the use +of 2 proxies, why you would want or need this, see Dag's page at: +http://dag.wieers.com/howto/ssh-http-tunneling/ + +Proxytunnel now supports SSL encryption on 3 different phases in the +connection chain. Between proxytunnel and the primary proxy (-E), between +the local primary and the destination (-e), and between the primary and +secondary proxies (-X) + +Proxytunnel supports proxies with Basic (-P/-R) and NTLM (-N) authentication, +and can read the username/password information from the commandline, the +environment or a configfile. + +The old -u/--user and -s/--pass options have been deprecated, and replaced +by a single -P/--proxyauth option. This accepts the authentication information +in the format user:password, or will prompt for the password when only the +username is given (omit the ':' sign in this case) + +The -U/--uservar -S/--passvar options have been removed, use the environment +variables named in the README file in stead. + +Proxytunnel can now also read the proxy configuration from the environment +by reading the HTTP_PROXY (format http://host:port/) + +If you require any assistance, have any comments or want to participate +in proxytunnel development, you can send a message to the proxytunnel-users +mailinglist: proxytunnel-users@sourceforge.net + +The Proxytunnel Team diff --git a/config.h b/config.h index e81ad84..4e73de1 100644 --- a/config.h +++ b/config.h @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define VERSION "1.8.0" +#define VERSION "1.9.0" #define PACKAGE "proxytunnel" #define PURPOSE "Build generic tunnels through HTTPS proxies" #define AUTHORS "Jos Visser (Muppet) , Mark Janssen (Maniac) "