tinyFecVРN,集成了 UDPspeeder 功能的 VРN,可以加速全流量(TCP/UDP/ICMP),开源项目

2017-10-29 11:03:16 +08:00
 wangyucn

tinyFecVРN,集成了 UDPspeeder 功能的 VРN,可以加速全流量(TCP/UDP/ICMP),开源项目

之前发的 UDPspeeder 加速全流量比较麻烦(需要配合 OpenVРN),现在我把 UDPspeeder 的功能做成 VРN 了,一个程序就可以加速全流量,使用起来更简单。

链接

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

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

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

使用说明

只要两行命令:

# 在 server 端运行:
./tinyvpn -s -l0.0.0.0:5533 -f20:10 -k "passwd" --sub-net 10.22.22.0

# 在 client 端运行:
./tinyvpn -c r44.55.66.77:5533 -f20:10 -k "passwd" --sub-net 10.22.22.0

然后在 client 端ping 10.22.22.1,直接就可以 ping 通了。用 10.22.22.1 就可以直接访问到 server 上的所有服务了,所有经过 tinyFecVРN 的来回的流量都会被加速。

效果

(借用了 UDPspeeder 的图)

其他

目前在 release 版的代码里故意引入了一点限制,只可以当加速器用,不能直接用来“翻出去”。

31265 次点击
所在节点    宽带症候群
116 条回复
jhytxy
2017-10-29 11:11:14 +08:00
搞了这种东西就别遮遮掩掩了
不是说你自己阉一刀老爷就不来找你麻烦了
Loyalsoldier
2017-10-29 11:23:49 +08:00
话说是否可以实现自动检测网络质量,由此自动调整多倍发包的比例?
wangyucn
2017-10-29 11:29:39 +08:00
>话说是否可以实现自动检测网络质量,由此自动调整多倍发包的比例?

这是个好主意,目前还没实现。 不过,我提供了在程序运行中动态改变码率的接口(见--fifo 选项),你可以自己用脚本统计丢包率,然后用 fifo 通知 tinyFecVРN 变换码率。
Bluef0x
2017-10-29 11:30:12 +08:00
怎么配合酸酸用?
wangyucn
2017-10-29 11:34:40 +08:00
@Bluef0x

不论是什么服务,你只要在本地用 10.22.22.1 这个 ip 去访问,就会被加速了。
0987363
2017-10-29 11:35:00 +08:00
udp 真的要看墙心情, 几年前墙就支持屏蔽未知流量端口。
wangyucn
2017-10-29 11:36:04 +08:00
> udp 真的要看墙心情, 几年前墙就支持屏蔽未知流量端口。

搜一下 udp2raw,可以完美解决 udp 被限速的问题。
wangyucn
2017-10-29 11:38:25 +08:00
>udp 真的要看墙心情, 几年前墙就支持屏蔽未知流量端口

一般做 udp 限速的是本地运营商,墙只是背锅了。我这边到同一个服务器,本地的移动有问题,北京联通没问题。
luolufang
2017-10-29 11:56:39 +08:00
我也觉得没必要自己砍一刀,国内使用也没必要上 udp
wangyucn
2017-10-29 11:58:30 +08:00
>国内使用也没必要上 udp

加速游戏必须要用到 UDP。
work1949
2017-10-29 12:07:14 +08:00
支持转发吗
Shura
2017-10-29 12:09:47 +08:00
@jhytxy 去限制还是很容易的,在 tun_dev.cpp 里
paul1729
2017-10-29 12:10:30 +08:00
想问下这个 VPN 是不是多线程的?然后吞吐量怎么样?
wangyucn
2017-10-29 12:30:16 +08:00
>想问下这个 VPN 是不是多线程的

这个 VPN 是单线程+epoll 实现的。

>然后吞吐量怎么样?


附上在两个单核小鸡上的性能测试,server 在 vulr 日本,CPU2.4GHz,内存 512mb。client 在搬瓦工美国,CPU 2.0GHZ,内存 96mb。

在关闭 FEC 的情况下测 tinyFecVРN 本身的性能:

[SUM] 0.00-10.00 sec 125 MBytes 105 Mbits/sec 794 sender
[SUM] 0.00-10.00 sec 122 MBytes 102 Mbits/sec receiver

开启 FEC 后,性能受制于 Reed solomon 库,不同参数的性能有很大区别。

对于默认的 FEC 参数,每 20 个包额外发 10 个冗余包:

[ 4] 0.00-10.00 sec 66.2 MBytes 55.5 Mbits/sec 114 sender
[ 4] 0.00-10.00 sec 65.8 MBytes 55.2 Mbits/sec receiver
wangyucn
2017-10-29 12:35:18 +08:00
@paul1729

用 iperf3 -P10 去压,压榨出了更多的性能。

默认 FEC 参数下的性能:

[SUM] 0.00-10.00 sec 88.9 MBytes 74.6 Mbits/sec 0 sender
[SUM] 0.00-10.00 sec 85.5 MBytes 71.7 Mbits/sec receiver
bjhyyc
2017-10-29 12:42:48 +08:00
是钓鱼吗?
zlfzy
2017-10-29 12:43:20 +08:00
不是很懂,先收藏一下
pisser
2017-10-29 12:47:14 +08:00
nores 哈哈!
Pigbird
2017-10-29 12:59:18 +08:00
大佬,对于联通广州出口这种大姨妈你这个能起到治疗效果么
nerozhu
2017-10-29 13:01:31 +08:00
大佬。用这个加速游戏可以稳定不?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/401630

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX