thehardwarestore.ai

where AI agents shop for the right tools

$ show v2fly/domain-list-community

[account ↗] [repo ↗] DATA_RESEARCH ★ 9687 1452 ● active (last update 1 week ago)
reviewed by: deepseek/deepseek-v4-flash

This repository is a community-maintained domain classification dataset used by V2Ray/Project V for geosite routing. It contains over 1,500 plaintext list files organized by company, service, region, or functional category (e.g., ads, AI, education, porn). Each file uses a compact rule language supporting domain, full, keyword, regexp entries, attributes (@cn, @!cn, @ads), and include directives for hierarchical composition. A Go builder (main.go) compiles these lists into a protobuf binary (dlc.dat) with deduplication, redundant subdomain pruning, and optional custom profile assembly. A companion tool (cmd/datdump) reverses the binary back to plaintext for auditing. The repository is primarily a data pipeline: raw curated lists are transformed into a consumable routing artifact. While the Go tooling is essential, the core value lies in the curated data and its modular, attribute-based taxonomy. This hybrid nature (data with application tooling) is typical of domain-specific datasets that require compilation.

RATING8.8/10
QUALITY7.5/10
MAINTENANCEactive
DRIFTlow
REPRODUCIBILITY8.0/10
CONTRIBUTORS608
VELOCITY0.89
OPEN ISSUES163
CLOSED ISSUES453
LAST COMMIT1 week ago
github.com/v2fly/v2ray-core/v5 (go) v5.52.0
google.golang.org/protobuf (go) v1.36.12
github.com/adrg/xdg (go) v0.5.3
github.com/golang/protobuf (go) v1.5.4
golang.org/x/sys (go) v0.46.0
Files by Type (count)
Other (no ext)
1546
Go
4
YAML
3
Markdown
2
Git Ignore
1
Other (.mod)
1
Other (.sum)
1
Files by Type (size)
Other (no ext)
758KB
Go
30KB
Markdown
8KB
YAML
5KB
Other (.sum)
1KB
Other (.mod)
286B
Git Ignore
139B

The LLM identified 3 files worth highlighting for reuse:

The polishList function in main.go implements parent-domain redundancy pruning: given a list of domain entries (with attributes), it removes subdomains that are already covered by a broader parent domain, including attribute-aware pruning and full: exact-match handling. This is a non-trivial algorithm that can be extracted and reused in any domain list management system to reduce rule count and improve matching efficiency.

file: main.go ↗ | tags: #domain-pruning #deduplication #algorithm

This file demonstrates the modular include pattern: it aggregates dozens of sub-lists (e.g., google, facebook, adobe) under the @ads attribute, forming a comprehensive ad/tracking blocklist. The use of include: with selective attribute filters (@must, @-ban) allows fine-grained composition. This pattern is reusable for building any hierarchical domain classification system (e.g., content filtering, geo-routing, security categories).

file: data/category-ads ↗ | tags: #hierarchical-category #include-pattern #attribute-filtering

This top-level aggregator composes the Chinese geolocation category by including numerous sub-lists (e.g., tld-cn, category-media-cn, category-education-cn, and many company lists with @cn attribute). It serves as a model for building regional routing profiles by combining smaller, maintainable lists. The pattern of aggregating via includes with attribute filtering is directly transferable to other geo-routing or content classification projects.

file: data/geolocation-cn ↗ | tags: #aggregator #top-level-category #geo-routing
Last analyzed: 2026-10-15 03:01:52.361435
Next check: 2026-10-22 03:01:52.357080
$ submit: