简介

UDPspeeder

通过使用前向纠错来改善高延迟有损链路上的网络质量的隧道。

单独使用时,UDPspeeder仅改进UDP连接。尽管如此,如果您同时使用UDPspeeder +任何基于UDP的VPN,您可以改善任何流量(包括TCP / UDP / ICMP),目前确认支持OpenVPN / L2TP / ShadowVPN。

作用是给udp流量加冗余和纠错(RS code),牺牲一定的流量(通常可小于0.5倍),让网络达到接近零丢包。 可以单独加速udp,或配合VPN加速全流量(tcp/udp/icmp)。 最佳的适用场景是加速游戏,也可加速在线视频和网页浏览。

配合vpn加速全流量的原理图(已测试支持VPN的有OpenVPN、L2TP、$*** VPN):

udp2raw-tunnel

udp2raw tunnel,通过raw socket给UDP包加上TCP或ICMP header,进而绕过UDP屏蔽或QoS,或在UDP不稳定的环境下提升稳定性。可以有效防止在使用kcptun或者finalspeed的情况下udp端口被运营商限速。

支持心跳保活、自动重连,重连后会恢复上次连接,在底层掉线的情况下可以保持上层不掉线。同时有加密、防重放攻击、信道复用的功能。

udp2raw不是加速器,只是一个帮助你绕过UDP限制的工具,作用是把udp流量混淆成tcp流量,可以突破udp流量限制或Udp QOS,极大提升稳定性。可以配合kcptun加速tcp,或配合UDPspeeder加速udp,防止各种限速断流。

思路

  1. 直连(适用于vps去回直连线路) : 本地 → vps → Wireguard → 游戏服务器
    (TCP UDP 经过的理论延迟:本地到vps 30ms + vps到游戏服务器 50ms)

  2. 国内中转(适用于国外vps绕道转了地球一圈的线路) : 本地 → 国内vps → 国外vps → Wireguard → 游戏服务器
    (TCP UDP 经过的理论延迟:本地到国内vps 30ms + 国内vps到国外vps 30ms + 国外vps到游戏服务器 50ms)

配置直连 UDPspeeder + Udp2raw-tunnel

vps服务器还是使用阿里云的香港轻量应用服务器 Ubuntu 16.04

  1. Wireguard 服务端配置

结合上篇文章 WireGuard 一键脚本 Ubuntu 16.04 搭建 WireGuard PUBG吃鸡加速器

终端输入 wg 查看配置端口为42030:

注意:这样有个坑,发现 MTU值为:1420 时服务端会崩溃

修改一下 /etc/wireguard/wg0.conf 配置文件,将其更改为1200:

1
vi /etc/wireguard/wg0.conf

重新启动一下 Wireguard :

1
2
3
wg-quick down wg0 #停止WireGuard

wg-quick up wg0 #启动WireGuard

  1. vps服务器配置

新建一个名为UDPspeeder+Udp2raw的文件夹并进入,使用命令:

1
mkdir UDPspeeder+Udp2raw && cd UDPspeeder+Udp2raw

需要在VPS上下载服务端并解压UDPspeeder + Udp2raw,地址:点击进入,使用命令

1
2
3
4
5
UDPspeeder:
wget http://github.com/wangyu-/UDPspeeder/releases/download/20190121.0/speederv2_binaries.tar.gz && tar -zxf speederv2_binaries.tar.gz

Udp2raw:
wget http://github.com/wangyu-/udp2raw-tunnel/releases/download/20181113.0/udp2raw_binaries.tar.gz && tar -zxf udp2raw_binaries.tar.gz

创建启动脚本 Run_UDPspeeder+Udp2raw :

1
vi Run_UDPspeeder+Udp2raw.sh

按 i 键编辑,复制粘贴如下内容:

1
2
3
4
5
6
7
8
9
10
#!/bin/bash
cd /root/UDPspeeder+Udp2raw/

#将 Wireguard 的 42030 端口 UDPspeeder 到 本地的2666端口
./speederv2_amd64 -s -l0.0.0.0:2666 -r 127.0.0.1:42030 -f2:4 -k "passwd" > UDPspeeder.log 2>&1 &
echo "开始运行UDPspeeder"

#将本地的 2666 端口 Udp2raw 到 本地的2777端口
./udp2raw_amd64 -s -l0.0.0.0:2777 -r127.0.0.1:2666 -k "passwd" --raw-mode faketcp > Udp2raw.log 2>&1 &
echo "开始运行Udp2raw"

按esc 输入 冒号 : wq 退出并保存:

创建停止脚本 Stop_UDPspeeder+Udp2raw :

1
vi Stop_UDPspeeder+Udp2raw.sh

按 i 键编辑,复制粘贴如下内容:

