mirror of
https://github.com/wangyu-/UDPspeeder.git
synced 2025-01-31 12:19:35 +08:00
Update README.md
This commit is contained in:
parent
2547462ce9
commit
8d1e773688
97
README.md
97
README.md
@ -13,18 +13,9 @@ or
|
|||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
[简体中文](/doc/README.zh-cn.md)(内容更丰富)
|
|
||||||
|
|
||||||
[UDPspeeder Wiki](https://github.com/wangyu-/UDPspeeder/wiki)
|
[UDPspeeder Wiki](https://github.com/wangyu-/UDPspeeder/wiki)
|
||||||
|
|
||||||
##### Note
|
[简体中文](/doc/README.zh-cn.md)(内容更丰富)
|
||||||
|
|
||||||
You can also try tinyfecVPN, a lightweight high-performance VPN with build-in FEC support:
|
|
||||||
|
|
||||||
tinyfecVPN's repo:
|
|
||||||
|
|
||||||
https://github.com/wangyu-/tinyfecVPN
|
|
||||||
|
|
||||||
|
|
||||||
# Efficacy
|
# Efficacy
|
||||||
tested on a link with 100ms latency and 10% packet loss at both direction
|
tested on a link with 100ms latency and 10% packet loss at both direction
|
||||||
@ -65,7 +56,7 @@ Check wikipedia for more info, https://en.wikipedia.org/wiki/Reed–Solomon_erro
|
|||||||
### Installing
|
### Installing
|
||||||
Download binary release from https://github.com/wangyu-/UDPspeeder/releases
|
Download binary release from https://github.com/wangyu-/UDPspeeder/releases
|
||||||
|
|
||||||
### Running (speed-up UDP only)
|
### Running (improves UDP traffic only)
|
||||||
Assume your server ip is 44.55.66.77, you have a service listening on udp port 7777.
|
Assume your server ip is 44.55.66.77, you have a service listening on udp port 7777.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -84,77 +75,25 @@ Now connecting to UDP port 3333 at the client side is equivalent to connecting t
|
|||||||
|
|
||||||
`-k` enables simple XOR encryption
|
`-k` enables simple XOR encryption
|
||||||
|
|
||||||
##### Note2
|
# Improves all traffic with OpenVPN + UDPspeeder
|
||||||
You can use udp2raw with UDPspeeder together to get better speed on some ISP with UDP QoS(UDP throttling).
|
|
||||||
|
|
||||||
udp2raw's repo:
|
See [UDPspeeder + openvpn config guide](https://github.com/wangyu-/UDPspeeder/wiki/UDPspeeder-openvpn-config-guide).
|
||||||
|
|
||||||
https://github.com/wangyu-/udp2raw-tunnel
|
|
||||||
|
|
||||||
# Advanced Topic
|
|
||||||
### Full Options
|
|
||||||
```
|
|
||||||
UDPspeeder V2
|
|
||||||
git version: 6f55b8a2fc build date: Nov 19 2017 06:11:23
|
|
||||||
repository: https://github.com/wangyu-/UDPspeeder
|
|
||||||
|
|
||||||
usage:
|
|
||||||
run as client: ./this_program -c -l local_listen_ip:local_port -r server_ip:server_port [options]
|
|
||||||
run as server: ./this_program -s -l server_listen_ip:server_port -r remote_ip:remote_port [options]
|
|
||||||
|
|
||||||
common options, must be same on both sides:
|
|
||||||
-k,--key <string> key for simple xor encryption. if not set, xor is disabled
|
|
||||||
main options:
|
|
||||||
-f,--fec x:y forward error correction, send y redundant packets for every x packets
|
|
||||||
--timeout <number> how long could a packet be held in queue before doing fec, unit: ms, default: 8ms
|
|
||||||
--report <number> turn on send/recv report, and set a period for reporting, unit: s
|
|
||||||
advanced options:
|
|
||||||
--mode <number> fec-mode,available values: 0,1; mode 0(default) costs less bandwidth,no mtu problem.
|
|
||||||
mode 1 usually introduces less latency, but you have to care about mtu.
|
|
||||||
--mtu <number> mtu. for mode 0, the program will split packet to segment smaller than mtu value.
|
|
||||||
for mode 1, no packet will be split, the program just check if the mtu is exceed.
|
|
||||||
default value: 1250. you typically shouldnt change this value.
|
|
||||||
-q,--queue-len <number> fec queue len, only for mode 0, fec will be performed immediately after queue is full.
|
|
||||||
default value: 200.
|
|
||||||
-j,--jitter <number> simulated jitter. randomly delay first packet for 0~<number> ms, default value: 0.
|
|
||||||
do not use if you dont know what it means.
|
|
||||||
-i,--interval <number> scatter each fec group to a interval of <number> ms, to protect burst packet loss.
|
|
||||||
default value: 0. do not use if you dont know what it means.
|
|
||||||
--random-drop <number> simulate packet loss, unit: 0.01%. default value: 0.
|
|
||||||
--disable-obscure <number> disable obscure, to save a bit bandwidth and cpu.
|
|
||||||
developer options:
|
|
||||||
--fifo <string> use a fifo(named pipe) for sending commands to the running program, so that you
|
|
||||||
can change fec encode parameters dynamically, check readme.md in repository for
|
|
||||||
supported commands.
|
|
||||||
-j ,--jitter jmin:jmax similiar to -j above, but create jitter randomly between jmin and jmax
|
|
||||||
-i,--interval imin:imax similiar to -i above, but scatter randomly between imin and imax
|
|
||||||
--decode-buf <number> size of buffer of fec decoder,u nit: packet, default: 2000
|
|
||||||
--fix-latency <number> try to stabilize latency, only for mode 0
|
|
||||||
--delay-capacity <number> max number of delayed packets
|
|
||||||
--disable-fec <number> completely disable fec, turn the program into a normal udp tunnel
|
|
||||||
--sock-buf <number> buf size for socket, >=10 and <=10240, unit: kbyte, default: 1024
|
|
||||||
log and help options:
|
|
||||||
--log-level <number> 0: never 1: fatal 2: error 3: warn
|
|
||||||
4: info (default) 5: debug 6: trace
|
|
||||||
--log-position enable file name, function name, line number in log
|
|
||||||
--disable-color disable log color
|
|
||||||
-h,--help print this help message
|
|
||||||
|
|
||||||
```
|
|
||||||
#### `--fifo` option
|
|
||||||
Use a fifo(named pipe) for sending commands to the running program. For example `--fifo fifo.file`, you can use following commands to change parameters dynamically:
|
|
||||||
```
|
|
||||||
echo fec 19:9 > fifo.file
|
|
||||||
echo mtu 1100 > fifo.file
|
|
||||||
echo timeout 5 > fifo.file
|
|
||||||
echo queue-len 100 > fifo.file
|
|
||||||
echo mode 0 > fifo.file
|
|
||||||
```
|
|
||||||
### Speed-Up any traffic with OpenVPN + UDPspeeder
|
|
||||||
|
|
||||||
Check [UDPspeeder + openvpn config guide](https://github.com/wangyu-/UDPspeeder/wiki/UDPspeeder-openvpn-config-guide).
|
|
||||||
|
|
||||||
# wiki
|
# wiki
|
||||||
Check wiki for more info:
|
Check wiki for more info:
|
||||||
|
|
||||||
https://github.com/wangyu-/UDPspeeder/wiki
|
https://github.com/wangyu-/UDPspeeder/wiki
|
||||||
|
|
||||||
|
# Related repo
|
||||||
|
|
||||||
|
You can also try tinyfecVPN, a lightweight high-performance VPN with UDPspeeder's function built-in:
|
||||||
|
|
||||||
|
tinyfecVPN's repo:
|
||||||
|
|
||||||
|
https://github.com/wangyu-/tinyfecVPN
|
||||||
|
|
||||||
|
You can use udp2raw with UDPspeeder together to get better speed on some ISP with UDP QoS(UDP throttling).
|
||||||
|
|
||||||
|
udp2raw's repo:
|
||||||
|
|
||||||
|
https://github.com/wangyu-/udp2raw-tunnel
|
||||||
|
Loading…
x
Reference in New Issue
Block a user