I need a proxy server application written. When you install it, it creates a proxy server on the windows machine its installed on. It auto configures its own password and port, asks the user for a username and city. It installs as a windows service that will auto restart one minute after its shut down if it gets shut down. It then reports the credentials to a database which is then organized and displayed in a webpage online. I need it to be able to punch a hole and report and use the outer ip address of the connection that its going through. This is called nat hole punching. A stun server perhaps is what i need. I want the fastest possible method of transferring the data.
When I install the proxy server onto a machine, I need to be able to read the credentials from the database it reports to, and use the proxy server from any machine, not just behind the nat.