1
2
3
4
5
#!/bin/bash
cd /root/UDPspeeder+Udp2raw/
killall speederv2_amd64
killall udp2raw_amd64
echo "停止运行UDPspeeder+Udp2raw"

按esc 输入 冒号 : wq 退出并保存:

运行 和 停止 :

1
2
3
sh Run_UDPspeeder+Udp2raw.sh

sh Stop_UDPspeeder+Udp2raw.sh

查看端口是否启用 :

1
netstat -lntup

配置中转 UDPspeeder + Udp2raw-tunnel

直连配置略过此步骤!

基于以上vps的配置作为国外vps,现在配置国内vps(国内vps连接国外vps TCP UDP流量多少都会有点拥堵,所以使用UDPspeeder + Udp2raw-tunnel 加速两者之间的连接):

中转的国内vps就不用安装 Wireguard

同样新建一个名为UDPspeeder+Udp2raw的文件夹并进入,使用命令:

1
mkdir UDPspeeder+Udp2raw && cd UDPspeeder+Udp2raw

需要在VPS上下载服务端并解压UDPspeeder + Udp2raw,地址:点击进入,使用命令:

1
2
3
4
5
UDPspeeder:
wget http://github.com/wangyu-/UDPspeeder/releases/download/20190121.0/speederv2_binaries.tar.gz && tar -zxf speederv2_binaries.tar.gz

Udp2raw:
wget http://github.com/wangyu-/udp2raw-tunnel/releases/download/20181113.0/udp2raw_binaries.tar.gz && tar -zxf udp2raw_binaries.tar.gz

创建启动脚本 Run_UDPspeeder+Udp2raw :

1
vi Run_UDPspeeder+Udp2raw.sh

按 i 键编辑,复制粘贴如下内容:

1
2
3
4
5
6
7
8
9
10
#!/bin/bash
cd /root/UDPspeeder+Udp2raw/

#使用Udp2raw连接国外vps的2777端口 到本地2555端口
./udp2raw_amd64 -c -l127.0.0.1:2555 -r国外vps的ip:2777 -k "passwd" --raw-mode faketcp > Udp2raw.log 2>&1 &
echo "开始运行Udp2raw"

#使用UDPspeeder连接本地2555端口 到本地2444端口
./speederv2_amd64 -c -l0.0.0.0:2444 -r127.0.0.1:2555 -f2:4 -k "passwd" > UDPspeeder.log 2>&1 &
echo "开始运行UDPspeeder"

按esc 输入 冒号 : wq 退出并保存:

创建停止脚本 Stop_UDPspeeder+Udp2raw :

1
vi Stop_UDPspeeder+Udp2raw.sh

按 i 键编辑,复制粘贴如下内容:

1
2
3
4
5
#!/bin/bash
cd /root/UDPspeeder+Udp2raw/
killall speederv2_amd64
killall udp2raw_amd64
echo "停止运行UDPspeeder+Udp2raw"

按esc 输入 冒号 : wq 退出并保存:

运行 和 停止

1
2
3
sh Run_UDPspeeder+Udp2raw.sh

sh Stop_UDPspeeder+Udp2raw.sh

查看那些端口是否启用了:

1
netstat -lntup

客户端配置

国内vps中转略过此步骤!

  • 首先下载并安装winpcap
    或者使用npcap,据说性能更好一些 :

  • 安装时一定要把”开启winpcap的兼容模式”打勾。

下载并解压win客户端 UDPspeeder + udp2raw-tunnel

假设你放在桌面的 UDPspeeder+Udp2raw 文件夹里并把客户端命名规整一下:

然后在同目录下新建4个bat文件,分别命名为 udp2raw.bat 、speederv2.bat 、Start.bat 、stop.bat :

udp2raw.bat 如下 :

1
2
3
4
5
6
@echo off
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
title udp2raw.bat
udp2raw.exe -c -l127.0.0.1:2555 -rvpsip地址:2777 -k "passwd" --raw-mode faketcp

speederv2.bat 如下 :

1
2
3
4
5
6
@echo off
if "%1"=="h" goto begin
start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
title speederv2.bat
speederv2.exe -c -l0.0.0.0:2444 -r127.0.0.1:2555 -f2:4 -k "passwd"

Start.bat 如下 :

1
2
3
@echo off
cmd /c udp2raw.bat
cmd /c speederv2.bat

stop.bat 如下 :

1
2
3
4
@echo off
taskkill /FI "WINDOWTITLE eq speederv2.bat"
taskkill /FI "WINDOWTITLE eq udp2raw.bat"
pause

TunSafe配置

  • 直连
1
运行 Start.bat

1
2
3
配置 client.conf
MTU = 1200
Endpoint = 127.0.0.1:2444

  • 国内中转 :
1
配置 国外vps的client.conf

1
2
MTU = 1200
Endpoint = 国内ip:2444

相关链接