Fangliding:内置 TCP/IP 栈之所以有一千多行是因为它简陋,全抄约等于复制/引入依赖
在 Xray-core PR #7130(TUN 入站改用内置轻量 TCP/IP 栈替代 gVisor)的讨论中,Fangliding 回应 RPRX 关于 tcp_lightweight.go 只有一千行、没有必要引入外部库的说法:它能有一千多行是因为它简陋,mips 里 commit history 中标出的那一堆 fix 都不是假的,这个(外部库)八成也都有,全抄了约等于复制 / go get 进来。
作者原文@FanglidingTCP/IP 的话就比如如果你想 TUN 的一部分数据直穿到 WG、MASQUE 出站,那么可能需要往解析 TCP/IP 的代码里插点东西
~只是举个例子没看隔壁库,况且 tcp_lightweight.go 就一千行有啥必要 import 外部库,不是说完全不用外部库而是尽可能避免~
总之 Xray-core 这种非必要就不引入外部库的开发模式更好,别人想 fork 搞定制的话也少些麻烦,许可证永远是 MPL 不会改
它能有一千多行是因为它简陋 mips里 commit history 里标的那一堆 fix 都不是假的 这个八成也都有 全抄了约等于复制/go get 进来