V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wangyucn
V2EX  ›  宽带症候群

UDPspeeder,双边网络加速工具,可以加速全流量(包括 TCP/UDP/ICMP),开源项目

  wangyucn · 2017-10-20 17:35:17 +08:00 · 85660 次点击
这是一个创建于 2625 天前的主题,其中的信息可能已经有所发展或是发生改变。

UDPspeeder,双边网络加速工具,可以加速全流量(包括 TCP/UDP/ICMP),开源项目

image

双边网络加速工具,软件本身的功能是加速 UDP ;不过,配合任意 udp 协议的 VPN 可以加速全流量(包括 TCP/UDP/ICMP)。通过合理配置,可以加速游戏,降低游戏的丢包和延迟;也可以加速下载和看视频这种大流量的应用。

跟 kcptun/finalspeed/BBR 等现有方案比,主要优势是可以加速 UDP 和 ICMP,现有方案几乎都只能加速 TCP。

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

image2

另外,可以和udp2raw串联使用,在加速的同时把 UDP 伪装成 TCP,防止 UDP 被运营商 QOS 或屏蔽。

效果

image3

image4

原理简介

主要原理是通过发冗余数据来对抗网络的丢包,发送冗余数据的方式支持 FEC(Forward Error Correction)和多倍发包,其中 FEC 算法是 Reed-Solomon。

对于 FEC 方式的原理图:

image0

支持的平台

几乎任何 Linux 主机,可以是桌面版,可以是 android 手机 /平板,可以是 openwrt 路由器,也可以是树莓派。

在 windows 和 mac 上配合虚拟机可以稳定使用( speeder 跑在 Linux 里,其他应用照常跑在 window 里)。可以使用这个虚拟机镜像,大小只有 7.5mb 。

链接

repo: https://github.com/wangyu-/UDPspeeder/

中文主页: https://github.com/wangyu-/UDPspeeder/blob/master/doc/README.zh-cn.md

编译好的 binary 下载: https://github.com/wangyu-/UDPspeeder/releases

第 1 条附言  ·  2017-10-21 20:26:21 +08:00
顺便也看下这个 repo 吧,跟 UDPspeeder 一起使用,可以防止大流量 UDP 被限速:
https://github.com/wangyu-/udp2raw-tunnel
第 2 条附言  ·  2018-06-21 22:21:28 +08:00
现在 UDPspeeder 已经原生支持 Windows/Mac/BSD,不再需要虚拟机了。
207 条回复    2020-09-29 00:25:02 +08:00
1  2  3  
someonetwo
    101
someonetwo  
   2017-10-21 12:53:37 +08:00   ❤️ 1
邮电大学的学子们论文又有新选题了
wangyucn
    102
wangyucn  
OP
   2017-10-21 12:54:23 +08:00
>udp 出国流量丢包得厉害, 大部分都还是基于 tcp 加速.

用 udp2raw,用 raw-socket 把 udp 伪装成 tcp,可以完美解决。

https://github.com/wangyu-/udp2raw-tunnel
wangyucn
    103
wangyucn  
OP
   2017-10-21 13:02:54 +08:00
>邮电大学的学子们论文又有新选题了

这个软件的初衷只是给 udp 包加上了 FEC,不涉及墙。

虽然在 OpenVPN 前面套了个程序以后,可能会影响到墙的识别,这只是个意外= =。
inet6
    104
inet6  
   2017-10-21 13:04:30 +08:00
谢谢你为人类做出的贡献 :)
jerrykingjer
    105
jerrykingjer  
   2017-10-21 13:06:44 +08:00
1、桥接显示的是真实网卡的本地 ip.
2、tcpspeed 加速无效
既然是冗余发包同时加速,为何 fs 的加速 ip 地址要是 speederv2 的端口?
wangyucn
    106
wangyucn  
OP
   2017-10-21 13:10:04 +08:00
>桥接显示的是真实网卡的本地 ip.

桥接正常情况显示的应该是和真实网卡在同一 IP 段的一个新 IP。

>2、tcpspeed 加速无效
>既然是冗余发包同时加速,为何 fs 的加速 ip 地址要是 speederv2 的端口?

现在我都搞不明白你为什么要同时用 tcpspeed 和 UDPspeeder。

你在 github 上开个 issue 吧,把你这样用的目的,和具体环境描述一下。
jerrykingjer
    107
