正式宣传下新写的代理程序 Fyuneru

2015-08-25 10:16:27 +08:00
 sogisha

Fyuneru 是我在过去几天用 Python (和 NodeJS )写的代理程序,其原理接近虚拟专用网络。

当前 Fyuneru 只能运行在 Linux 类操作系统上(由于 TUN 设备)。在 Ubuntu14.04 和 Fedora 21 上测试成功。

这个程序的可以在服务器和客户端上分别“安装”一块虚拟网卡(实际上是 Linux 的 TUN 设备)。两块网卡之间直接连接的“虚拟网线”,可以由一系列平行的隧道代理搭建。之后,服务器和客户端就好像位于同一个局域网了。

隧道代理可以由任何协议构建,只要它们能够代理 UDP 包( UDP 包用来封装从虚拟网卡获得的 IP 数据帧)。目前已经有了一个用 WebSocket 写的版本。未来还可能有借助即时通信协议( XMPP ),或者 HTTP 等等的版本。

程序的亮点在于:

  1. 由于传递的是 IP 数据帧,程序不对隧道代理有什么要求——隧道服务器完全可以和真正的代理服务器分离。
  2. 在服务器和客户端上的程序在发送每一个数据帧时都会随机选择隧道——意味着,例如对于同一个 TCP 连接,实际发送的数据包和接收的数据包完全可以走不同的隧道。

此外, IP 数据帧在送进隧道代理之前用对称算法加密,保证机密性和完整性。隧道代理自己也有可能继续加密,那样就更安全了。


这个贴子就是借助于 Fyuneru 和 Tor 发出的。项目主页:

https://github.com/sogisha/fyuneru

欢迎试用~程序仍在调试中,如果有什么问题,我会在此回答。

6064 次点击
所在节点    分享创造
42 条回复
sewyu
2015-08-25 10:18:51 +08:00
不明觉厉,谢谢楼主的贡献。
希望能发展壮大,以后有完整的教程 我也学习玩玩。
leopku
2015-08-25 10:34:36 +08:00
建议 github 上不要直接使用社交账号创建库
否则就是 HX 的结果
sogisha
2015-08-25 10:38:15 +08:00
@leopku 和 sogisha 有关的身份都是匿名的。
cnnblike
2015-08-25 11:18:03 +08:00
感谢楼主,你这里用的 websocket ,里面包了个 udp 包,包里面是 ip 帧?这层次好多啊效率如何,能说说吗?
cnnblike
2015-08-25 11:20:17 +08:00
还有,算我吹毛求疵,你的 readme 里面第一句话的语法有点问题,修改一下会更好。
kurtrossel
2015-08-25 11:24:52 +08:00
屌炸天, mark 先
Lucups
2015-08-25 11:27:34 +08:00
ss 被删,希望有更多楼主这样的人出来
sogisha
2015-08-25 11:31:50 +08:00
@cnnblike Readme 是赶出来的,我会继续修改。

我设计的重点是多路连接和穿墙的隐蔽和灵活性,效率,我想一方面多路连接有可能弥补一点效率,一方面是这个损失只要比墙带来的效率损失有优势就行。

IP 帧在加密时会增大 56 字节,其中 32 字节为 HMAC , 24 字节是加密的 IV 。之后密文通过 UDP 传递给隧道代理, UDP 只是隧道代理的接口协议,所以不能计算进来。至于隧道代理如何处理这个加密的包,就不一定了。比如可以直接换成 TCP 发出去,等等。
cnnblike
2015-08-25 11:34:54 +08:00
@sogisha 嗯,手机上看的,只有一个大概的印象,莫怪
rainy3636
2015-08-25 12:08:06 +08:00
你登录 V2EX 的 ip 、注册的邮箱也需要匿名
wangdefu
2015-08-25 12:08:55 +08:00
怎么用
rainy3636
2015-08-25 12:09:36 +08:00
另外还有头像也要注意
XhstormR
2015-08-25 14:54:19 +08:00
竟然没进 chamber
aliuwr
2015-08-25 15:28:56 +08:00
测试了下:通过在 server 端安装了 danted 来提供 socks5 代理服务,这个情况下比 ss 要慢许多,甚至无法打开网页。而 ss 可以看 1080P 。另外在测试中多次出现完全无法访问 server 端 tun IP 的情况。两边的终端里都没有任何报错, Ctrl+C 之后重新运行才恢复。
pi1ot
2015-08-25 15:34:25 +08:00
ss 即使被删了,也已经有了 10000 个 star 和 5000 个 fork ,所以没有什么可值得悲观的,时间在我们这边。
fyuneru 加油。
plqws
2015-08-25 15:36:39 +08:00
py 和 node 混用的产品,各取所长,挺有趣
moname
2015-08-25 15:38:24 +08:00
fyuneru 加油+1
ayang23
2015-08-25 15:57:15 +08:00
mark
rwx
2015-08-25 15:58:21 +08:00
@sogisha 多路会弥补效率吗?只凭感觉说,速度取决于最慢的那个通道吧?
delavior
2015-08-25 15:59:13 +08:00
精神支持一下,期待早日更成熟

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

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

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

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

© 2021 V2EX