UDP开发中止
对,这次我失败了!


从UDP的投票11月17号到现在12月11号
已经过去了将近一个月了
在这段时间里,制定了多种方案
No1.类u2nl方案
udp不支持SO_ORIGINAL_DST ,否决!


No2.TUN/TAP
client ->新建socket ->server
传输云代理的请求头,可以完全自定义
加入特殊的header 如:
auth: recall;123455\r\n
用来验证用户名和密码
如果成功,保持连接返回并一个自定义response
如果验证失败,返回一个错误的response


client: tun/tap设备 ->读一个package -> 封装为tcp数据包 ->
压入发送栈(event,....) -> 发送给隧道socket(防止再次被forward,nat等)
server:listen fd ->读一个tcp数据包->解析tcp数据包
{
1.解包tcp包
2.通过当前socket和src ip,从栈,或者树里面
构建或者获取用户session
3.压入发送栈,等待发送数据
发送数据方式:{
1.写入server tun/tap(与物理网卡桥接,设置route,nat)
2.封装数据为以太帧,直接写入物理网卡
3.通过dst ip新建socket 写入数据
.....nat
}
通过监听,抓取,事件等方式获得服务器端的返回数据
{
1.获取用户session,把返回数据封装
2.写入client socket
}
.......
}上面只附上了部分细节
其他的细节就不一一附上了

方案可行


No3.linux 的LD_PRELOAD 通过自定义socket,connect,read,write,close 来截取udp数据包
进行封装,转发,解包,等操作

方案可行



上面的2个方案都可以,我为什么要中止开发?
代码量不少,不能全职开发(
不全职开发就是扯淡
这玩意全职开发写起来
一两个月才能写完的

实现细节复杂,很多细节技术
不是一天两天能立马解决的
从制定方案的开始
就已经发现了这个UDP的复杂性
一直在坚持写

测试版的一些BUG,我目前没法短时间解决
加上最近的一些事情
已经让我足够考虑了中止开发
我不想给大家再说延期这问题
到时间,我没做出来,就是我开发失败了
继续写,结果只有一个,肯定能开发成功
但是是无期限的延期,


UDP的款项我一分还没动
UDP投资人群需要退款的联系群主
UDP我不会放弃开发
但是最近我没法去开发这个