FEC VPN

Posted on April 29, 2022

给大家推荐一个好用的 VPN 软件. 可以在恶劣的环境中为其上承载的网络提供稳定的保障.

这个 VPN 的诞生缘由, 大概经历了3个时段.

第一个时段, 我折腾使用了 tinyfecVPN, 虽然用起来颇为不便, 但好在比 openvpn 要稳的多. 于是推荐给了隔壁老王.

老王发现这个 tinyfecVPN 代码质量略渣. 但是前先纠错的理念不错. 但是他目前用不到 vpn, 于是冇行动, 冇用起来.

过了一阵子, 老板又双叒叕脑洞瞎开, 要开发一个比 btsync 还要牛逼的同步软件放他的 NAS 产品上用. 他要把数据拆分成 N 份, 然后存储 M 份到不同的NAS上. 只要在线的NAS数量足够, 数据就可以完全恢复.

于是老王想到了 tinyfecVPN 的理念, 用上了 FEC 纠错的方法.

写了一个 FEC 分片工具. 把指定的文件先分片, 然后用 FEC 算法添加冗余纠错. 然后形成大量的冗余分片. 丢失一些分片还可以完整复原整个文件.

然后进入第三个时段. 老板要他的 NAS 尽可能的保持在线数量. 但是有一些西南边区的用户买过去, 他网络状况就不怎么好, 丢包率有那么一点点高. 并不是说边区的人民网络差, 他们访问互联网大厂的CDN并不慢,也不丢包, 而是这些NAS要 P2P, nas和nas之间p2p的时候, 丢包率有那么一点点高.

于是老王决定, 写一个基于 FEC 算法的 VPN, 然后老板的 nas 通过这个 VPN 组网, 就解决 p2p 丢包导致的网络问题了. 至于不直接用 tinyfecVPN, 那当然是没法用啊.

虽然核心的理念来自 tinyfecVPN, 但是具体的实现方法大不相同.

首先, FEC 只是一个理念, 具体怎么添加冗余, 是有不同的算法的. 隔壁老王用了和 tinyfecVPN 不一样的 FEC 算法. 其次, 老王的vpn, 是 TCP/UDP 并用. 尽可能的利用有限的机会传数据. 而 tinyfecVPN 只能使用 UDP. 最后, 老王的vpn, 用 c++23 写成, tinyfecVPN 是用古代人的渣 C 写成.

说完老王的vpn比tinyfecVPN先进的地方, 再说说比openvpn先进地方.

  • openvpn 一丢包就挂. 老王的vpn有FEC冗余包对抗丢包
  • openvpn 配置繁琐. 老王的vpn配置简单
  • openvpn 要么tcp要么udp, 老王的vpn tcp/udp 双管齐下.
  • openvpn 在windows上需要装驱动. 老王的vpn 免驱.
  • openvpn 加密个寂寞. 老王的vpn用现代的加密
  • openvpn 渣C写成. 老王的vpn用现代的c++23

那么, 这么先进的vpn, 要到哪里下载?

当然是没地方下咯. 老王的 vpn 还在开发中, 还没到 1.0 的发布阶段. 目前想试用的, 可以找老王直接要.

这里放出老王的联系方式 https://t.me/jackarain

有需要的直接联系.

当然, 如果不好意思直接找他, 也可以联系

Comments