mrkeyoor.com_
Tue 08 Sept 05:05 UTC
Dataevaluationupdated 08 Sept 2026

domain-list-community review

v2fly/domain-list-community is a community-maintained source set and Go generator for turning categorized domain names into geosite routing data used by Project V software. It solves the tedious problem of collecting, labeling, deduplicating, and packaging domain rules so a compatible proxy can route traffic by service or category.

trackingstars / 7d
Verdict

Our build succeeded in 23 seconds, and all 2 tests passed. Use domain-list-community when you need the upstream, policy-neutral geosite vocabulary for Project V and are prepared to review how categories affect routing. Skip it if you want a complete proxy configuration or a security blocklist whose classifications carry an explicit threat judgment.

We ran it

Install✓ · 27s101 packages
Build✓ · 23s
Tests✓ · 10s2 passed · 0 failed of 2 (go test)
Repo1551 files~1,037 lines of source · 0.8 MB · 2 CI workflows

Answers from our run

Does domain-list-community build from source?

Dependencies installed in 27 seconds (101 packages), and the build succeeded in 23 seconds. We cloned commit 9ff2d61 into a clean Debian container with 3 CPUs and no project-specific setup.

Do domain-list-community's tests pass?

Yes: 2 of 2 passed when we ran the project's own test command (go test). Some failures need services or credentials a bare container does not have.

Who should not use domain-list-community?

Beginners looking for a complete proxy app, because this is data and a generator, not a user interface

What are the alternatives to domain-list-community?

v2ray-rules-dat, meta-rules-dat, ios_rule_script. Our build succeeded in 23 seconds, and all 2 tests passed.

Setup5/5Build worked first try; published artifacts avoid local setup
Docs4/5Clear syntax and examples, but operational guidance is limited
Community4/59,456 stars and a push two days before review
Maturity4/5Active, widely adopted data pipeline with a small test surface

Who it’s for

V2Ray and Project V operators who want maintained geosite categories
Network administrators who need auditable domain-based routing inputs
Maintainers building custom dlc.dat files from their own data directory
Advanced users who understand that a list classifies traffic but does not choose policy for them

Who it’s NOT for

Beginners looking for a complete proxy app, because this is data and a generator, not a user interface
Teams that need authoritative security or threat intelligence, because inclusion is community managed and not a risk verdict
Operators unwilling to review rule changes, because a mistaken category can send traffic down the wrong route
Users of unrelated routing engines that cannot consume Project V geosite data or exported plain lists

Setup reality

Our sandbox run was straightforward: dependency installation succeeded in 27 seconds with 101 packages, the Go build succeeded in 23 seconds, and go test finished in 10 seconds with 2 passed and 0 failed. That matches the README's short build path reasonably well, although the fresh checkout contained 1,551 files and the test surface was only 2 tests, so a successful build should not be mistaken for deep validation of every community-maintained domain entry. Go and Git are the main prerequisites, while consumers who only need published data can skip compilation and download dlc.dat plus its SHA-256 checksum.

It is routing data, not a routing policy

v2fly/domain-list-community occupies a narrow but important layer in the Project V ecosystem. Its job is to maintain named collections of domains and compile them into dlc.dat, an external geosite database that compatible routing engines can query. With 9,456 GitHub stars, it is clearly more than a private helper script, yet its purpose is easy to misunderstand. The project explicitly says that listing a domain does not mean it should be blocked or proxied. It supplies classification; your V2Ray configuration supplies the decision. That separation is the project's strongest design choice and its main safety warning.

The practical benefit is maintainability. Instead of copying hundreds of hostnames into individual configurations, an operator can refer to a list such as geosite:cn, geosite:private, or geosite:category-dev. The README's example sends ad and adult categories to a reject outbound, selected China and private categories directly, and several service groups through 3 proxy routes. Those are examples rather than endorsements. If your policy differs, the same data can drive different outcomes, which makes the repository useful across home setups, managed gateways, and generated configurations.

What happened when we ran it

Our run used commit 9ff2d61 in an unprivileged golang:1.24-bookworm container with 3 CPUs and 8 GB of RAM. Dependency installation succeeded in 27 seconds and installed 101 packages. The build then succeeded in 23 seconds. Finally, go test completed in 10 seconds with 2 tests passed and 0 failed. On our box, this was a clean setup with no missing system packages, secret requirements, or undocumented service dependencies. For a Go data generator, that is exactly the low-friction result we want to see.

