UDP to TCP streams (udp2tcps) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Tunnel bidirectional UDP traffic over multiple TCP streams. Idea afaik first published by Chris Pearson at http://tunnel.mrq3.com/explain/ However, his implementation is in java, and I think C is a much more suitable and light weight language for such a program. Hence. Modes ----- UDP modes: - p2p, we bind to a certain address:port and connect to a certain address port - client, we connect to a certain address:port (bind to random port) - server, we bind to a certain address:port and handle all incoming packets Only p2p is implemented for now. TCP modes: - client, we connect to a certain address:port (bind to random port) - server, we bind to a certain address:port and handle all incoming connections For the moment, all incoming TCP connections are considered to belong to the same tunnel. Use case -------- Tunnel an openvpn UDP based vpn trough stunnel on port 443 of the server. Stunnel takes care of the encryption and authentication of the data. The authentication of the host is taken care of by openvpn. That way a responsive internet connection is possible through draconian firewalls and proxies that only allow ssl connections through the https port.