直接说正题吧,目前据我所知有两种代理转发形式:
1.http 转发,利用 NetworkExtension 的 API,让系统的 http 和 https 走本地创建的 http 代理服务器,拿到 http 包去转发。
2.tcp/udp 转发,从系统提供的 API open func readPackets(completionHandler: @escaping ([Data], [NSNumber]) -> Void)
读取到的 packet 包,进行转发。
然后我的问题是这样的,我查过资料,tcp 包的转发,目前来说都需要依赖 tun2socks 的这个第三方库。tcp 包里面应该是 IP 包,难道不能直接发送到代理服务器吗?为什么需要用这个库?这个库目前来说听说还是不稳定,而且问题很多。如果只是基于 socks5 的转发,难道也需要用这个库吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.