The numbers also set limits on what the run proves. The checkout held 1,551 files but only about 1,037 lines of source, which fits a repository dominated by data rather than application code. There was no tests directory, and the entire reported suite contained just 2 tests. Passing those tests shows that the checked paths worked in the fresh container; it does not verify the correctness, ownership, or current classification of every domain. The repository includes 2 CI workflow files, which is encouraging, but consumers should still treat data review as part of deployment.

Its rule language is small and expressive

The data format is readable enough to audit in a pull request. A line can match a domain and its subdomains, a full hostname, a keyword, or a Go regular expression. Attributes such as @ads preserve useful subgroups in the final output, while affiliations beginning with & help maintainers place a rule into another list without carrying that notation into dlc.dat. Includes support reuse across files, and selective includes can require @attr1 while excluding @attr2. That is substantial flexibility from a compact text format.

The build process adds sensible hygiene in 5 stated stages: read the data, resolve affiliations and includes, deduplicate and sort, export plain lists, then generate dlc.dat. Published downloads include both the binary file and a plain YAML form, each with a SHA-256 checksum. Operators can therefore choose a ready-made artifact, inspect a more approachable representation, or compile custom data with go run ./ --datapath=/path. The README also discourages new keyword and regular-expression rules because they are easy to misuse and slower for proxy software to match. That warning is practical, not cosmetic.

The rough edges are mostly operational

This repository is not a complete routing product. It has no GUI, no daemon, no Dockerfile, and no mechanism that decides which outbound is correct for your organization. The README also warns that these rule types are not fully compatible with rules written directly in a V2Ray configuration, so blind copy and paste is unsafe. Older conventions have changed: geosite:geolocation-cn@!cn is gone, and dedicated lists such as geosite:xxx-ads have moved toward attributes like geosite:xxx@ads. Those migrations can break unattended configurations even when the generator itself builds correctly.

The largest ongoing risk is semantic drift, not compiler failure. A domain can change owner, a service can add infrastructure, or a broad category can catch traffic you did not intend to route. With 122 open issues, there is visible maintenance pressure alongside substantial adoption. Still, the health signals are current: the latest push was September 6, 2026, and the latest release was published the same day, only 2 days before this review. That combination suggests active artifact production, though one timestamped release is not enough evidence to promise a fixed release schedule or quick issue resolution.

It belongs between reviewed source and a compatible gateway

In a real stack, treat domain-list-community as a versioned data dependency. Pin or archive the exact dlc.dat you deploy, verify its SHA-256 file, test critical services through each outbound, and promote updates through staging before production. Teams with custom exceptions can keep a separate data directory and generate their own artifact rather than editing downloaded binaries. Rollback should mean restoring the previous data file and reloading the routing service, not trying to reverse individual domain changes under pressure. The MIT license makes internal adaptation straightforward, but operational ownership remains yours.

Choose this project when Project V compatibility and policy-neutral categories matter more than turnkey decisions. At 0.8 MB checked out in our measured environment, it is a small dependency with a clean build and a well-explained format. Choose an opinionated rules bundle when you specifically want maintained direct, proxy, reject, or GeoIP outputs, and choose client-focused collections when your software expects different formats. For its intended role, domain-list-community is mature and useful. Its data deserves the same change control you would apply to firewall rules, because the generator's simplicity does not reduce the consequences of a bad match.

Alternatives

ProjectWhat it isPick it when
v2ray-rules-datAn enhanced V2Ray rules bundle that combines geosite and GeoIP outputs from several sources.pick this instead when you want ready-made opinionated direct, proxy, and reject lists plus GeoIP data.
meta-rules-datA generated rules-data collection aimed primarily at mihomo users.pick this instead when mihomo is your main client and you want artifacts tailored to that ecosystem.
ios_rule_scriptA broad collection of traffic-splitting rules and scripts for several proxy clients.pick this instead when you need client-specific rule formats beyond Project V geosite files.

What people are saying

  1. [github-trending] v2fly/domain-list-community

Sources

  1. v2fly/domain-list-community on GitHub
  2. Project V homepage

More data reviews

dragonfly · TVAPP · timescaledb · dns-blocklists · markitdown · numpy · the whole board →