diff --git a/UDPspeeder b/UDPspeeder index 9a622ce..8db00a8 160000 --- a/UDPspeeder +++ b/UDPspeeder @@ -1 +1 @@ -Subproject commit 9a622ce463710925181fde5a2d0fe249780b8e1d +Subproject commit 8db00a87f433d174f3bdabaf95f8659c66a1c52e diff --git a/main.cpp b/main.cpp index 0989fad..cd1e9eb 100644 --- a/main.cpp +++ b/main.cpp @@ -34,37 +34,43 @@ static void print_help() printf(" --tun-dev sepcify tun device name, for example: tun10, default: a random name such as tun987\n"); printf(" -f,--fec x:y forward error correction, send y redundant packets for every x packets\n"); printf(" --timeout how long could a packet be held in queue before doing fec, unit: ms, default: 8ms\n"); - printf(" --mode fec-mode,available values: 0, 1; 0 cost less bandwidth, 1 cost less latency;default: 0)\n"); printf(" --report turn on send/recv report, and set a period for reporting, unit: s\n"); printf(" --keep-reconnect re-connect after lost connection,only for client. \n"); printf("advanced options:\n"); + printf(" --mode fec-mode,available values: 0,1; mode 0(default) costs less bandwidth,no mtu problem.\n"); + printf(" mode 1 usually introduces less latency, but you have to care about mtu.\n"); printf(" --mtu mtu for fec. for mode 0, the program will split packet to segment smaller than mtu.\n"); printf(" for mode 1, no packet will be split, the program just check if the mtu is exceed.\n"); printf(" default value: 1250\n"); printf(" -j,--jitter simulated jitter. randomly delay first packet for 0~ ms, default value: 0.\n"); printf(" do not use if you dont know what it means.\n"); - printf(" -i,--interval scatter each fec group to a interval of ms, to protect burst packet loss.\n"); + printf(" -i,--interval scatter each fec group to a interval of ms, to defend burst packet loss.\n"); printf(" default value: 0. do not use if you dont know what it means.\n"); + printf(" -f,--fec x1:y1,x2:y2,.. similiar to -f/--fec above,fine-grained fec parameters,may help save bandwidth.\n"); + printf(" example: \"-f 1:3,2:4,10:6,20:10\". check repo for details\n"); printf(" --random-drop simulate packet loss, unit: 0.01%%. default value: 0\n"); printf(" --disable-obscure disable obscure, to save a bit bandwidth and cpu\n"); printf(" --disable-checksum disable checksum to save a bit bandwdith and cpu\n"); - printf(" --disable-xor disable xor encryption to save a bit cpu\n"); + //printf(" --disable-xor disable xor\n"); + printf(" --persist-tun make the tun device persistent, so that it wont be deleted after exited.\n"); + printf(" --mssfix do mssfix for tcp connection, use 0 to disable. default value: 1250\n"); printf("developer options:\n"); printf(" --tun-mtu mtu of the tun interface,most time you shouldnt change this\n"); - printf(" --mssfix do mssfix for tcp connection, use 0 to disable. default value: 1250\n"); - printf(" -i,--interval imin:imax similiar to -i above, but scatter randomly between imin and imax\n"); + printf(" --manual-set-tun tell tinyfecvpn to not setup the tun device automatically(e.g. assign ip address),\n"); + printf(" so that you can do it manually later\n"); printf(" --fifo use a fifo(named pipe) for sending commands to the running program, so that you\n"); printf(" can change fec encode parameters dynamically, check readme.md in repository for\n"); printf(" supported commands.\n"); printf(" -j ,--jitter jmin:jmax similiar to -j above, but create jitter randomly between jmin and jmax\n"); printf(" -i,--interval imin:imax similiar to -i above, but scatter randomly between imin and imax\n"); - printf(" -q,--queue-len max fec queue len, only for mode 0\n"); + printf(" -q,--queue-len fec queue len, only for mode 0, fec will be performed immediately after queue is full.\n"); + printf(" default value: 200. \n"); printf(" --decode-buf size of buffer of fec decoder,u nit: packet, default: 2000\n"); - printf(" --fix-latency try to stabilize latency, only for mode 0\n"); - printf(" --delay-capacity max number of delayed packets\n"); +// printf(" --fix-latency try to stabilize latency, only for mode 0\n"); + printf(" --delay-capacity max number of delayed packets, 0 means unlimited, default: 0\n"); printf(" --disable-fec completely disable fec, turn the program into a normal udp tunnel\n"); printf(" --sock-buf buf size for socket, >=10 and <=10240, unit: kbyte, default: 1024\n"); printf("log and help options:\n");