Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
This program hides UDP traffic as TCP traffic in order to bypass certain firewalls.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
[This project is abandoned, see the end of this README for more information.] This program hides UDP traffic as TCP traffic in order to bypass certain firewalls. It is not designed to bypass rigorous deep packet inspection; for example, there is no window scaling; all data received as UDP will be immediately transmitted as TCP with a fixed window size. There is also no retransmission, although that could be implemented (at a detriment to the overall network health). This program is intended to be C99 and POSIX compatible, and requires only libev. If desired, it should be easily portable to use libevent instead, as it uses only basic event-based programming concepts. Example usage: # gmake [ ... ] # ./test.sh IPv4 test succeeded. IPv6 test succeeded. server# openvpn --config ... --proto udp6 --local ::1 server# udpintcp server server 11940 ::1 1194 client# udpintcp client ::1 1194 server 11940 client# openvpn --config ... --proto udp6 --remote ::1 11940 I've abandoned this project because I don't think it's that useful in practice, since meddling middleboxes tend to screw with the oddities required by UDP in TCP (no retransmissions, for one). For tunneling, SOCKS seems like a better solution, especially since QUIC is dead.