DreamTunnel

开发背景

在开发过程中,免不了要接收第三方通知。

比较典型的,就是在做电子商务时的各种支付网关的推送通知,还有接收微信的推送通知。

接收通知需要公网地址,但是目前的民用网络,是没有公网地址的,这给调试开发带来了很多麻烦。

一些下载软件,例如著名的BT下载,eMule下载等P2P下载工具,也是需要公网地址才能达到最高速,传统方法是通过UPnP来做端口映射。以前的电信是有公网地址的,通过UPnP是可以解决问题,但是现在电信也不分配公网地址了,所以这种方法也随之失效了。迅雷也通过中转服务器,离线服务器等来实现高速下载的。

细心的读者可能发现了,这个项目就是做DreamWeixin之前所必须解决的首要问题。

可以说,没有DreamTunnel就没有DreamWeixin。

数据转发

由于多年的专业路由器、可编程式路由器的操作经验,使我对网络有一定的了解。

项目的关键,就在于数据的转发,也类似于路由器的NAT操作(两种NAT方式这里不讨论)。

实际操作上还是比较复杂的。

而主要原因,就在于路由器的NAT操作是在内网的,路由器可以直接访问到主机,直接做转发还是很方便的。但是我利用的是境外服务器,服务器不在内网,远在美国,甚至还要通过电信→电信内网→路由器,经过重重路障才可以到达目标主机。

通讯加密

因为众所周知的原因,境外网络数据是经过审核的。

虽然我并不发布或接收敏感信息,但数据一多,难免会被误判。

一旦被判断为敏感信息,轻则中断连接几分钟到几小时,重则直接封IP。

为避免这些不必要的麻烦,服务端与客户端的通讯是全程加密的。

项目演示

CS架构的项目,且属于纯命令行项目,不方便在线演示,可现场演示。

匿名进行回复 取消回复

邮箱地址不会被公开。