https://github.com/levitation-opensource/tcpoverudp2
Reliably forwards TCP connections using UDP over two network interfaces in parallel.
https://github.com/levitation-opensource/tcpoverudp2
reliability reliable-networking reliable-packets reliable-protocol reliable-udp reliable-udp-library tcp tunnel tunnel-client tunnel-server tunneling tunneling-proxies tunnels udp
Last synced: about 11 hours ago
JSON representation
Reliably forwards TCP connections using UDP over two network interfaces in parallel.
- Host: GitHub
- URL: https://github.com/levitation-opensource/tcpoverudp2
- Owner: levitation-opensource
- License: gpl-2.0
- Created: 2020-07-29T00:18:20.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-02-08T01:52:55.000Z (over 2 years ago)
- Last Synced: 2025-07-14T10:28:05.781Z (3 months ago)
- Topics: reliability, reliable-networking, reliable-packets, reliable-protocol, reliable-udp, reliable-udp-library, tcp, tunnel, tunnel-client, tunnel-server, tunneling, tunneling-proxies, tunnels, udp
- Language: Perl
- Homepage: http://www.simplify.ee/
- Size: 104 KB
- Stars: 7
- Watchers: 5
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
## tcpoverudp2 - TCP over dual UDP: Forward TCP connections using UDP over two network interfaces in parallel
The use case for this software is when you can use two network connections (for example, mobile or wifi), but both of them are unstable and have packet loss issues, and you still want to have a stable and fast internet.
Do both of your available network links suffer from a high packet loss? Do you have a server account in public internet with perl scripting support? Then this tool can provide you a reliable fast TCP (for example, for web proxy + SSH) connectivity - by constantly duplicating all the packets over two interfaces and retrying slow transmissions on links of any quality.
The algorithm sends clones of all packets over two network interfaces concurrently in order to ensure that the forwarded connection works as reliably as possible regardless of intermittent packet loss in either of the interfaces - assuming that the packet loss on either of the interfaces usually happens at unrelated moments.
### State
Ready to use. Maintained and in active use.### Usage
Client script for Linux (Windows client example can be found in client.bat):
./tcpoverudp2 --timeout=0.05 \
--tcp-listen-port=8128 8122 \
--udp-server-addr=your.public.server.com --udp-server-port=8120 \
--udp-send-local-addr1=192.168.1.20 --udp-send-local-addr2=192.168.2.15Server script (Windows client example can be found in server.bat):
./tcpoverudp2 --udp-listen-port=8120 \
--tcp-forward-addr=public.web.proxy --tcp-forward-port=3128 \
--tcp-forward-addr=127.0.0.1 --tcp-forward-port=22Firewall configuration at server side (tcpoverudp2 needs to use two consecutive UDP port numbers):
Open / forward the following __two__ UDP ports:
1. udp-listen-port
2. udp-listen-port + 1### Additional info:
Developed by extending the tcpoverudp.pl *"Forward TCP connections over UDP without root" by Jan Kratochvil* by adding packet duplication over two network interfaces.
**Summary:** Forward TCP connections using UDP over two network interfaces in parallel (without root).
**License:** GNU General Public License ver 2
**State:** Ready to use. Maintained and in active use.
**Source:** https://github.com/levitation/tcpoverudp2
**See also:** Tcpoverudp https://www.jankratochvil.net/project/tcpoverudp/
**See also:** Duat http://code.google.com/p/duat/
**Language:** Perl[](https://github.com/igrigorik/ga-beacon)