نفق يعمل على تحسين جودة شبكتك على الارتباط المفقود عالي زمن الوصول باستخدام تصحيح الأخطاء الأمامي.
عند استخدامه بمفرده، يعمل UDPspeeder على تحسين اتصال UDP فقط. ومع ذلك، إذا استخدمت UDPspeeder + أي VPN يستند إلى UDP معًا، فيمكنك تحسين أي حركة مرور (بما في ذلك TCP/UDP/ICMP)، وقد تم تأكيد دعم OpenVPN/L2TP/ShadowVPN حاليًا.
أو
افترض أن الشبكة المحلية الخاصة بك إلى الخادم الخاص بك معطلة. ما عليك سوى إنشاء اتصال VPN بخادمك باستخدام UDPspeeder + أي VPN يستند إلى UDP، والوصول إلى الخادم الخاص بك عبر اتصال VPN هذا، ثم سيتم تحسين جودة اتصالك بشكل كبير. باستخدام المعلمات المضبوطة جيدًا، يمكنك بسهولة تقليل معدل فقدان حزم IP أو UDP/ICMP إلى أقل من 0.01%. إلى جانب تقليل معدل فقدان الحزم، يمكن لـ UDPspeeder أيضًا تحسين زمن وصول TCP وسرعة تنزيل TCP المفرد بشكل ملحوظ.
يو دي بي سبيد ويكي
简体中文
تم اختباره على رابط بزمن انتقال يبلغ 100 مللي ثانية وفقدان الحزمة بنسبة 10% في كلا الاتجاهين
مضيف Linux (بما في ذلك Linux المكتبي أو الهاتف/الكمبيوتر اللوحي الذي يعمل بنظام Android أو جهاز توجيه OpenWRT أو Raspberry PI).
بالنسبة لنظامي التشغيل Windows وMacOS، يمكنك تشغيل UDPspeeder داخل صورة الجهاز الظاهري هذه التي يبلغ حجمها 7.5 ميجابايت.
يستخدم UDPspeeder FEC (تصحيح الأخطاء الأمامية) لتقليل معدل فقدان الحزمة، على حساب النطاق الترددي الإضافي. تسمى خوارزمية FEC Reed-Solomon.
In coding theory, the Reed–Solomon code belongs to the class of non-binary cyclic error-correcting codes. The Reed–Solomon code is based on univariate polynomials over finite fields.
It is able to detect and correct multiple symbol errors. By adding t check symbols to the data, a Reed–Solomon code can detect any combination of up to t erroneous symbols, or correct up to ⌊t/2⌋ symbols. As an erasure code, it can correct up to t known erasures, or it can detect and correct combinations of errors and erasures. Reed–Solomon codes are also suitable as multiple-burst bit-error correcting codes, since a sequence of b + 1 consecutive bit errors can affect at most two symbols of size b. The choice of t is up to the designer of the code, and may be selected within wide limits.
تحقق من ويكيبيديا لمزيد من المعلومات، https://en.wikipedia.org/wiki/Reed–Solomon_error_correction
قم بتنزيل الإصدار الثنائي من https://github.com/wangyu-/UDPspeeder/releases
افترض أن عنوان IP للخادم الخاص بك هو 44.55.66.77، لديك خدمة الاستماع على منفذ UDP 7777.
# Run at server side:
./speederv2 -s -l0.0.0.0:4096 -r 127.0.0.1:7777 -f20:10 -k " passwd "
# Run at client side
./speederv2 -c -l0.0.0.0:3333 -r44.55.66.77:4096 -f20:10 -k " passwd "
الآن، أصبح الاتصال بمنفذ UDP 3333 على جانب العميل يعادل الاتصال بالمنفذ 7777 على جانب الخادم، وقد تم تعزيز الاتصال بواسطة UDPspeeder.
-f20:10
يعني إرسال 10 حزم زائدة مقابل كل 20 حزمة أصلية.
-k
يتيح تشفير XOR البسيط
راجع دليل تكوين UDPspeeder + openvpn.
UDPspeeder V2
git version: 3e248b414c build date: Aug 5 2018 21:59:52
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.
-f,--fec x1:y1,x2:y2,.. similiar to -f/--fec above,fine-grained fec parameters,may help save bandwidth.
example: "-f 1:3,2:4,10:6,20:10". check repo for details
--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
استخدم fifo (توجيه الإخراج المسمى) لإرسال الأوامر إلى البرنامج قيد التشغيل. على سبيل المثال --fifo fifo.file
، يمكنك استخدام الأوامر التالية لتغيير المعلمات ديناميكيًا:
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
تحقق من الويكي لمزيد من المعلومات:
https://github.com/wangyu-/UDPspeeder/wiki
يمكنك أيضًا تجربة tinyfecVPN، وهي شبكة VPN خفيفة الوزن وعالية الأداء مزودة بوظيفة UDPspeeder المضمنة، وهي:
https://github.com/wangyu-/tinyfecVPN
يمكنك استخدام udp2raw مع UDPspeeder معًا للحصول على سرعة أفضل على بعض مزودي خدمة الإنترنت باستخدام UDP QoS (اختناق UDP)، الريبو:
https://github.com/wangyu-/udp2raw-tunnel