levitation-opensource / tcpoverudp2

Reliably forwards TCP connections using UDP over two network interfaces in parallel.

Home Page:http://www.simplify.ee/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.15

Server 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=22

Firewall 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

Analytics

About

Reliably forwards TCP connections using UDP over two network interfaces in parallel.

http://www.simplify.ee/

License:GNU General Public License v2.0


Languages

Language:Perl 94.2%Language:Batchfile 5.8%