@
onetown wireguard 如果不是作 server 的话,做 client 并不需要修改,因此也不是魔改啦:) vpp 到 iOS 其实最困难的并不是这个,而是 coroutine 的适配,网络 io 的 apple 平台对接这些。
softether 对我这样的中年人来说太古早了,已经很多年再没有碰过。对于 iOS 来说,除了需要 exclude 的 routes 外,大部分都直接 route 到 vpp ,然后利用到 vpp 的路由功能可以做很多事情,特别是 vpp 的 hoststack ,MintFlow 这个 app 的 l4proxy 是通过 vpp 的 hoststack 配合 yamux 这个协议(我手工撸了一份 C 的 yamux 实现到 vpp 里)对接到 rust 组件,这也是我为什么不想在 MintFlow 里引入 Tailscale ,因为需要引入 go runtime ,overhead 可能比较大。
针对你说的路由数量,这个其实 tailscale 也很头痛,他们会在下发路由时,针对移动平台做下 route 合并,原因可能还是因为他们搞了 app connector 后可能会引入大量 routes...
我的微信可以搜索用手机号:MTgwMTM1ODgxODk= ( base64 解码即可) ,有空可以添加交流:)