What I'm currently working on - https://github.com/spoletto/iOS-HTML5-Tethering/tree/master/server (specifically ws-server.py)
Someone with the same issues as me - http://stackoverflow.com/questions/13215100/ideas-or-algorithms-when-programming-an-nat
I'm a developer working on creating a IP proxy via websockets. My following application looks like this:
- Client connects to ubuntu server running a python websocket script
- All outbound traffic on the client is directed to a tun device which is programmatically base64 encrypted and sent to the server over websockets
- The server receives the websocket data, base64 decodes, stores the source IP and source port in a dictionary (acting as a NAT table), changes the source IP to that of the ubuntu server, and then sends the actual IP request out into the wild.
- When the response comes back from the destination server to the ubuntu server it attempts to match it with the NAT table, rewrites the IP address back to the...