jerrykingjer  
   2017-10-21 13:11:33 +08:00
我现在想用的是
tcpspeed -> tcpspeed-Server
tcp+udp -> $$tap->{ } server ->tcp+udp
speederv2 -> speederv2-Server

$$tap 是新出的一个游戏加速器,但是总是断线,我想用这个多倍发包看是否能解决
jerrykingjer
    108
jerrykingjer  
   2017-10-21 13:12:58 +08:00
空格没了 排版看不出来。。。。
jerrykingjer
    109
jerrykingjer  
   2017-10-21 13:16:45 +08:00
已发
anym0us
    110
anym0us  
   2017-10-21 13:54:38 +08:00
没看懂,能再具体点吗
kingcos
    111
kingcos  
   2017-10-21 14:11:27 +08:00
支持楼主啊。。很棒啊!
弱弱的问问楼主,想了解或者说能看懂甚至说可以编写您写的这样的代码(或者酸$酸$乳这些网络层面的应用。。),可以从哪里着手或者入门呢。。
vh2h
    112
vh2h  
   2017-10-21 14:14:48 +08:00
感谢楼主为人类作出的贡献。
aksoft
    113
aksoft  
   2017-10-21 14:16:45 +08:00
除了 vpn ss 啥的能用不
wangyucn
    114
wangyucn  
OP
   2017-10-21 14:21:12 +08:00
>没看懂,能再具体点吗

看不懂的话,去网上先找找 OpenVPN 相关的教程吧,了解下 VPN 怎么用。 用 UDPspeeder+Openvpn 无非就是在 OpenVPN client 和 sever 之间串联一个 Udpspeeder client 和 server。
wangyucn
    115
wangyucn  
OP
   2017-10-21 14:24:02 +08:00   ❤️ 2
>弱弱的问问楼主,想了解或者说能看懂甚至说可以编写您写的这样的代码(或者酸$酸$乳这些网络层面的应用。。),可以从哪里着手或者入门呢。。

在已经会用 g++编写 linux 的 c++程序基础上,再学一下 epoll 和 socket,就可以了。
wangyucn
    116
wangyucn  
OP
   2017-10-21 14:25:48 +08:00
>除了 vpn ss 啥的能用不

可以不用 VPN。 用 udpseepder+kcptun/finalspeed+ s**** 也可以实现同时加速 tcp 和 udp,udpspeeder 负责加速 udp,kcptun/finalspeed 负责加速 tcp,项目里有原理图,具体配置自己意会下。
lechain
    117
lechain  
   2017-10-21 14:38:59 +08:00   ❤️ 1
刚刚想试试效果,按照简体中文版 doc 操作的。结果就发现好像中文版的运行说明部分 把 server 和 client 的弄反了。提醒一下楼主。

运行说明部分中文版如下:

```plain
在 client 端运行:
./speederv2 -s -l0.0.0.0:4096 -r127.0.0.1:7777 -f20:10 -k "passwd"

在 server 端运行:
./speederv2 -c -l0.0.0.0:3333 -r44.55.66.77:4096 -f20:10 -k "passwd"
```

英文版部分

```plain
# 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"
```
ccsexyz
    118
ccsexyz  
   2017-10-21 14:45:40 +08:00
@kingcos 学 Go 吧。
wangyucn
    119
wangyucn  
OP
   2017-10-21 14:45:47 +08:00
>刚刚想试试效果,按照简体中文版 doc 操作的。结果就发现好像中文版的运行说明部分 把 server 和 client 的弄反了。提醒一下楼主。

哦,是的,多谢提醒。
woochun
    120
woochun  
   2017-10-21 14:51:19 +08:00 via Android
支持
lechain
    121
lechain  
   2017-10-21 15:02:03 +08:00
对了,还想问问,如果只是 openvpn 配 speeder 加速的话,流量会不会很容易被识别。
或者说有没有必要再最外面再套一层$xxx
wangyucn
    122
wangyucn  
OP
   2017-10-21 15:09:27 +08:00   ❤️ 1
>对了,还想问问,如果只是 openvpn 配 speeder 加速的话,流量会不会很容易被识别。
或者说有没有必要再最外面再套一层$xxx

墙相关的问题我就不回答了,抱歉,自己尝试一下吧。
qceytzn
    123
qceytzn  
   2017-10-21 16:19:45 +08:00
