UDPspeeder v20210116.0 releases: Network Speed-Up Tool
Network Speed-Up Tool. Boost your Connection on a High Latency High Packet-Loss Link by using Forward Error Correction.
When used alone, UDPspeeder speeds-up only UDP connection. Nevertheless, if you used UDPspeeder + any UDP-based VPN together, you can speed-up any traffic(include TCP/UDP/ICMP), currently, OpenVPN/L2TP/ShadowVPN are confirmed to be supported。
Assume your local network to your server is lossy. Just establish a VPN connection to your server with UDPspeeder + any UDP-based VPN, access your server via this VPN connection, then your connection quality will be significantly improved. With well-tuned parameters, you can easily reduce IP or UDP/ICMP packet-loss-rate to less than 0.01%. Besides reducing packet-loss-rate, UDPspeeder can also significantly improve your TCP latency and TCP single-thread download speed.
How does it work
UDPspeeder uses FEC(Forward Error Correction) to reduce packet loss rate, at the cost of additional bandwidth. The algorithm for FEC is called Reed-Solomon.
In coding theory, the Reed–Solomon code belongs to the class of non-binary cyclic error-correcting codes. The Reed–Solomon code is based on univariate polynomials over finite fields.
It is able to detect and correct multiple symbol errors. By adding t check symbols to the data, a Reed–Solomon code can detect any combination of up to t erroneous symbols, or correct up to ⌊t/2⌋ symbols. As an erasure code, it can correct up to t known erasures, or it can detect and correct combinations of errors and erasures. Reed–Solomon codes are also suitable as multiple-burst bit-error correcting codes since a sequence of b + 1 consecutive bit errors can affect at most two symbols of size b. The choice of t is up to the designer of the code and may be selected within wide limits.
Check Wikipedia for more info, https://en.wikipedia.org/wiki/Reed–Solomon_error_correction
tested on a link with 100ms latency and 10% packet loss at both direction
Ping Packet Loss
SCP Copy Speed
- Added a warning when you send huge packets to UDPspeeder and packets are being truncated.
Running (speed-up UDP only)
Assume your server ip is 126.96.36.199, you have a service listening on UDP port 7777.
# Run at server side:
./speederv2 -s -l0.0.0.0:4096 -r 127.0.0.1:7777 -f20:10 -k “passwd”
# Run at client side
./speederv2 -c -l0.0.0.0:3333 -r188.8.131.52:4096 -f20:10 -k “passwd”
Now connecting to UDP port 3333 at the client side is equivalent to connecting to port 7777 at the server side, and the connection has been boosted by UDPspeeder.
-f20:10 means sending 10 redundant packets for every 20 original packets.
-k enables simple XOR encryption
You can use udp2raw with UDPspeeder together to get better speed on some ISP with UDP QoS(UDP throttling).