OpenClash icon indicating copy to clipboard operation
OpenClash copied to clipboard

[Feature] 什么时候把默认geo数据库从mmdb换成mrs格式的?

Open 7461151 opened this issue 1 year ago • 9 comments

Verify Steps

  • [X] Tracker 我已经在 Issue Tracker 中找过我要提出的问题
  • [X] Latest 我已经使用最新 Dev 版本查看过,并不包含该功能特性或者还不完善
  • [X] Relevant 我知道 OpenClash 与 内核(Core)、控制面板(Dashboard)、在线订阅转换(Subconverter)等项目之间无直接关系,仅相互调用
  • [X] Definite 这确实是 OpenClash 应包含的特性
  • [ ] Contributors 我有能力协助 OpenClash 开发或完善此功能特性
  • [ ] Meaningless 我提交的是无意义的催促更新或修复请求

Describe the Feature

什么时候把默认geo数据库从mmdb换成mrs格式的? mrs速度更快 为什么不替换掉mmdb的

Describe Alternatives

No response

7461151 avatar Sep 28 '24 12:09 7461151

mmdb和mrs不是一个东西 mrs是ruleset的二进制化 mmdb的升级版是dat和metadb,前者已经内置切换选项了

fouvromenth avatar Sep 30 '24 02:09 fouvromenth

mmdb和mrs不是一个东西 mrs是ruleset的二进制化 mmdb的升级版是dat和metadb,前者已经内置切换选项了

不应该是mmdb是dat的升级版本吗? 还有一个不理解,不是一个东西是什么意思? 不都是规则集吗?只是格式不一样。 dat最占空间,mmdb次之,mrs最省

7461151 avatar Sep 30 '24 03:09 7461151

  1. 确实不是相同的,mmdb是geoip数据库,mrs是ruleset规则集的二进制格式
  2. mrs相对于yaml/text,只是节省了初始化时占用的内存,初始化后,内存占用和匹配速度和yaml/text相比没有任何变化
  3. 如果你想使用mrs格式,你应该修改你的配置文件,插件不需要做任何事

morytyann avatar Sep 30 '24 03:09 morytyann

  1. 确实不是相同的,mmdb是geoip数据库,mrs是ruleset规则集的二进制格式
  2. mrs相对于yaml/text,只是节省了初始化时占用的内存,初始化后,内存占用和匹配速度和yaml/text相比没有任何变化
  3. 如果你想使用mrs格式,你应该修改你的配置文件,插件不需要做任何事 第一条还是有点不懂, mrs虽然是ruuleset的规则集。但是geoip规则集也有mrs格式。 所以两个都是geoip规则集。不是这样的吗? 第二条有点疑问,mrs不是二进制的吗,速度和yaml和text,没区别吗?。要是说mrs和mmdb没区别,我能理解,和text没区别,有点理解不了,能讲的深层点原理吗

7461151 avatar Sep 30 '24 03:09 7461151

对第一点 对于插件来说数据库远省事于规则集 同样添加三份规则所必须的内容 mmdb/dat/metadb:

rules:
  - GEOIP,us,us
  - GEOIP,uk,uk
  - GEOIP,cn,cn

mrs:

rules:
  - RULE-SET,us,us
  - RULE-SET,uk,uk
  - RULE-SET,cn,cn
rule-providers:
  us:
    type: http
    behavior: ipcidr
    format: mrs
    url: "https://XXXus.mrs"
  uk:
    type: http
    behavior: ipcidr
    format: mrs
    url: "https://XXXuk.mrs"
  cn:
    type: http
    behavior: ipcidr
    format: mrs
    url: "https://XXXcn.mrs"

第二点的话 你这么理解吧 "你好,你的顺丰快递已经送达放置在在丰巢的第20号柜子中。取件码为666666,请尽快取" "顺丰 丰巢 20号柜 取件码 666666" 这句话的信息量是一样的,最终目的都是去丰巢用666666取20号柜的顺丰快递

fouvromenth avatar Sep 30 '24 04:09 fouvromenth

对第一点 对于插件来说,数据库远省事于规则集 同样添加三份规则所必须的内容 mmdb/dat/metadb:

rules:
  - GEOIP,us,us
  - GEOIP,uk,uk
  - GEOIP,cn,cn

太太:

rules:
  - RULE-SET,us,us
  - RULE-SET,uk,uk
  - RULE-SET,cn,cn
rule-providers:
  us:
    type: http
    behavior: ipcidr
    format: mrs
    url: "https://XXXus.mrs"
  uk:
    type: http
    behavior: ipcidr
    format: mrs
    url: "https://XXXuk.mrs"
  cn:
    type: http
    behavior: ipcidr
    format: mrs
    url: "https://XXXcn.mrs"

第二点的话 你这么理解吧 “你好,你的顺丰快递已经送达放置在丰巢的第20号柜子中。取件码为666666,请尽快取" "顺丰 丰巢 20号柜 取件码 666666" 这句话的信息量是一样的,最终目的都是去丰巢用666666取20号柜的顺丰快递

mrs格式的不也是规则集吗? 和mmdb和dat。 不是只是格式不一样的规则集吗? 第二条,mrs是二进制系统可以直接读取,text的话不是多一次转换吗?

7461151 avatar Sep 30 '24 04:09 7461151

现在mrs确实只能通过规则添加。mrs不是只是一个二进制的文本格式吗?meta官方规则集也有mrs的格式。 meta也支持mrs,只是默认的格式是mmdb和dat。 实际是可以改成mrs格式的。 我这理解有没有问题?

7461151 avatar Sep 30 '24 04:09 7461151

mrs格式的不也是规则集吗? 和mmdb和dat。 不是只是格式不一样的规则集吗? 现在mrs确实只能通过规则添加。mrs不是只是一个二进制的文本格式吗?meta官方规则集也有mrs的格式。 meta也支持mrs,只是默认的格式是mmdb和dat。 实际是可以改成mrs格式的。 我这理解有没有问题?

mrs是规则集 mmdb是规则集的规则集 插件考虑的是省事,而且mrs只有meta可以调用,现在还有坚持用d核和p核的,mmdb的兼容性最广 所以才说你自己可以换用mrs

第二条,mrs是二进制系统可以直接读取,text的话不是多一次转换吗?

所以只是加载时有区别 运行时调用的是已经转换完的

fouvromenth avatar Sep 30 '24 04:09 fouvromenth

mrs格式的不也是规则集吗? 和mmdb和dat。不是只是格式不一样的规则集吗?现在mrs确实只能通过规则添加。mrs不是只是一个二进制的文本格式吗?meta官方规则集也有mrs的格式。meta也支持mrs,只是默认的格式是mmdb和dat。实际是可以改成mrs格式的。我这理解有没有问题?

mrs是规则集 mmdb是规则集的规则集 插件考虑的是省事,而且mrs只有meta可以调用,现在还有坚持用d核和p核的,mmdb的兼容性最广 所以才说你自己可以换用mrs

第二条,mrs是二进制系统可以直接读取,text的话不是多一次转换吗?

所以只是加载时有区别 运行时调用的是已经转换完的

只是加载有区别吗? 这样的话,我增加更多规则是不是也不会影响运行的速度?

7461151 avatar Sep 30 '24 14:09 7461151

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days

github-actions[bot] avatar Nov 30 '24 08:11 github-actions[bot]