大佬,再问个问题:看你在 github 上的示例命令,
“在 client 端运行:
./speederv2 -c -l0.0.0.0:3333 -r44.55.66.77:4096 -f20:10 -k "passwd"

在 server 端运行:
./speederv2 -s -l0.0.0.0:4096 -r127.0.0.1:7777 -f20:10 -k "passwd" ”

-l 和 IP 地址之间没有空格的?-r 和 IP 地址之间也是没有空格的?还有那个-f 也是如此??我有点难以置信,好像我之前 N 年学的命令行用法都是错误的...
root9000
    124
root9000  
   2017-10-21 16:42:01 +08:00 via Android   ❤️ 1
评论很多,都是提问题的,我来说下体验吧。速度等同 kcp,ovz 机子也能跑很快,与 kcp 的区别还是很大,由于使用的是 UDP 发包,不像 kcp 会有断流现象。我用了下最简单的 l2tp 来测试,连上之后 MTR 丢包几乎为 0,延迟抖动也变得相对稳定,比较适合用小流量来打游戏,大流量的话和 kcp 一样烧流量。未来能制作成类似双 s 的插件应用就方便了
mortal
    125
mortal  
   2017-10-21 16:46:52 +08:00
真的棒!
exploreexe
    126
exploreexe  
   2017-10-21 16:51:29 +08:00
我想知道 以后吃鸡是不是不用买加速器了 自己搭就可以了?
大佬 如果在已经不是 SS 的服务器上搭建你这个 会冲突吗?
kingcos
    127
kingcos  
   2017-10-21 16:53:48 +08:00 via iPhone
@ccsexyz Go 在这方面有优势还是什么呢…
chenqh
    128
chenqh  
   2017-10-21 16:55:19 +08:00 via iPhone
大佬的网络编程怎么学的呀指点下好吗
neoblackcap
    129
neoblackcap  
   2017-10-21 16:59:14 +08:00   ❤️ 1
@kingcos Go 在网络编程方面最大的优势就是可以让你用简单容易理解的 goroutine 替代那让人觉得头晕的状态机
ccsexyz
    130
ccsexyz  
   2017-10-21 17:04:50 +08:00   ❤️ 1
@kingcos 跨平台
反例的话看向 simple-obfs,据说在 windows 下性能很差,甚至成为了减速器
wangyucn
    131
wangyucn  
OP
   2017-10-21 18:11:24 +08:00
>-l 和 IP 地址之间没有空格的?-r 和 IP 地址之间也是没有空格的?还有那个-f 也是如此??我有点难以置信,好像我之前 N 年学的命令行用法都是错误的...

双字节参数后面都必须有空格,比如--report 10,这个空格是不能省略的。单字节的命令,空格可省,比如-f20:10 和-f 20:10 都是没问题的。

linux 上面大部分程序都是这样的吧
wangyucn
    132
wangyucn  
OP
   2017-10-21 18:14:57 +08:00
>我想知道 以后吃鸡是不是不用买加速器了 自己搭就可以了?
从我自己玩 mobile legend 和 brawl star 的经验看,用自己搭的效果已经很不错了。 不过前提是你需要有台稳定的 VPS。

>大佬 如果在已经不是 SS 的服务器上搭建你这个 会冲突吗?

除非是配置不当,不至于冲突吧。
wangyucn
    133
wangyucn  
OP
   2017-10-21 18:23:08 +08:00
> @ccsexyz Go 在这方面有优势还是什么呢…

Go 的开发效率高一些。
wangyucn
    134
wangyucn  
OP
   2017-10-21 18:27:27 +08:00
>评论很多,都是提问题的,我来说下体验吧。速度等同 kcp,ovz 机子也能跑很快,与 kcp 的区别还是很大,由于使用的是 UDP 发包,不像 kcp 会有断流现象。我用了下最简单的 l2tp 来测试,连上之后 MTR 丢包几乎为 0,延迟抖动也变得相对稳定,比较适合用小流量来打游戏,大流量的话和 kcp 一样烧流量。未来能制作成类似双 s 的插件应用就方便了

感谢反馈。

>由于使用的是 UDP 发包,不像 kcp 会有断流现象

kcptun 底层也是 UDP 发包,断流有可能是协议被针对了。

>未来能制作成类似双 s 的插件应用就方便了

希望有大佬能给做个。
xierch
    135
