Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
4 of 6 tasks
7461151 opened this issue Sep 28, 2024 · 9 comments
Open
4 of 6 tasks

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

7461151 opened this issue Sep 28, 2024 · 9 comments
Labels
enhancement New feature or request

Comments

@7461151
Copy link

7461151 commented Sep 28, 2024

Verify Steps

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

Describe the Feature

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

Describe Alternatives

No response

@7461151 7461151 added the enhancement New feature or request label Sep 28, 2024
@fouvromenth
Copy link

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

@7461151
Copy link
Author

7461151 commented Sep 30, 2024

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

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

@morytyann
Copy link

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

@7461151
Copy link
Author

7461151 commented Sep 30, 2024

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

@fouvromenth
Copy link

对第一点
对于插件来说数据库远省事于规则集
同样添加三份规则所必须的内容
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号柜的顺丰快递

@7461151
Copy link
Author

7461151 commented Sep 30, 2024

对第一点 对于插件来说,数据库远省事于规则集 同样添加三份规则所必须的内容 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
Copy link
Author

7461151 commented Sep 30, 2024

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

@fouvromenth
Copy link

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

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

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

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

@7461151
Copy link
Author

7461151 commented Sep 30, 2024

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

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

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

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants