UProxy

by Alessandro Staltari



Download:

To download UProxy 0.91 click here.

This release has not been tested by me. Besides some cosmetic changes in the code, it should fix an ugly bug affecting UProxy when used in Unix-like operating systrem (thanks to Manuel Moos who alerted me and suggested the patch).

If you have problems with the new version, let me know (see feedback section in this page). You can find the previous release here.

Description:

UProxy a proxy for UDP protocols. It is inspired by Vincent Amoroso's program udpproxy.

Initially UProxy has been designed to allow playing Unreal Tournament matches over Internet on computers connected by a LAN sharing a dial up  connection, but it could be used to play other games (such as Quake) and by every program using a UDP protocol where clients  don't have to bind a fixed port (not only games!).

The main reason why I did UProxy when udpproxy already exists, is because I tried to port udpproxy to Windows but it was so difficult that I decided to rewrite it from a scratch. As result, UProxy should compile (and work) under Windows, Linux and, probably, every OS supporting BSD sockets.

UProxy doesn't support all the features of udpproxy yet, even if it should  not be difficult to add them. However UProxy is now pretty usable and I  will wait  before adding other features while  I'm not sure I really  need it.

Usage:

uproxy localport serveraddress serverport

where

localport is the port the proxy will listen to for incoming client requests
serveraddress is the address of the server where the proxy will forward client requests
serverport is the port the server is listening to for incoming client requests

Example:

My computer has the address 172.16.2.1 on my LAN. It is connected to internet by a dial up connection. If I want to allow  computers on my LAN to access the an  in Internet server having address 123.123.123.123 running Unreal Tournament on port 9999 I have to run the following command on my computer

uproxy 7777 123.123.123.123 9999

then other computers on the LAN have to use the address 172.16.2.1 as server (Unreal Tournament uses UDP port 7777 by default) to reach the Unreal Tournament server 123.123.123.123 on port 9999.

Messages:

While running, UProxy prints bytes in/out statistics every 10 seconds.

When incomes a request from a new client a message is shown and 30 seconds after the last packet sent or received by the client the pseudo-connection is dropped and another message is shown.

License:

UProxy is distributed under the terms of the GNU Public License

Feedback:

If you have comments, questions or bug report, my email is staltari@geocities.com

Related links:

A more detailed tutorial about using uproxy with Unreal Tournament.