xierch  
   2017-10-21 20:04:26 +08:00   ❤️ 1
说到 FEC,之前 QUIC 也有过一些相关的实验和讨论
jerrykingjer
    136
jerrykingjer  
   2017-10-21 22:44:32 +08:00
原始情况 :
sstap
全局代理
sock5 127.0.0.1:1083

tcpspeed
使用 udp 协议
本地端口 1083
指向服务器
45.66.77.88:130

game->sstapSocks5->tcpspeedClient->tcpspeedServer->gameServer
加倍发包情况:
sstap
sock5 127.0.0.1:1083

tcpspeed
192.168.3.18(虚拟机 ip)

在 client 端运行:
./speederv2 -c -l0.0.0.0:130 -r44.55.66.77:4096 -f20:10 -k "passwd"
让虚拟机 130 端口对应服务器 130 端口

在 server 端运行:
speederv2 -s -l0.0.0.0:4096 -r127.0.0.1:130 -f20:10 -k "passwd"

game->sstapSocks5->tcpspeedClient->udpSpeederClient->udpSpeederServer->tcpspeedServer->gameServer


链接一次就断开 不知道为啥
wangyucn
    137
wangyucn  
OP
   2017-10-21 22:50:15 +08:00
@jerrykingjer

我在 github 上已经回你了
wangyucn
    138
wangyucn  
OP
   2017-10-21 23:46:45 +08:00
>比较适合用小流量来打游戏,大流量的话和 kcp 一样烧流量

我在教程里演示的 fec 参数是 1.5 倍流量发包的,可以把 10%的丢包降低到 0.01%以下。如果你的网络没有 10%这么大丢包率,可以调成 1.2 倍流量发包,就能更省流量了。

另外可以看一下--mode 参数,加了--mode 0 参数后,消耗的流量完全透明,你设置成发多少倍的包,就会也只会消耗多少倍的流量。
7zki
    139
7zki  
   2017-10-22 02:01:06 +08:00 via Android
大佬请问用的是那个为匹恩呢? open ?
nicktogo
    140
nicktogo  
   2017-10-22 02:38:47 +08:00
多倍发包会让(别人的)网络堵得更厉害,用得人越多越堵,影响网络的公平性
bao3
    141
bao3  
   2017-10-22 07:37:53 +08:00   ❤️ 1
绝对是神器啊,另外,楼主也打 mobile lengend ! 握手。我目前的解决方案是用 openanyconnect udp 443 来打游戏,偶尔延迟高。
wangyucn
    142
wangyucn  
OP
   2017-10-22 08:05:23 +08:00
>多倍发包会让(别人的)网络堵得更厉害,用得人越多越堵,影响网络的公平性

首先,FEC 的话,跟纯多倍发包还是有区别的。

其次,

对于 TCP,基本上任何加速器都会牺牲一点公平性,来换取速度。FEC 只是降低了丢包率,上层承载的 TCP 还是有退让算法的,公平性会牺牲一些,但是不至于无脑拥堵网络。

对于 UDP,本来就没有拥塞控制,发包速度完全是应用自己决定的。很多实时传输的 UDP 应用也会自己在内部实现 FEC。

另外多线程 TCP 下载其实也是影响公平性的。
jimages
    143
jimages  
   2017-10-22 08:27:14 +08:00 via iPhone
作者请问下在 Linux 开发用的什么开发工具?
wangyucn
    144
wangyucn  
OP
   2017-10-22 08:33:19 +08:00
>作者请问下在 Linux 开发用的什么开发工具?

编译用 makefile 和 g++,写代码用 eclipse,版本管理用 git。
sephinh
    145
sephinh  
   2017-10-22 09:09:32 +08:00
支持,坐等一键包~
jerrykingjer
    146
jerrykingjer  
   2017-10-22 09:13:37 +08:00
R7000 路由器需要自己编译么 0.0

感谢大佬昨日深夜的回复,早上试了下,发现 proxifier、sockscap64 均可以链接,但是 sstap 不可以,确定是把本地端口劫持了,无法绕过(只能添加 IP,无法添加端口规则)。

但是 proxifier 不能使用 udp,sockscap64 不接受多重启动,steam 启动 be 可以,be 启动的游戏无链接。

试了下 proxycap,steam 链接都会失败,最后的 game 能进去,无法进入最终的游戏服务器,没有接收回合服务器的 udp 数据。

