Fangliding 反对为 Xray-core 的 DNS 引入 Lua 脚本引擎

在 Xray-core 一个「为 DNS 查询加入 Lua 脚本」的开放 PR 讨论中,Fangliding 表示反对。他说自己看到了上面提到的二进制体积膨胀,但问题不只这一处,还有引入这东西带来的额外逻辑和维护问题:它不是一个纯粹因为需要复杂逻辑才引入的图灵机,而是为了这个 Lua 引擎,需要把各种本来在 Go 里的对象捏成 Lua 可调用的东西,这些都要写代码,之后还得维护一份文档;现在捏了一个可调 geodata,以后还得要 balancer 变更的回调,回头可能再看一眼 observer 里的观测数据,都要改到这些组件里去。他认为这一切的一切只是为了选个 DNS,而且除了 PR 作者以外的人大概看不懂。PR 作者此前称体积约增加 500KiB、有效代码 600 行,并称 DNS 只是第一个接入点,Lua 的目的是把各模块串起来。该 PR 目前仍未合并。

作者原文

我看到上面说的二进制大小的膨胀了 不是只有这样重 还有加这玩意的额外逻辑和维护问题
重点它不是一个纯是需要复杂逻辑而引入的图灵机 而是为了这个lua引擎 需要把各种本来go里的对象捏成lua可调用的东西 这都需要代码 完了还得维护一个文档 现在捏了个可调geodata 以后还得要个balancer change的回调 回头可能再看一眼observer里的观测数据 都需要改到这些组件里去 这一切的一切 只是为了选个DNS 而且除了你以外的人大概还看不懂