PortProxy

From Moonlight Design
Revision as of 06:12, 11 May 2008 by Stevenlawrance (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
PortProxy 95 -- the Windows 95 version -- running in the system tray using Wine on Novell openSUSE 10.2. PortProxy is the icon closest to the right, next to the clock

PortProxy is a TCP connection forwarding service that I wrote in college so that I could run servers from behind a firewall. When I put Linux onto resnet.bryant.edu, I no longer needed this program, but it's still cool if you are running Windows. I also wrote a version that runs as a system tray application in Windows 95.

Download

Configuration

PortProxy stores its configuration in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PortProxy\Parameters registry key. It can be dynamically configured using a command line interface via a localhost telnet connection to port 256.

When connected to the configuration command line interface, the following commands can be used. Each command is terminated with a newline character. Responses from the server begin with either a plus sign (+) for a positive response or a minus sign (-) for a negative response, similar to DirList Server's protocol.

Command Parameters Meaning
+ port intaddr intport 6 Adds a forwarded port
  • port: The local port that you want PortProxy to listen on
  • intaddr: The internal IPv4 address that you want PortProxy to connect to when new connections on the local listening port are established
  • intport: The port number on the internal address that you want PortProxy to connect to when new connections on the local listening port are established
  • 6: This is the internet protocol type. The number six is the constant for TCP. UDP is not supported, though code for it exists as I was trying to make it work
- port Removes a forwarded port
  • port: The local port to remove that PortProxy is listening on
s port Returns whether or not the given local port is being forwarded by PortProxy
  • port: The local port to examine
t port Tests a local port for use by PortProxy or another application
  • port: The local port to examine
x Closes PortProxy
n No operation (no-op)