Przeglądaj źródła

Merge branch 'master' of https://github.com/wangyu-/UDPspeeder

wangyu- 8 lat temu
rodzic
commit
0e1b86b237
2 zmienionych plików z 37 dodań i 7 usunięć
  1. 18 5
      README.md
  2. 19 2
      doc/README.zh-cn.md

+ 18 - 5
README.md

@@ -80,7 +80,7 @@ To run stably,pay attention to MTU.
 ### Full Options
 ```
 UDPspeeder V2
-git version:f479ca2779    build date:Oct 19 2017 01:37:08
+git version:8e7a8aed92    build date:Oct 25 2017 02:00:54
 repository: https://github.com/wangyu-/UDPspeeder
 
 usage:
@@ -91,13 +91,13 @@ common option,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
-    --mode                <number>        fec-mode,available values: 0,1 ; 0 cost less bandwidth,1 cost less latency
+    --timeout             <number>        how long could a packet be held in queue before doing fec,unit: ms,default :8ms
+    --mode                <number>        fec-mode,available values: 0,1 ; 0 cost less bandwidth,1 cost less latency(default)
     --report              <number>        turn on send/recv report,and set a period for reporting,unit:s
 advanced options:
     --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 
+                                          default value:1250
     -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.
@@ -105,6 +105,9 @@ advanced options:
     --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
     -q,--queue-len        <number>        max fec queue len,only for mode 0
@@ -114,11 +117,21 @@ developer options:
     --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 
+    --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
 

+ 19 - 2
doc/README.zh-cn.md

@@ -80,7 +80,7 @@ https://github.com/wangyu-/UDPspeeder/releases
 ### 命令选项
 ```
 UDPspeeder V2
-git version:99f6099e86    build date:Oct 19 2017 13:35:38
+git version:8e7a8aed92    build date:Oct 25 2017 02:00:54
 repository: https://github.com/wangyu-/UDPspeeder
 
 usage:
@@ -105,6 +105,9 @@ advanced options:
     --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
     -q,--queue-len        <number>        max fec queue len,only for mode 0
@@ -158,6 +161,16 @@ UDPspeeder默认情况下会对每个发出的数据包随机填充和异或一
 
 ##### `-q,--queue-len`
 编码器在做FEC前最多积攒多少个数据包,只对mode 0有效。除非是使用下文`V2版如何多倍发包`里面提到的用法,不建议改动。
+#### `--fifo` option
+用fifo(命名管道)向运行中的程序发送command. 例如`--fifo fifo.file`,可用的command有:
+```
+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
+```
+可以动态改变fec编码器参数。
 
 # 使用经验
 
@@ -202,6 +215,10 @@ FEC算法很吃CPU,初次使用建议关注UDPspeeder的CPU占用。如果CPU被
 
 另外,fec分组大小不宜过大,否则不但很耗CPU,还有其他副作用,建议x+y<50。
 
+### 改变FEC参数而不断线
+
+`--fifo`选项可以在运行时无缝改变FEC参数,无需重启程序,也不会断线。
+
 ### 为什么使用之后效果反而变差了?
 
 有可能是你用了mode 0参数,而又没调好参数。
@@ -221,7 +238,7 @@ UDPspeeder和Kcptun配合,UDPspeeder和Kcptun可以并联也可以串联。
 
 并联的情况下,让kcptun负责加速TCP,UDPspeeder负责加速UDP。见下文的`UDPspeeder + kcptun + $*** 同时加速tcp和udp流量`。
 
-串联的情况。UDPspeeder的FEC跟Kcptun自带的相比:可以对两个方向设置不通的FEC参数、有一个更省流量的mode 0模式、可以调整的FEC参数多一些;但是UDPspeeder本身不优化拥塞和重传算法。所以UDPspeeder和Kcptun也可以配合使用,结合两者的优点。
+串联的情况。UDPspeeder的FEC跟Kcptun自带的相比:可以对两个方向设置不同的FEC参数、有一个更省流量的mode 0模式、可以动态改变FEC参数;但是UDPspeeder本身不优化拥塞和重传算法。所以UDPspeeder和Kcptun也可以配合使用,结合两者的优点。
 
 串联时可以关掉Kcptun的FEC,让UDPspeeder接管FEC功能。这样UDPspeeder工作在UDP层负责降低丢包率,Kcptun工作在应用层用kcp算法负责优化拥塞和重传,能起到和`UDPspeeder+BBR/锐速`类似的效果。