Skip to content

解析最新geosite.dat的问题 #5429

@wangdaye078

Description

@wangdaye078

完整性要求

  • 我读完了 issue 模板中的所有注释,确保填写符合要求。
  • 我保证阅读了文档,了解所有我编写的配置文件项的含义,而不是大量堆砌看似有用的选项或默认值。
  • 我提供了完整的配置文件和日志,而不是出于自己的判断只给出截取的部分。
  • 我搜索了 issues, 没有发现已提出的类似问题。
  • 问题在 Release 最新的版本上可以成功复现

描述

xray我用的是最新的12.18
geosite.dat的来源是https://github.com/Loyalsoldier/v2ray-rules-dat/releases/tag/202512152215
这个是passwall2的默认来源
最新的geosite.dat里面出现了regexp:^([a-z0-9-]+.)*(?!ad-display.|ad-channel.)[a-z0-9-]+.diwodiwo.xyz$
这样的正则表达式,里面包含了【(?!】这样的部分,在稍早的版本里是没有的。所以xray使用时报告了错误,如下:
Failed to start: main: failed to create server > app/dns: failed to create client > app/dns: failed to create prioritized domain > app/dns: failed to create str matcher > error parsing regexp: invalid or unsupported Perl syntax: (?!

重现方式

在配置中包含
"domains": [
"geosite:picacg"
],
这样的部分
geosite里面的picacg则包含了
regexp:^([a-z0-9-]+.)*(?!ad-display.|ad-channel.)[a-z0-9-]+.diwodiwo.xyz$
这样的正则表达式

客户端配置

Details

      {
        "tag": "dns-in-Proxy",
        "domains": [
          "geosite:picacg"
        ],
        "address": "fakedns"
      },

服务端配置

不需要

客户端日志

2025/12/16 00:12:20.460443 [Info] infra/conf/serial: Reading config: &{Name:/tmp/etc/passwall2/acl/default/global.json Format:json}
Failed to start: main: failed to create server > app/dns: failed to create client > app/dns: failed to create prioritized domain > app/dns: failed to create str matcher > error parsing regexp: invalid or unsupported Perl syntax: (?!

服务端日志

不需要

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions