diff --git a/README.md b/README.md index 6934b6a..feab67c 100644 --- a/README.md +++ b/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 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 how long could a packet be held in queue before doing fec, unit: ms, default: 8ms - --report turn on send/recv report, and set a period for reporting, unit: s -advanced options: - --mode 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 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 fec queue len, only for mode 0, fec will be performed immediately after queue is full. - default value: 200. - -j,--jitter simulated jitter. randomly delay first packet for 0~ ms, default value: 0. - do not use if you dont know what it means. - -i,--interval scatter each fec group to a interval of ms, to protect burst packet loss. - default value: 0. do not use if you dont know what it means. - --random-drop simulate packet loss, unit: 0.01%. default value: 0. - --disable-obscure disable obscure, to save a bit bandwidth and cpu. -developer options: - --fifo 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 size of buffer of fec decoder,u nit: packet, default: 2000 - --fix-latency try to stabilize latency, only for mode 0 - --delay-capacity max number of delayed packets - --disable-fec completely disable fec, turn the program into a normal udp tunnel - --sock-buf buf size for socket, >=10 and <=10240, unit: kbyte, default: 1024 -log and help options: - --log-level 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