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

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

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

image

之前发的 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 的来回的流量都会被加速。

效果

image

(借用了 UDPspeeder 的图)image

其他

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

32225 次点击
所在节点    宽带症候群
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