Yet Another Proxy: a port mapping utility

How does it work?

After you set it up properly, Yap! runs as a socket server listening to the ports you specified in the Yap! table. Each incoming port is relayed (reflected) to an outgoing port, possibly traversing a different segment of your network.

In other words, as soon as a TCP/IP client connects to one of it's ports, Yap! immediately connects to the mapped IP address and port; every byte the client sends to Yap! will be re-sent to the mapped port, and every byte the mapped port sends to Yap! is relayed back to the client. When the client disconnects, Yap! will disconnect from the "real" server.

In this scenario, Yap! is completely transparent and the only effect is to act as a bridge or gateway between a client and a (possibly) remote server.

Yap! also embeds a full, independent XML parser and a complete, ISAPI & CGI-compliant, web server.

Using Yap!

Using Yap! is simple. All you have to do is:

  • Copy the Yap folder into a directory like "C:\Program Files" (or whatever it is called in your localized Windows) and
  • Launch it.
    Or even more easy, you can use the setup from the Download area.

    Yap! will start with an empty project. From there, you can define port mappings interactively (using the main menu or the popup menu); or you may use the embedded Bramaputra web server and add your mappings via browser.

    When you are finished, save your settings to a file (File | Save) and that's all, folks: the next time you start Yap!, it will come up with your settings already loaded and active.

    An example

    Suppose you have a MySQL database on a subnet that is unreachable from your workstation. The MySQL server listens to port 3306 and resides on the host, but you can only access host
    All you have to do is install Yap! on the host, and add the following mapping:

  • Listen to port(s): TCP/3306
  • Mapped host:
  • Mapped Port: 3306
  • Allowed IPs: (any reasonable allowed IP list; if empty, anyone can enter)
  • Remarks: MySql relay
  • Active: (checked)

    As another example, you can use Yap to reach a PcAnywhere or VNC host that is on another subnet.