DomainMatcher: Prevent illegal rules from causing core startup failures#5430
DomainMatcher: Prevent illegal rules from causing core startup failures#5430
Conversation
|
dns 里那两行 hackfix 有点丑 |
|
本质是提供进来的数据非法还是fast fail好一点 不然错误的数据在里面躺半天没人知道 我觉得这不能算问题 |
|
他们翻下车咱们一起完这不合理 不行配置加个开关允许忽略错误? |
|
不是有一个 Scheduled assets update 的CI吗 在里面检查一下 错误不更新然后抛出来就好 release没有问题就行 自己更的他们自己想办法吧 |
|
不对 都费事搓这种东西了 直接pr到他们仓库的ci check就行了 |
我也是自动更新不过是周更所以这次没事 事实上光靠 shell 根本没法测试,除非我们提供一个 testgeodata 命令 更新失败了更是同样的没人管 不如 core 直接忽略错误来的方便 |
|
geoip 上次重构的时候我也把非法 cidr 给忽略了来着…… 我看了 Loyalsoldier 和 v2fly |
|
干脆都算了吧 这套玩意那么运行好几年了也就这一次放送事故 |
|
geodata 里的东西没那么严谨,甚至都不太正确 |
|
而且隔壁似乎不受影响
|
|
之前 ai 分类改名也搞挂了许多人,隔壁 sb 也受波及 这种 case 也应该处理 |
|
又翻了一下 看起来这次事确实挂了好多人 哎 |
|
在 ci 里面加检查的话要加 go,光靠 shell 很难搞,因为用的两边用的正则细节上有差异要单独处理可能有其它问题 |
|
是的,不能放任不管 并且好多 end-user 挂了就恢复不了了,因为这东西基本都走代理更新,死循环了属于 geosite/ip 分类内的某些条目非法直接忽略一点毛病没有 分类改名怎么办? |
|
Xray-rules-dat 要安排的话遇到有问题的条目直接报错终止不要生成文件,这样能保证出来的数据文件不会有错误问题 core 的话不好说用户到时候用的是哪里来的 geodata,有问题条目忽略并日志记录就行
|
|
这 rules dat 层层依赖也很难绷,如果你们想加些什么东西的话可以维护起来 Xray-rules-dat,不然直接用别人维护的更方便一些 而且人工维护的多少有疏漏、错误、更新不及时等, |
|
@Meo597 现在的处理方式是报错并且阻止 core 启动吗,这样挺好的 |
|
此 pr 之前是遇到任何规则错误直接阻止启动 这不合理,因为这个东西错一两条无所谓,他本来也不准,不应该为此付出代价 所长此 pr 改成错一两条直接忽略 |
|
然后上面讨论的是分类改名应该如何处理,未果,没啥好办法,我觉得或许可以检测到错误一分钟后关闭核心 这样用户有感知,又不至于翻不出去导致无法获取最新的正确的 geodat |
|
普通用户不应该为个别人员的粗心买单,core应该做的是尽量跑起来,然后提示遇到的任何错误信息,而不是直接关闭,这只会劝退小白用户 |
那就这样吧
有报错吗 |
|
有 err 级别日志 |
恰恰相反,个别人员的粗心会导致所有用户买单,请仔细了解来龙去脉 |
?我说的话好像和你这个pr没有冲突吧,正是因为个别人的粗心导致所有人买单,所以你提出了这个pr,但是其他人似乎有不同观点,所以我附和了你这个pr |
|
话说之前的报错是不是也没精确到是哪条配置(比如 geo cn)引起的错误 |
没有,只能看出似乎是geo dat的问题 |
我误以为你说的粗心是他们上面提到的,有人粗心把分类名写错 |
|
之前报错信息也不太统一,不好定位 总之目前如果 geodat 改名,还是会直接启动失败 上次 ai 分类改名的事情应该不会再发生了吧 |
Closes #5429, Closes v2fly/domain-list-community#3056, Closes Loyalsoldier/v2ray-rules-dat#468