mirror of
				https://github.com/wangyu-/UDPspeeder.git
				synced 2025-11-04 03:45:37 +08:00 
			
		
		
		
	Update README.md
This commit is contained in:
		
							
								
								
									
										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.
 | 
			
		||||
 | 
			
		||||
[简体中文](/doc/README.zh-cn.md)(内容更丰富)
 | 
			
		||||
 | 
			
		||||
[UDPspeeder Wiki](https://github.com/wangyu-/UDPspeeder/wiki)
 | 
			
		||||
 | 
			
		||||
##### Note
 | 
			
		||||
 | 
			
		||||
You can also try tinyfecVPN, a lightweight high-performance VPN with build-in FEC support:
 | 
			
		||||
 | 
			
		||||
tinyfecVPN's repo:
 | 
			
		||||
 | 
			
		||||
https://github.com/wangyu-/tinyfecVPN
 | 
			
		||||
 | 
			
		||||
[简体中文](/doc/README.zh-cn.md)(内容更丰富)
 | 
			
		||||
 | 
			
		||||
# Efficacy
 | 
			
		||||
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
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
```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
 | 
			
		||||
 | 
			
		||||
##### Note2
 | 
			
		||||
You can use udp2raw with UDPspeeder together to get better speed on some ISP with UDP QoS(UDP throttling).
 | 
			
		||||
# Improves all traffic with OpenVPN + UDPspeeder
 | 
			
		||||
 | 
			
		||||
udp2raw's repo:
 | 
			
		||||
 | 
			
		||||
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).
 | 
			
		||||
See [UDPspeeder + openvpn config guide](https://github.com/wangyu-/UDPspeeder/wiki/UDPspeeder-openvpn-config-guide).
 | 
			
		||||
 | 
			
		||||
# wiki
 | 
			
		||||
Check wiki for more info:
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user