Proxy-DE - A freeware proxy server for Windows

 

>> Proxy-DE home

Documentation

Download [.zip 45K]

Readme file

Discussion group

Contact the author

Other software

 

© Copyright Dave Edwards, 2006 - 2008. All rights reserved.

NOTICE: This software is provided on an "as is" basis, without any support or warranty. If you choose to use it, you do so at your own risk. The author is not responsible for any expenses, damages, loss of data, etc. that may occur from use of this software.

Proxy.exe is a freeware program for Windows, written by Dave Edwards. There is no charge for personal, non-commercial use. (If you wish to use it in a commercial, educational, institutional, or governmental environment, please contact the author - see the contact info below.)

Introduction and Overview

This software acts as a proxy server, also known as a TCP/IP port forwarder program. A proxy server is an intermediary between a TCP/IP client program and the corresponding TCP/IP server program. Instead of connecting directly to the server, the client connects instead to the proxy, which then connects to the server. The proxy reads TCP/IP socket data from the client and writes it to the server, and at the same time reads data from the server and writes it to the client. In most cases, the proxy does not alter the data. The proxy is transparent (invisible) to the client and server programs, except that performance may be decreased slightly and they may have to be configured to use different TCP/IP port numbers and host names or IP addresses. It's also possible to have a chain of 2 or more proxies between the client and server.

So, if the proxy is transparent, why use one? The answer is that, since the proxy sees all the data passing between the client and server, it can provide some "value-added" services. For example, it can display the data. It can filter incoming connections from clients, based on IP address, allowing some addresses and rejecting others (similar to a basic firewall).

If 2 proxies are used, one on the client side and one on the server side, they can authenticate each other and encrypt all data passing between the client and server, thus establishing a secure "tunnel" between them. This tunnel protects the data from being viewed or modified by any software or hardware in the TCP/IP path between the two proxies. This is important for protecting usernames, passwords, and other confidential data. Proxy tunnelling is used most often for telnet (or tn3270 or tn5250) connections, but works with most client/server connections. It does not automatically work with the FTP file transfer protocol, because FTP uses a separate data connection which is negotiated for each file transfer; you can log in with FTP, but file transfer and directory listings do not work when using the proxy. However, see http://canpub.com/teammpg/de/mcgweb/securftp.txt for a way around this.

The tunnelling feature is similar to part of SSH, but is easier than SSH to set up on Windows (just a small .exe file, no Cygwin needed). No special server version of the proxy is required - the same program is used at both the client and server ends of the tunnel.

Another possibility is for the proxy to act as a web (HTTP) proxy: HTTP requests from a web browser (the client) are passed to the proxy, which modifies the request header and passes the request on to the appropriate web server. In this way, the web proxy can provide Internet connection sharing for web browsing on machines in a local network. Machines on the local network pass their web requests to a web proxy running on one machine which has a connection to the Internet, allowing the machines to share that one connection. If the web proxy is smart enough, it can even handle SSL (https) web requests. [Note: The web feature is not finished yet. It will be available in a future version.]

All these proxy services can be done without having to modify the source of the client and server programs. Only their configuration (port numbers, etc.) may have to be changed. In most cases, you only have to configure the client to use a different port number and host name to connect to: tell it to connect to the port number and host name (usually localhost or 127.0.0.1) of the proxy, instead of the port number and host name of the server. You do not have to change the server configuration. This makes it possible to display socket data, use an encrypted tunnel, etc., even when using clients and servers for which you do not have source code. Therefore the proxy is a valuable software tool.

Links and more information

Download proxy.exe version 1.1 (as a .zip file, 45K, 45284 bytes).
MD5 digest of .zip: D23D5384 D9BA75CB F644A6B6 7E08AE0B
SHA1 digest of .zip: 514DC368 D0977CC2 B028F521 785089C8 6BC78ACB
After downloading file proxy_11.zip to your Windows machine, use WinZip (or an equivalent utility) to extract proxy_11.exe, and copy it to a directory in your execution path, renaming it to proxy.exe. To start it, enter the proxy command in a Command window. A sample command is:

    proxy -t 2000 localhost 23

Note: In Windows, to open a Command window for entering the proxy command, use Start --> Run, then enter cmd.exe (for Win 2000 and Win XP) or command.com (for Win 95 and Win 98).

proxy.txt - documentation file

Readme file - contains MD5 and SHA1 check sums and other general info.

Discussion group: There is a Yahoo discussion group, Proxy-DE, for this program. Go to http://groups.yahoo.com/group/Proxy-DE where you can read usage tips, messages posted by users, and announcements of updates. To post messages or access the Files area, you have to join the group, by clicking on "Join This Group!" near the top of the Home page for the group. The group's moderator may have to approve new members (to help prevent spam), so it may take a day or so for your membership to take effect. If you post messages to the group, the first couple of messages may also have to be approved, so may take a day or so to appear.

Send a message to the author