剩下的那个要付费,不付费的弹窗提醒太累心。

貌似解决方案只有 openvpn+。。。了。
jerrykingjer
    147
jerrykingjer  
   2017-10-22 09:17:13 +08:00
> 支持,坐等一键包~

一键包其实差的并不多,一个自动重启,一个配置文件,外加后台。

我做好了带 udp2raw 和 speederv2 集合的本地镜像,你要不?
Monstercat
    148
Monstercat  
   2017-10-22 10:09:12 +08:00
必须支持👍
aru
    149
aru  
   2017-10-22 13:14:24 +08:00
@wangyucn
在同一主机上是否不能同时运行 kcpraw 和 udp2raw?
Nin
    150
Nin  
   2017-10-22 14:36:11 +08:00
串起了 openvpn,但是要调 mtu,或者照着范例那样写,不然一堆[WARN]message too long
metalbug
    151
metalbug  
   2017-10-22 14:58:08 +08:00
这货是可以翻强么
wangyucn
    152
wangyucn  
OP
   2017-10-22 16:00:28 +08:00 via Android
@aru

可以同时运行
wangyucn
    153
wangyucn  
OP
   2017-10-22 16:01:45 +08:00 via Android
@Nin

是需要调 mtu 的,中文主页的教程上有说
aru
    154
aru  
   2017-10-22 16:23:26 +08:00
@wangyucn
我这里一台机器运行了 kcpraw 后,再运行 udp2raw 会不断出现 reset 的错误提示,也无法通信
udpraw 是简单的转发 dns 请求到 8.8.8.8 测试
wangyucn
    155
wangyucn  
OP
   2017-10-22 17:20:10 +08:00 via Android
@aru

那可能 kcpraw 跟 udp2raw 添加的 iptables 规则不兼容

同时运行多个 udp2raw 是没问题的
bclerdx
    156
bclerdx  
   2017-10-22 20:38:41 +08:00
请问 LZ,这个对鹏博士宽带网络无效吧?
ugvf2009
    157
ugvf2009  
   2017-10-22 20:42:23 +08:00 via Android
good job
qfdk
    158
qfdk  
   2017-10-22 22:05:54 +08:00
特地登陆过来留言 虽然不知道干啥的。。。
livexia
    159
livexia  
   2017-10-22 23:19:45 +08:00 via Android
不管好不好首先支持一个
wangyucn
    160
wangyucn  
OP
   2017-10-23 00:25:40 +08:00
>请问 LZ,这个对鹏博士宽带网络无效吧?

UDPspeeder 和 udp2raw 都可以穿透 NAT,鹏博士宽带除了没有公网 IP 外应该没什么别的特殊的了吧。应该是有效的。
sky92682
    161
sky92682  
   2017-10-23 04:11:03 +08:00
@wangyucn
折腾了一个晚上,始终没有搞定通过 UDPSpeeder 连接 OpenVPN 的问题
在不使用 UDPSpeeder 的情况下,OpenVPN 可以正常连接上

通过 UDPSpeeder 连接的话,UDPSpeeder 客户端显示收到了 OpenVPN 客户端发送过来的数据包:
[2017-10-23 04:01:31][INFO]new packet from 127.0.0.1:55458,conv_id=6897d679

UDPSpeeder 服务端那边也显示收到了 UDPSpeeder 客户端发送过来的数据包:
[2017-10-22 20:04:31][INFO]new packet from 218.87.194.215:54303,conv_id=1bf343e2

但是 OpenVPN 无法连接上,显示 TLS 握手失败:
Mon Oct 23 04:05:31 2017 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Mon Oct 23 04:05:31 2017 TLS Error: TLS handshake failed

服务器上的时间也是对的,上面显示不同那是因为时区设置的不同
百思不得其解
testcaoy7
    162
testcaoy7  
   2017-10-23 07:44:17 +08:00 via Android
我就想问一句,Win10 的 Linux 子系统可以用吗,不喜欢虚拟机
wangyucn
    163
wangyucn  
OP
   2017-10-23 08:50:50 +08:00
>折腾了一个晚上,始终没有搞定通过 UDPSpeeder 连接 OpenVPN 的问题
>在不使用 UDPSpeeder 的情况下,OpenVPN 可以正常连接上

看起来像是 MTU 问题,另外你对照一下自己的配置和我在 github 上贴出的配置有什么区别。
wangyucn
    164
wangyucn  
OP
   2017-10-23 08:54:11 +08:00
>我就想问一句,Win10 的 Linux 子系统可以用吗,不喜欢虚拟机

希望在 WSL 上试过的朋友反馈一下。
yyysuo
    165
yyysuo  
   2017-10-23 11:28:08 +08:00
@ccsexyz 是的,youtube 稳定的限制在 10000kpbs
sky92682
    166
sky92682  
   2017-10-23 11:28:44 +08:00 via iPhone
@testcaoy7 我就是在 Windows 子系统下测试的 数据包能正常传送过去 但是 OpenVPN 连不上 但我目前为止还没有找到问题所在
wangyucn
    167
wangyucn  
OP
   2017-10-23 11:39:16 +08:00
@sky92682 有没有设置好 mtu ?在 vpn 的 client 和 server 端都添加如下配置

mssfix 1200
fragment 1200

如果还是不行,在 github 上贴出配置和命令和环境详细描述,我帮你看一下
sky92682
    168
sky92682  
   2017-10-23 12:34:17 +08:00
@wangyucn 感谢提醒 已在 Github 发了 Issue
Ehend
    169
Ehend  
   2017-10-23 12:43:43 +08:00 via Android
请问楼主,配置的数据转发顺序是 s.s→kcp→udpspeeder→udp2raw 吗?
wangyucn
    170
wangyucn  
OP
   2017-10-23 13:00:42 +08:00
>s****→kcp→udpspeeder→udp2raw

这样连的话,只能加速 tcp,不能加速 udp。另外,如果你只需要加速 tcp 的话,只要 kcptun 和 udp2raw 就够了,不需要再串联 udpspeeder. kcptun 本身已经足够好了。连接拓扑图:

s**** client-->kcptun client-->udp2raw client------------------->udp2raw server-->kcptun server--->s**** server.

如果你需要同时加速 tcp 和 udp,连接拓扑图是这样:

https://raw.githubusercontent.com/wangyu-/UDPspeeder/master/images/cn/speeder_kcptun.PNG
testcaoy7
    171
testcaoy7  
   2017-10-23 14:27:29 +08:00
为什么还要配合 KCP 使用呢? KCPTUN 本身已经集成了 FEC 了呀~
应该跟 OVPN 配合
codeblur
    172
codeblur  
   2017-10-23 20:51:26 +08:00
mark 一下
bclerdx
    173
bclerdx  
   2017-10-23 23:00:14 +08:00
@wangyucn 谢谢!看着有点晕头,感觉自建有点难度和复杂。有省事的方案么?
bclerdx
    174
bclerdx  
   2017-10-23 23:05:10 +08:00
@wangyucn 请教怎么测试某宽带网络的丢包百分比,多谢?
wangyucn
    175
wangyucn  
OP
   2017-10-23 23:11:41 +08:00
>看着有点晕头,感觉自建有点难度和复杂。
需要一定动手能力。

>有省事的方案么?
只能等别人做一键包了。

>请教怎么测试某宽带网络的丢包百分比,多谢?
在 UDPspeeder 中添加--report 5 参数,然后对比两边的数据,即可算出丢包百分比。
sky92682
    176
sky92682  
   2017-10-23 23:13:11 +08:00   ❤️ 1
@testcaoy7 经测试 UDPSpeeder 配合 OpenVPN 在 WSL 下可以正常使用
但是 UDP2raw 不行 因为 WSL 不支持 iptables
jerrykingjer
    177
jerrykingjer  
   2017-10-24 18:31:38 +08:00   ❤️ 2
55tap+tcpspeed+updspeeder+udp2raw 的游戏之路
一、虚拟机
1.ssh 链接虚拟机(虚拟机[下载]( https://github.com/wangyu-/udp2raw-tunnel/releases/download/20170917.0/lede-17.01.2-x86_virtual_machine_image_with_udp2raw_pre_installed.zip))。
用户名 root,密码 123456
改名 udp2raw_一大串为 upd2raw,重新 ln 命令 link 一下到根目录,下载 udpspeederv2 到 root 下,改名 speederv2 并 link 到根目录。
2.安装 tmux:
opkg update
opkg install tmux

3.udpspeeder client:
tmux new -s speeder
./speederv2 -c -l0.0.0.0:**130** -r127.0.0.1:8002 -f20:10 --mode 0 --mtu 1200
然后按下 ctrl+b 再按 d
4.udp2raw client:
tmux new -s udp2raw
./udp2raw -c -l0.0.0.0:8002 -r45.77.28.30:4096 -a --raw-mode faketcp -k "SpeedUP" --cipher-mode xor --auth-mode simple
然后按下 ctrl+b 再按 d

二、服务器
1.安装 udp2raw 和 udpspeeder,对应 cpu 版本放到 /usr/local/bin 下,改名然后给 0755 权限。chmod +x 文件名
ps:(也可以用这个一键装 udpspeeder:bash <(curl -s -L https://233abc.com/UDPspeeder.sh) )
安装 tmux
根据自己的来,我的是:
ape-get install tmux
2.udp2raw serevr:
tmux new -s udp2raw
udp2raw -s -l0.0.0.0:4096 -r 127.0.0.1:8000 -a --raw-mode faketcp -k "SpeedUP" --cipher-mode xor --auth-mode simple
然后按下 ctrl+b 再按 d
3.udpspeeder server:
tmux new -s speeder
speederv2 -s -l0.0.0.0:8000 -r 127.0.0.1:**130** -f20:10 --mode 0 --mtu 1200
然后按下 ctrl+b 再按 d

以上 tcpspeed 可以换成 finalspeed,fs 的设置,命令行就是把端口改成 150,界面相关查看具体可以参考[这个]( https://github.com/wangyu-/udp2raw-tunnel/blob/master/doc/finalspeed_step_by_step.md)。
kennylam777
    178
kennylam777  
   2017-10-25 01:26:29 +08:00
因為在 docker 跑你所寫的 udpspeeder 及 udp2raw-tunnel, 一直用 wrapper script 解決 linking 的 hostname 問題......

為表支持, 剛剛在 udp2raw-tunnel 交了一個動態 IP 的 pull request
kennylam777
    179
kennylam777  
   2017-10-25 01:27:25 +08:00
以後再看看 udpspeeder 的 source code, 好像改法跟 udp2raw-tunnel 差不多
myliyifei
    180
myliyifei  
   2017-10-25 02:50:32 +08:00
请问,这个设置多少合适呢?哪些虚拟机里面的时钟不稳定呢?



-i 选项

指定一个时间窗口,长度为 n 毫秒。同一个 fec 分组的数据在发送时候会被均匀分散到这 n 毫秒中。可以对抗突发性的丢包。默认值是 0,因为这个功能需要用到时钟,在某些虚拟机里时钟不稳定,可能会导致个别包出现非常大的延迟,所以默认关掉了。这个功能很有用,默认参数效果不理想时可以尝试打开。
cat9life
    181
cat9life  
   2017-10-25 09:35:01 +08:00
昂 怀疑 qiang 现在会把流量作为一个指标..
Damaidaner
    182
Damaidaner  
   2017-10-25 10:45:22 +08:00
支持! 什么时候能弄成路由$$插件就好了,希望有大神出手
wangyucn
    183
wangyucn  
OP
   2017-10-25 10:48:37 +08:00
>為表支持, 剛剛在 udp2raw-tunnel 交了一個動態 IP 的 pull request

有一点点问题,在 github 上回复你了
wangyucn
    184
wangyucn  
OP
   2017-10-25 10:54:14 +08:00
>请问,这个设置多少合适呢?
5ms~20ms 吧。

>哪些虚拟机里面的时钟不稳定呢?
以自己测试的为准,我这里也没有完整列表。如果经常出现延迟突然变大很多,可能是因为时钟不稳。

我只知道 virtualbox 某几个版本时钟有问题,甚至时间会倒流,不过后来已经修了。另外有人反应,在 vmware 上也有延迟突然变大的情况,不过不严重,每小时只有 20 个左右的包延迟突然变大,他是特意对延迟做了测试才发现的,实际使用不一定能感受到。
ccsexyz
    185
ccsexyz  
   2017-10-28 00:42:33 +08:00
@aru iptables -vnL 看下具体添加了什么规则
aru
    186
aru  
   2017-10-28 14:18:15 +08:00
@ccsexyz
再次测试了,应该是由于我的 iptables 引起的,关闭 kcpraw 也不行。
我的机器上 iptables 规则挺多,估计某个规则触发了这个问题
wangyucn
    187
wangyucn  
OP
   2017-10-28 14:39:25 +08:00
@aru

在两边都加上`--lower-level auto` 可以绕过 iptables 发包。预计加上以后就可以用了。
ccsexyz
    188
ccsexyz  
   2017-10-28 17:29:07 +08:00
@aru 看来我加的 iptables 规则还是选的比较好的,没有受到你的规则的影响
anyway,如果你只是需要一个转发 udp 的 tunnel 的话,用 kcpraw 就好了
hu6360567
    189
hu6360567  
   2017-10-29 17:57:04 +08:00
@wangyucn 这个支持 IPV6 吗?主要用 ipv6 免流量上网
wangyucn
    190
wangyucn  
OP
   2017-10-29 17:59:12 +08:00
@hu6360567

目前不行。这个普及率比较低,没有做。你可以自己尝试改下代码 pr 一个。
aru
    191
aru  
   2017-10-29 18:28:19 +08:00
@wangyucn
确实,加上 low-level 参数后 udp2raw 可以正常用了
hu6360567
    192
hu6360567  
   2017-10-30 13:36:00 +08:00
@wangyucn 我先试试 HA 转发 v6 到 v4 试试
orzz
    193
orzz  
   2017-11-18 20:57:10 +08:00
@lHUAC GCP 安装提示 UDPSPEEDER 下载错误,求更新
xwhxbg
    194
xwhxbg  
   2018-01-02 10:23:48 +08:00
只有我是单纯用它来加速游戏么。。。
mysparrow
    195
mysparrow  
   2018-03-03 20:57:36 +08:00
@wangyucn

>想要可以降延迟的工具 2333 突破物理极限

延迟有两种含义:1 是物理上的延迟,不考虑丢包和重传。2 是逻辑上的延迟,如果数据丢了需要重传,耗费的时间也算作延迟。

对于玩游戏和浏览网页,大部分语境下说的延迟都是 2。

UDPspeeder 说的降低延迟,当然也是 2.

意思说“ 1 ”,也就是物理上的延迟是没有办法降低的,kcp 也好 udpspeeder 也好,降低的都是 2 的延迟,对吧?
wangyucn
    196
wangyucn  
OP
   2018-03-03 21:54:39 +08:00
>意思说“ 1 ”,也就是物理上的延迟是没有办法降低的,kcp 也好 udpspeeder 也好,降低的都是 2 的延迟,对吧?

对。 除了物理方法(比如专线),没有软件可以降低物理延迟。
StephenDon
    197
StephenDon  
   2018-05-16 12:44:05 +08:00 via iPhone
看作者得图示我愚昧的理解,开启了 udpspeeder 就是全部走 udp 流量?
我梅林,开游戏模式+ udpspeeder,如果我看油管和网页,流量也是走的 udp ?我需要看视频的时候换回国内白名单模式,关了 udpspeeder 吗?
sunspaul
    198
sunspaul  
   2018-08-06 15:37:40 +08:00
27 楼的兄弟,你说对了,我昨天折腾了一下 udpspeeder,用 udp2raw 伪装成 tcp 又伪装成 icmp 各试了一下,加速效果很不错而且 udp 被封也可以用,心里这个嗨!今天刚到公司就发现那台 vps 的 ip 已经被封 tcp 所有端口了,仅给我留下一个可以 ping 通的躯壳儿。好凉好凉。
wangyucn
    199
wangyucn  
OP
   2018-08-14 21:10:44 +08:00
@sunspaul

用了近一年了仍然很安稳,这个锅 udp2raw 和 UDPspeeder 不背。你还是想想自己是不是做了啥坏事让 IP 被重点照顾了吧。
sunspaul
    200
sunspaul  
   2018-08-15 15:34:11 +08:00
@wangyucn 并没有做任何坏事,就玩个游戏,需要 udp,udp 被封了才考虑到王大佬您的工具的。您的工具本来就是免费的,有什么锅不锅的,我也没说要谁背或者怪谁,只是把我自己的经历分享出来,有需要做游戏加速又被封了 udp 的朋友可以参考。为什么跟我自己无关,因为我的 ip 用了好几个月了也没事,就部署完 udp2raw+udpspeeder 测试了俩小时,第二天就被封 tcp 了。
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   970 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 22:37 · PVG 06:37 · LAX 14:37 · JFK 17:37
Developed with CodeLauncher
♥ Do have faith in what you're doing.