v2ray/domain-list-community:一个已经搬迁的 geosite 域名清单仓库,仍可用来生成 dlc.dat
社区管理的域列表。移至域列表社区 该项目管理域列表,在项目 V 中用作路由目的的地理站点。
秒懂
- 它是什么?
- 这个仓库曾经是 Project V 社区维护的域名清单,现在只用于发布 dlc.dat,其余工作已移交 v2fly。它提供了一套简单但灵活的域名规则语法,适合需要自定义路由规则的 V2Ray 用户。
- 适合谁用?
- 如果你正在使用 V2Ray 并需要 geosite 规则,这个仓库的 release 分支仍然提供 dlc.dat 下载,可以直接用于 routing 配置。但请注意,它已经停止接受 issue 和 PR,所有维护工作都在 v2fly/domain-list-community 进行。
- 能商用吗?
- 可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
- 还在维护吗?
- 在维护。仓库最近一次提交在 1 天前。
- 用什么语言写的?
- 主要是 Go(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。
开源项目深度解析
这个仓库解决什么问题
V2Ray 的路由规则需要域名列表,但官方提供的内置列表往往不够灵活。这个仓库维护了一组分门别类的域名清单,每个文件对应一个 geosite 规则,比如 geosite:cn 或 geosite:category-ads-all。它不预设立场,不判断哪些域名该被屏蔽或代理,只提供数据。适合那些想自己控制路由策略的用户,比如让广告域名走 Reject、国内域名走 Direct、其他走代理。仓库本身不包含任何路由逻辑,它只是上游数据源。
仓库现状:已经搬迁,但仍发布 dlc.dat
README 开头就写着 Move To https://github.com/v2fly/domain-list-community。原因是缺乏能进行代码审查的成员,所以项目整体搬迁到了 v2fly 组织下。原仓库从那时起只做一件事:发布 dlc.dat 文件。下载链接指向 release 分支,提供 dlc.dat 和对应的 sha256sum。所有 issue 和 PR 都转到新仓库处理。这意味着如果你发现某个域名分类有误,在这里提 issue 是没用的,必须去 v2fly 仓库。但如果你只是需要最新编译好的数据,这个 release 分支仍然可用。
数据格式与语法:四种匹配方式加属性
data 目录下每个文件是一个子列表,文件名就是规则名。文件内容支持四种匹配方式:domain 表示子域名匹配,keyword 是关键字匹配,regex 用 Go 正则,full 是全域名匹配。每行可以加 @attr 属性,比如 @ads。include 指令可以引入同目录下的其他文件,实现列表复用。注释用 # 开头,可以出现在行中任意位置。这个语法设计得很克制,没有复杂的嵌套结构,学习成本低。但 regex 和 keyword 的边界情况需要小心,比如 keyword:google 会匹配任何包含 google 的域名,可能误伤。
生成 dlc.dat 的具体步骤
README 给出了手动生成的命令。先安装 golang 和 git,然后执行 go get -u -v --insecure github.com/v2ray/domain-list-community。注意这里用了 --insecure,这在现代 Go 环境中可能不必要,但这是文档原样。生成命令是 $(go env GOPATH)/bin/domain-list-community,不带参数时使用仓库自带的 data 目录。如果需要自定义数据目录,加 --datapath=/path/to/your/custom/data/directory。生成的是 dlc.dat 文件,可以直接放到 V2Ray 的配置目录里。这个流程适合想自己维护域名列表的人,但如果你不想编译,直接下载 release 分支的 dlc.dat 更省事。
路由配置中的使用方式
V2Ray 的 routing 规则里可以用 geosite:filename 引用这些列表。README 给出了一个 JSON 示例:domainStrategy 设为 IPIfNonMatch,规则里用 outboundTag 指定 Reject、Direct 或 Proxy-1。例如把 geosite:category-ads-all 和 geosite:category-porn 指向 Reject,把 geosite:cn 指向 Direct。这个机制把域名列表和路由策略解耦,你可以自由组合。注意 domainStrategy 是 IPIfNonMatch,意思是先匹配域名,匹配不到再用 IP 判断,这会影响性能,但能提高准确性。实际效果取决于列表质量,而列表质量由社区维护决定。
维护成本与许可证
项目采用 MIT 许可证,使用和修改都自由。维护成本主要体现在数据更新上:域名归属会变化,新服务出现,旧域名失效。这个仓库已经停止接受贡献,所以它的数据可能滞后于 v2fly 仓库。如果你自己 fork 并维护,需要定期合并上游更新,否则列表会过时。编译生成 dlc.dat 本身很简单,但持续跟踪域名变化才是真正的成本。对于大多数用户,直接使用 v2fly 仓库的 release 数据是更现实的选择。
局限性与替代方案
这个仓库的局限性很明显:它不再活跃,数据更新依赖 v2fly 仓库的同步。另外,它的语法不支持通配符,比如 *.example.com 这种写法不存在,只能用 domain:example.com 表示子域名包含。如果你需要更复杂的匹配逻辑,比如按国家或 ASN 分流,这个列表就不够用。替代方案是 v2fly/domain-list-community,它是这个仓库的正式继承者,拥有更多维护者和更活跃的 PR 流程。你可以直接使用它的 release 产物,或者自己从源码构建。另一个思路是使用 V2Ray 内置的 geosite:cn 等规则,这些由官方维护,虽然不够细,但省去自己管理数据的麻烦。
编辑结论
如果你正在使用 V2Ray 并需要 geosite 规则,这个仓库的 release 分支仍然提供 dlc.dat 下载,可以直接用于 routing 配置。但请注意,它已经停止接受 issue 和 PR,所有维护工作都在 v2fly/domain-list-community 进行。若你打算贡献域名列表,应该直接去新仓库提交。若你只是想要一个稳定的 geosite 数据源,可以继续用这里的 dlc.dat,但最好核对 sha256sum 并关注新仓库的更新频率。如果不需要自定义域名分组,内置的 geosite:cn 等规则可能已经足够,不必引入这个仓库。
社区笔记