UDPspeeder,双边网络加速工具,可以加速全流量(包括 TCP/UDP/ICMP),开源项目
双边网络加速工具,软件本身的功能是加速 UDP ;不过,配合任意 udp 协议的 VPN 可以加速全流量(包括 TCP/UDP/ICMP)。通过合理配置,可以加速游戏,降低游戏的丢包和延迟;也可以加速下载和看视频这种大流量的应用。
跟 kcptun/finalspeed/BBR 等现有方案比,主要优势是可以加速 UDP 和 ICMP,现有方案几乎都只能加速 TCP。
配合 vpn 加速全流量的原理图(已测试支持 VPN 的有 OpenVPN、L2TP、$***VPN):
另外,可以和udp2raw串联使用,在加速的同时把 UDP 伪装成 TCP,防止 UDP 被运营商 QOS 或屏蔽。
主要原理是通过发冗余数据来对抗网络的丢包,发送冗余数据的方式支持 FEC(Forward Error Correction)和多倍发包,其中 FEC 算法是 Reed-Solomon。
对于 FEC 方式的原理图:
几乎任何 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 jhytxy 2017-10-20 17:40:44 +08:00 via iPhone ![]() 这不支持我还是人吗 |
![]() | 2 zxy 2017-10-20 18:39:51 +08:00 我肯定是支持这类项目的 |
3 boboliu 2017-10-20 18:39:57 +08:00 via Android V2 习性,收藏不回复 看起来很厉害的样子,回头围观围观 |
![]() | 4 kurtrossel 2017-10-20 18:44:36 +08:00 高大上,炸天~ |
![]() | 5 ovear 2017-10-20 18:49:45 +08:00 有个问题,有效流量大概是多少?在手机端上,多倍流量其实有点伤 |
![]() | 6 ovear 2017-10-20 18:49:59 +08:00 噢,先支持下 LZ ) |
![]() | 7 7654 2017-10-20 18:52:07 +08:00 ![]() 大流量 UDP 应该如灯塔般明亮吧 |
![]() | 8 SadNoooo 2017-10-20 18:58:00 +08:00 via iPhone 先收藏 |
![]() | 9 wangyucn OP ![]() 根据你自己的需要来设置,耗费多少倍的流量几乎完全透明。你把冗余度设置为多少,那就耗费多少倍的流量。 比如,如果你要应对 3%的网络丢包,1.2 倍的冗余度就完全够用了,可以把丢包降低到 0.01%,1.2 倍发包有效流量也就是 83% 如果要把 10%的网络丢包降低到 0.01%以下,那么需要 1.5 倍的冗余度,有效流量 66% |
![]() | 10 wangyucn OP 1.2 倍和 1.5 倍是说一共 1.2 倍和 1.5 倍,不是额外需要 1.5 倍。 |
![]() | 11 zhouyou457 2017-10-20 19:38:08 +08:00 via iPhone 妙啊,妙啊 |
![]() | 12 ethanlu 2017-10-20 19:39:07 +08:00 via Android 所以可以用来当加速器用吃鸡咯? |
![]() | 13 wangyucn OP ![]() >所以可以用来当加速器用吃鸡咯? 可以,这个加速器当初就是为了玩美服的 Brawl Stars 做的。加速游戏是最拿手的。github 上面有人反馈他用来玩吃鸡效果不错。 |
![]() | 14 zrj766 2017-10-20 19:47:44 +08:00 via Android 新东西啊,坐等花式一键包 |
![]() | 15 lingaoyi 2017-10-20 19:52:29 +08:00 对于我这种小白,只能期待一键安装。 |
16 CreSim 2017-10-20 20:13:02 +08:00 via Android 同样坐等大佬出一键部署脚本。。 |
![]() | 17 Meimei 2017-10-20 20:29:03 +08:00 替楼上加 1,很期待测试,高墙众人推 |
![]() | 18 wex 2017-10-20 20:34:00 +08:00 坐等一键安装包,DALAO 现身吧 |
![]() | 19 wangyucn OP >坐等一键安装包,DALAO 现身吧 同求,希望有大佬能给做一个= = |
![]() | 20 thinks 2017-10-20 21:03:20 +08:00 坐等一键安装包,DALAO 现身吧 铜球,希望支持。 |
![]() | 21 liuminghao233 2017-10-20 21:17:01 +08:00 via iPhone 支持一下 |
![]() | 22 wangtong868 2017-10-20 21:27:31 +08:00 via iPhone @wangyucn 哦哦,我也有玩 brawl stars,还充过钱,然而现在没玩了。其实用移动宽带玩的顺畅度还可以的 |
23 BluceW 2017-10-20 21:55:12 +08:00 也就是说不玩游戏的话这个同样可以拿来看视频和下东西,效果比 bbr 还要好?想要知道能不能用于 ipv6,小白等一键包,大力支持 |
![]() | 24 Jerrymouse1 2017-10-20 22:00:26 +08:00 via iPhone 感觉好高端的样子 |
![]() | 25 wangyucn OP >也就是说不玩游戏的话这个同样可以拿来看视频和下东西 可以 >效果比 bbr 还要好? 不敢说效果比 BBR 好,看情况。不过用 BBR 时,如果丢包率超过 20%,BBR 就几乎一点速度也没有了。用这个,通过合理设置参数,仍然能获得不错的速度。 另外,UDPspeeder 加速 TCP 时工作在 IP 层,BBR 工作在 TCP 层,两者不冲突,甚至可以叠加,UDPspeeder 负责改善丢吧,BBR 负责拥塞控制和重传,两者一起用是个不错的组合。 >想要知道能不能用于 ipv6 目前不能加速 ipv6,不过用 UDPspeeder+VPN 的话,可以承载 ipv6 的流量。 >小白等一键包,大力支持 同求,希望有大佬给做一个。 |
![]() | 26 wangyucn OP sed 's/负责改善丢吧 /负责改善丢包 /g' |
27 jhytxy 2017-10-20 22:26:40 +08:00 这玩意 如果不在外面套个酸酸 R 做混淆 这么大流量岂不是分分钟被封? |
28 wr410 2017-10-20 22:27:52 +08:00 理论上可行,类似于 RAID5 组盘或者 RAR 里的恢复记录,就是靠牺牲数量(带宽)来保证质量。 |
![]() | 29 lsylsy2 2017-10-20 22:41:07 +08:00 RS 码的话很不错啊 |
![]() | 30 nopicsayjb 2017-10-20 22:42:53 +08:00 ![]() @thinks @wangyucn @BluceW @CreSim @lingaoyi @wex @zrj766 一键安装包来了,看这里.... 要求:Ubuntu/Debian,CentOS 系统的小鸡鸡 使用 root 用户输入下面命令安装或卸载 bash <(curl -s -L https://233abc.com/UDPspeeder.sh) 备注,此脚本仅负责安装和卸载 来自: https://233abc.com/post/20/ |
![]() | 31 wangyucn OP >如果不在外面套个酸酸 R 做混淆 这么大流量岂不是分分钟被封? 我自己平时用 udp2raw+UDPspeeder+VPN,一直可以稳定使用,很少会断流,几天才会遇到一次,重启客户端(相当于换端口重连)后马上就又可以满速了。 >理论上可行,类似于 RAID5 组盘或者 RAR 里的恢复记录,就是靠牺牲数量(带宽)来保证质量。 是的,UDPspeeder 和他们用的是类似的技术。 >一键安装包来了,看这里.... 感谢大佬。。。 |
32 luolufang 2017-10-20 22:58:07 +08:00 via Android 想要可以降延迟的工具 2333 突破物理极限 |
![]() | 33 wangyucn OP >想要可以降延迟的工具 2333 突破物理极限 延迟有两种含义:1 是物理上的延迟,不考虑丢包和重传。2 是逻辑上的延迟,如果数据丢了需要重传,耗费的时间也算作延迟。 对于玩游戏和浏览网页,大部分语境下说的延迟都是 2。 UDPspeeder 说的降低延迟,当然也是 2. |
![]() | 34 MacGG 2017-10-20 23:10:14 +08:00 貌似很 nb,不知道如何使用 |
![]() | 35 wangyucn OP @luolufang > 想要可以降延迟的工具 2333 突破物理极限 另外可以看下 KCP 协议在 github 主页上的介绍: “ KCP 是一个快速可靠协议,能以比 TCP 浪费 10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。” 这里说的延迟也是 2。讨论延迟需要先搞懂别人说的是哪种延迟。 |
![]() | 36 ACool 2017-10-20 23:26:53 +08:00 via Android 支持支持 |
37 qceytzn 2017-10-21 00:48:38 +08:00 感谢大佬的付出!我有个疑问:如果现在用 kcptun 用的好好的,有必要换成你这个软件吗?有跟 kcptun 比较过性能吗? |
![]() | 38 Cytion 2017-10-21 00:53:32 +08:00 via Android 支持一个。 请问一下对配置有什么要求。 |
![]() | 39 wangyucn OP >感谢大佬的付出!我有个疑问:如果现在用 kcptun 用的好好的,有必要换成你这个软件吗?有跟 kcptun 比较过性能吗? UDPspeeder 可以加速 udp,kcptun 不能。有没有必要换,看你需不需要加速 udp 了。一般玩游戏需要用到加速 udp。 另外,UDPspeeder 和 kcptun 不一定是互相替代的关系,你也可以用 UDPspeeder 和 kcptun 配合,让 UDPspeeder 来加速 UDP,让 kcptun 来加速 TCP。 有测过性能,但是没有跟 kcptun 比过。在树莓派 3b 上,参数-f20:10,打满 20m 带宽,cpu 占用只有 40%,电脑上性能更好。另外调低 FEC 的分组大小可以获得更好的性能。只要不是设备的 CPU 很差,UDPspeeder 性能应该不会成为瓶颈。对于每个实例,占用的内存稳定在 7MB,内存也不会是问题。 |
![]() | 40 wangyucn OP >请问一下对配置有什么要求。 只要是 linux 设备都可以。空闲内存大于 10MB。对 CPU 性能没有硬性要求,调低 FEC 分组大小就可以降低 CPU 使用。 比如你用-f20:10 参数不行,就改成-f10:5,如果还不行再改成-f6:3,都是 1.5 倍发包,但是运算量会降低,会牺牲一点效果,但是牺牲的不大。 |
![]() | 41 wjm2038 2017-10-21 04:21:41 +08:00 via Android 支持 |
![]() | 42 titi14gj 2017-10-21 07:41:41 +08:00 via Android 支持一个 |
43 rockmanx1122 2017-10-21 08:07:55 +08:00 via iPhone 这个具体如何与 ssr 配合使用呢?特别是 ssr 的游戏模式 |
![]() | 44 UnknownR 2017-10-21 08:56:23 +08:00 墙裂支持,已 fork 已 star |
![]() | 45 milkice 2017-10-21 09:02:23 +08:00 via Android 当然是资磁啦,只不过不知道是不是也是暴力发包的模式呢…有空看看源码 |
![]() | 46 moxiaotiao 2017-10-21 09:06:37 +08:00 via Android 厉害 |
![]() | 47 Tink PRO 感觉这个帖子要火,尤其是在 19 大的时候 |
![]() | 48 adamwang 2017-10-21 09:25:13 +08:00 感谢大佬的付出,兹次一下。 |
![]() | 49 wangyucn OP >这个具体如何与 ssr 配合使用呢?特别是 ssr 的游戏模式 你说的***r 游戏模式应该是路由器固件上集成的那个。对于路由器固件,koolshare 版的 x86 lede 和恩山版的 Padavan 固件集成了 v1 版的支持。其他路由器固件,如果你不是特别能折腾,只能等固件的作者集成了。 如果是你自己搭的就简单了。你把 udpspeeder+vpn 搭好,用 vpn 的 ip 访问***r 就可以了。 |
50 iwtbauh 2017-10-21 09:31:28 +08:00 via Android 好,我的 openvpn 有望提速了 |
51 lqf96 2017-10-21 09:32:12 +08:00 支持,不过感觉多倍发包是否有些过于粗暴了,影响公平性? FEC 模式看起来似乎在丢包率和公平性之间更平衡一些... |
![]() | 52 wangyucn OP >支持,不过感觉多倍发包是否有些过于粗暴了,影响公平性? 玩游戏多发还可以,假设游戏本身用的流量 20kb/s,发 3 倍的包,也只有 60kb/s,费的流量远比不上看在线看 1080 视频。 多发只推荐在小流量的情况下使用,延迟更低。大流量情况下用 FEC,省流量。 |
53 WindowPain 2017-10-21 09:40:37 +08:00 via Android 请问可以运行在 Windows 10 的 Ubuntu 子系统吗? |
![]() | 54 wangyucn OP ![]() >请问可以运行在 Windows 10 的 Ubuntu 子系统吗? 没试过。如果这个支持 epoll 的话应该可以。 不过建议直接用那个 7.5mb 虚拟机,win 10 那个 Ubuntu 做得不好,坑多。 |
![]() | 55 syahd 2017-10-21 09:49:12 +08:00 via Android 服务器已经配了 tcp bbr 的,再套一层这个能让速度更快吗 |
![]() | 56 wangyucn OP >服务器已经配了 tcp bbr 的,再套一层这个能让速度更快吗 BBR 工作在 TCP 层改善重传和拥塞控制,UDPspeeder+VPN 工作在 IP 层,改善丢包。两者可以配合使用达到类似叠加的效果。但是速度能不能更快,看情况。 另外: 如果 BBR 只是部署在了你自己的 VPS 上,那么只有访问你自己的 VPS 才是 UDPspeeder+BBR 加速的。 如果你要访问第三方服务器,除非这个服务器本身也部署了 BBR,你需要用 UDPspeeder+VPN+socks5 代理的方式,才会被 UDPspeeder+BBR 同时加速。 |
![]() | 57 wangyucn OP >需要用 UDPspeeder+VPN+socks5 代理的方式,才会被 UDPspeeder+BBR 同时加速 我自己平常使用的就是这种方式。 看起来有点麻烦,不过这个是 BBR 和 VPN 的工作方式决定的,只能这样。 |
![]() | 58 Arrowing 2017-10-21 10:17:54 +08:00 虽然近期不玩吃鸡了,还是支持一下,感谢大佬的付出! |
![]() | 59 scys 2017-10-21 10:21:12 +08:00 Start + 收藏,不错的技术~ |
![]() | 60 ldehai 2017-10-21 10:26:05 +08:00 强烈支持! |
61 Pigbird 2017-10-21 10:29:24 +08:00 via Android 首先还是要有一个 ping 低的 vps 哭瞎 |
![]() | 62 wangyucn OP >首先还是要有一个 ping 低的 vps 哭瞎 一般玩游戏卡顿是丢包引起的。ping 值只要不是高的太夸张,不会明显影响游戏体验。 |
![]() | 63 snorlax 2017-10-21 10:36:40 +08:00 iphone 上能用吗 |
![]() | 64 wangyucn OP >iphone 上能用吗 目前还不行,需要有人移植一下才能用。 |
![]() | 65 tagtag 2017-10-21 10:43:48 +08:00 小白先 star 为敬 |
![]() | 66 CloudnuY 2017-10-21 11:00:12 +08:00 已 star+部署,感谢~ |
![]() | 67 anyele 2017-10-21 11:06:23 +08:00 这不支持我还是人吗 |
![]() | 68 ajeef 2017-10-21 11:08:22 +08:00 via Android 双边加速,是不是意味着不需要客户端了? |
69 jerrykingjer 2017-10-21 11:10:04 +08:00 那个镜像装不上 udpspeeder bash wget 命令都不完整 |
![]() | 70 PyPog 2017-10-21 11:11:17 +08:00 via Android 支持 |
![]() | 71 wangyucn OP >那个镜像装不上 udpspeeder bash wget 命令都不完整 那个 7.5mb 的镜像带 ssh server,只要把 x86 版的 udpspeeder scp 进去就直接可以运行了。不需要 wget。 如果你实在想用 wget,可以用 opkg 命令安装,opkg 是 lede 和 openwrt 上的包管理器,类似 apt-get。 |
![]() | 72 lslqtz 2017-10-21 11:16:42 +08:00 好像好早就 star 了。。。 |
![]() | 73 lslqtz 2017-10-21 11:16:54 +08:00 更尴尬的是还 fork 了 |
![]() | 74 wangyucn OP >双边加速,是不是意味着不需要客户端了? 恰恰相反= =。 双边加速就是需要客户端的意思。 很久以前的版本可以不需要客户端,不过这种方式能做到的效果实在有限,很早就换成双边加速方案了。 |
75 overlords 2017-10-21 11:20:33 +08:00 star+ 支持 |
![]() | 76 wangyucn OP >好像好早就 star 了。。。 >更尴尬的是还 fork 了 这个 repo 很久以前就有了,只不过最近才把 FEC 功能做好。以前版本只能多倍发包,没好意思在 V2EX 上发出来= =。 |
![]() | 77 imherer 2017-10-21 11:35:11 +08:00 # Run at server side: ./speederv2 -s -l0.0.0.0:4096 -r 127.0.0.1:7777 -f20:10 # Run at client side ./speederv2 -c -l0.0.0.0:3333 -r44.55.66.77:4096 -f20:10 我下载了 binary release 解压后 里面没有 speederv2 这个文件呢 |
![]() | 78 wangyucn OP >我下载了 binary release 解压后 里面没有 speederv2 这个文件呢 里面不是有很多 speederv2_xxxxxx 么,根据你的 CPU 来选用哪个。 |
![]() | 79 ajeef 2017-10-21 11:42:58 +08:00 @wangyucn 额,主页上没发现现成可用的 Win 客户端 android 客户端,是要自己编译的? Windows 下,是不是只能挂载 ubuntu 的子系统,或虚拟机,来运行客户端? |
80 jerrykingjer 2017-10-21 11:46:21 +08:00 您好,我是萌新。有 tcpspeed,服务器和本地虚拟机都装好了 speederv2,如何在本地使用 pac 加速呢,网游向。不喜欢使用 vpn,全局流量消耗太大。虽然也架好了 Cisco 的 anyconnect,但是这个经常断开链接和某酸酸 tap 一样。服务器是日本 vultr。 |
![]() | 81 wangyucn OP >额,主页上没发现现成可用的 Win 客户端 android 客户端,是要自己编译的? 安卓的话,用 release 里的 arm 版就可以,不过没有图形界面,需要用 terminal 来运行,不需要 root windows 下,目前只能用虚拟机。ubuntu 子系统也许可以,但是不推荐用。 这个东西移植到 windows 不难,主要的工作量只是要把 epoll 改成 libev 或 libuv,希望有大佬能移植个 windows 原生的。 |
82 yangyaofei 2017-10-21 11:48:46 +08:00 这么大的流量不会被 gfw 干掉么.... |
![]() | 83 wangyucn OP >您好,我是萌新。有 tcpspeed,服务器和本地虚拟机都装好了 speederv2,如何在本地使用 pac 加速呢,网游向。不喜欢使用 vpn,全局流量消耗太大。虽然也架好了 Cisco 的 anyconnect,但是这个经常断开链接和某酸酸 tap 一样。服务器是日本 vultr。 用 VPN 不一定需要全局。你把 VPN 设置成不改变默认的路由表,然后透过 VPN 的 IP 来访问一个 socks5 代理就可以用 pac 了。 我自己平常用 udpspeeder+vpn+socks5,只是浏览网页的流量才走 VPN。repo 里面有原理图,不过具体配置需要你自己意会以下了。 |
![]() | 84 wangyucn OP >这么大的流量不会被 gfw 干掉么.... 流量大了干掉你的应该是 ISP 把,不是墙。 配合 udp2raw 把 udp 伪装成 tcp 全天稳定满速无压力。 |
![]() | 85 sky92682 2017-10-21 12:08:27 +08:00 希望测试了在 windows 10 子系统朋友说一下能不能用 暂时有点忙 不方便测试 同问一下楼主 现在国内到国外的 OpenVPN 用什么方式能连上? 我记得证书认证的模式是连不上的吧... |
![]() | 86 wangyucn OP >同问一下楼主 现在国内到国外的 OpenVPN 用什么方式能连上? 我记得证书认证的模式是连不上的吧... 你可以试下能不能连上。 另外就算是直连,也是有办法连上的,只是这是敏感问题,我不能教你= =。 |
![]() | 89 wangyucn OP >wsl 不支持 Iptables iptables 不是必须的。 比如 udpspeeder+VPN+socks5 方式,不需要 iptables,也不需要改路由表。 |
90 jerrykingjer 2017-10-21 12:21:53 +08:00 现在新的 tcpspeed(fs)加速是 130 本地端口 1083 我试过 服务端 speederv2 -s -l0.0.0.0:4096 -r 127.0.0.1:130 -f20:10 -k "passwd" 虚拟机 speederv2 -c -l0.0.0.0:1083 -r44.55.66.77:4096 -f20:10 -k "passwd" 无效果。无法打开谷歌。 还有就是 fs 客户端一定要用虚拟机的 ip 么 |
![]() | 91 wangyucn OP >现在新的 tcpspeed(fs)加速是 130 本地端口 1083 我试过 你是要把 udpspeeder 和 tcpspeeder 叠加使用吗?我记得 tcpspeed/finalspeed 在主页上说收费版的是支持加速 udp 的,既然已经用了 tcpspeed 再额外用 udpspeeder 还有必要吗? |
![]() | 92 wangyucn OP >无效果。无法打开谷歌。 >还有就是 fs 客户端一定要用虚拟机的 ip 么 这有个 udp2raw+finalspeed step by step 教程,我测试过,可以稳定使用。你可以参考下,对 udpspeeder 也适用。 https://github.com/wangyu-/udp2raw-tunnel/blob/master/doc/finalspeed_step_by_step.md |
93 jerrykingjer 2017-10-21 12:30:45 +08:00 我就是照着这个来做的,但是客户端不显示虚拟机 ip 之类的 |
94 jerrykingjer 2017-10-21 12:32:09 +08:00 服务器就显示个 listening 虚拟机就一行参数 |
![]() | 95 wangyucn OP >我就是照着这个来做的,但是客户端不显示虚拟机 ip 之类的 哦,这个是只有 udp2raw 才会显示的。 udpspeeder 没显示的话,你自己用 ifconfig 看一下也是一样的。 |
![]() | 97 guaitai 2017-10-21 12:43:08 +08:00 via Android mark 一下,几十年了,开会还是这么担惊受怕 |
![]() | 98 hebeiround 2017-10-21 12:45:20 +08:00 所以我的 PS4 有救了? |
![]() | 99 xxstop 2017-10-21 12:48:00 +08:00 mark 一下 |
![]() | 100 quietin 2017-10-21 12:48:14 +08:00 udp 出国流量丢包得厉害, 大部分都还是基于 tcp 加速. |