Convert Figma logo to code with AI

v2fly logodomain-list-community

Community managed domain list. Generate geosite.dat for V2Ray.

4,644
841
4,644
33

Top Related Projects

Community managed domain list

🦄 🎃 👻 V2Ray 路由规则文件加强版,可代替 V2Ray 官方 geoip.dat 和 geosite.dat,适用于 V2Ray、Xray-core、mihomo(Clash-Meta)、hysteria、Trojan-Go 和 leaf。Enhanced edition of V2Ray rules dat files, applicable to V2Ray, Xray-core, mihomo(Clash-Meta), hysteria, Trojan-Go and leaf.

🦄️ 🎃 👻 Clash Premium 规则集(RULE-SET),兼容 ClashX Pro、Clash for Windows 等基于 Clash Premium 内核的客户端。

Chinese-specific configuration to improve your favorite DNS server. Best partner for chnroutes.

23,215

The one and only one gfwlist here

自由·负责·克制 去广告 Hosts 项目

Quick Overview

The v2fly/domain-list-community repository is a collaborative project that maintains a comprehensive list of domain names categorized by their respective organizations or purposes. This list is primarily used for routing and domain-based rule matching in network tools and applications, particularly those related to V2Ray, a platform for building proxies.

Pros

  • Extensive and regularly updated domain list
  • Community-driven, allowing for contributions from various users
  • Well-organized structure with clear categorization
  • Useful for configuring network tools, firewalls, and proxy applications

Cons

  • May require frequent updates to stay current with domain changes
  • Potential for over-categorization or miscategorization of domains
  • Relies on community contributions, which may lead to inconsistencies
  • Large file size due to the extensive list of domains

Getting Started

To use the domain list in your project:

  1. Clone the repository:

    git clone https://github.com/v2fly/domain-list-community.git
    
  2. Use the dlc.dat file in your V2Ray configuration or other compatible applications.

  3. To update the list, pull the latest changes from the repository:

    cd domain-list-community
    git pull
    
  4. If you want to contribute, follow the contribution guidelines in the repository's README and submit a pull request with your changes.

Competitor Comparisons

Community managed domain list

Pros of domain-list-community

  • Longer history and established user base
  • More comprehensive documentation
  • Wider range of contributors

Cons of domain-list-community

  • Less frequent updates
  • Slower response to issues and pull requests
  • Some outdated domain classifications

Code Comparison

domain-list-community:

include:category-ads-all
include:category-companies

# Google
google

v2fly/domain-list-community:

include:category-ads
include:category-companies

# Google
google
googleapis.com

The v2fly version tends to have more specific domain inclusions and updated categorizations.

Key Differences

  • Maintenance: v2fly/domain-list-community is more actively maintained
  • Community: v2fly has a growing, engaged community
  • Updates: v2fly version typically includes more recent domain additions
  • Structure: v2fly repository has a more organized file structure
  • Integration: v2fly version is better integrated with v2ray-core

Conclusion

While domain-list-community has a longer history, v2fly/domain-list-community offers more frequent updates and active maintenance. Users looking for the most up-to-date domain classifications may prefer the v2fly version, while those seeking a more established project might opt for the original domain-list-community.

🦄 🎃 👻 V2Ray 路由规则文件加强版,可代替 V2Ray 官方 geoip.dat 和 geosite.dat,适用于 V2Ray、Xray-core、mihomo(Clash-Meta)、hysteria、Trojan-Go 和 leaf。Enhanced edition of V2Ray rules dat files, applicable to V2Ray, Xray-core, mihomo(Clash-Meta), hysteria, Trojan-Go and leaf.

Pros of v2ray-rules-dat

  • More comprehensive rule sets, including geoip.dat and geosite.dat
  • Regular updates and maintenance
  • Includes pre-built rule files for easier implementation

Cons of v2ray-rules-dat

  • Larger file sizes due to more extensive rule sets
  • May require more system resources to process
  • Potentially over-inclusive, leading to unintended blocking

Code Comparison

domain-list-community:

include:category-ads-all
include:category-companies
include:adobe
include:amazon
include:apple

v2ray-rules-dat:

payload:
  - DOMAIN-SUFFIX,googleapis.cn
  - DOMAIN-SUFFIX,googleapis.com
  - DOMAIN-SUFFIX,googleusercontent.cn
  - DOMAIN-SUFFIX,googleusercontent.com
  - DOMAIN-SUFFIX,gvt0.com

The domain-list-community uses a more modular approach with includes, while v2ray-rules-dat employs a more direct listing of domains and suffixes. v2ray-rules-dat's approach may be easier to read and modify for some users, but domain-list-community's structure allows for better organization and reusability of rule sets.

Both repositories serve similar purposes in providing domain lists for V2Ray, but they differ in their approach to rule organization and comprehensiveness. Users should consider their specific needs and system capabilities when choosing between the two.

🦄️ 🎃 👻 Clash Premium 规则集(RULE-SET),兼容 ClashX Pro、Clash for Windows 等基于 Clash Premium 内核的客户端。

Pros of clash-rules

  • More focused on Clash configuration, providing ready-to-use rule sets
  • Includes specialized categories like streaming services and game platforms
  • Regularly updated with community contributions

Cons of clash-rules

  • Less comprehensive domain coverage compared to domain-list-community
  • May require more manual configuration for non-Clash applications
  • Potentially less flexible for custom rule creation

Code Comparison

domain-list-community:

include:category-ads-all
include:category-companies
regexp:(?:^|\.)goo\.gl$

clash-rules:

payload:
  - DOMAIN-SUFFIX,googleapis.cn
  - DOMAIN-SUFFIX,googleapis.com
  - DOMAIN-SUFFIX,googleusercontent.cn

Summary

domain-list-community offers a more extensive domain list with broader applications, while clash-rules provides specialized rule sets tailored for Clash configurations. The former uses a simple include-based format, whereas the latter employs YAML with specific Clash directives. Users should choose based on their specific needs and preferred proxy management tool.

Chinese-specific configuration to improve your favorite DNS server. Best partner for chnroutes.

Pros of dnsmasq-china-list

  • More focused on Chinese domains, providing better coverage for China-specific websites and services
  • Optimized for use with dnsmasq, making it easier to implement in network configurations
  • Regular updates to maintain accuracy and relevance

Cons of dnsmasq-china-list

  • Limited to Chinese domains, less useful for global or non-China-specific applications
  • May require additional configuration for non-dnsmasq setups
  • Less granular categorization compared to domain-list-community

Code Comparison

domain-list-community:

include:alibaba
include:baidu
include:bilibili
include:bytedance
include:tencent

dnsmasq-china-list:

server=/10010.com/114.114.114.114
server=/100offer.com/114.114.114.114
server=/115.com/114.114.114.114
server=/123juzi.com/114.114.114.114
server=/123juzi.net/114.114.114.114

The domain-list-community uses a hierarchical structure with includes, while dnsmasq-china-list directly maps domains to DNS servers. The latter is more straightforward for dnsmasq configuration but less flexible for other use cases.

Both repositories serve different purposes and cater to different needs. domain-list-community offers a more comprehensive and categorized list of domains for various applications, while dnsmasq-china-list is specifically tailored for optimizing DNS resolution for Chinese websites using dnsmasq.

23,215

The one and only one gfwlist here

Pros of gfwlist

  • Longer history and wider adoption in the community
  • Simple, straightforward format for easy manual editing
  • Focuses specifically on censored domains in China

Cons of gfwlist

  • Less structured and harder to maintain at scale
  • Limited to domain-level blocking, lacking more granular control
  • Slower update cycle compared to domain-list-community

Code comparison

gfwlist:

||example.com
||subdomain.example.com
@@||whitelist.example.com

domain-list-community:

example.com
subdomain.example.com
full:specific.example.com
regexp:^(api|cdn)\.example\.com$

Key differences

  1. Format: gfwlist uses a simple list with basic wildcards, while domain-list-community employs a more structured approach with categories and advanced matching options.

  2. Scope: gfwlist primarily targets censorship circumvention in China, whereas domain-list-community aims to be a comprehensive, categorized domain list for various purposes.

  3. Maintenance: domain-list-community's structure allows for easier collaborative maintenance and more frequent updates, while gfwlist relies on manual curation.

  4. Flexibility: domain-list-community offers more granular control with full domain matching, regular expressions, and category-based filtering, making it more versatile for different use cases.

  5. Integration: domain-list-community is designed to work seamlessly with V2Ray and other compatible tools, while gfwlist is more generic and requires additional processing for use in various applications.

自由·负责·克制 去广告 Hosts 项目

Pros of neohosts

  • Focused on ad-blocking and privacy protection for Chinese users
  • Regularly updated with community contributions
  • Includes both domain-based and IP-based blocking rules

Cons of neohosts

  • Limited to Chinese websites and services
  • May cause over-blocking for some users
  • Less flexible than domain-list-community for custom configurations

Code Comparison

domain-list-community:

include:category-ads-all
include:category-ads-cn

domain:ad.xiaomi.com
domain:ad1.xiaomi.com
domain:ad.intl.xiaomi.com

neohosts:

0.0.0.0 ad.xiaomi.com
0.0.0.0 ad1.xiaomi.com
0.0.0.0 ad.intl.xiaomi.com
0.0.0.0 ad.mi.com
0.0.0.0 ad.api.xiaomi.com

Summary

domain-list-community is a more comprehensive and flexible solution for domain categorization, suitable for various applications including content filtering and routing. It supports hierarchical includes and provides a wide range of categories beyond just ads.

neohosts is specifically tailored for Chinese users looking to block ads and protect their privacy. It offers a straightforward hosts file format, making it easy to implement in various systems but less versatile for complex configurations.

Both projects rely on community contributions to stay updated, but they serve different purposes and user bases.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Domain list community

This project manages a list of domains, to be used as geosites for routing purpose in Project V.

Purpose of this project

This project is not opinionated. In other words, it does NOT endorse, claim or imply that a domain should be blocked or proxied. It can be used to generate routing rules on demand.

Download links

Usage example

Each file in the data directory can be used as a rule in this format: geosite:filename.

"routing": {
  "domainStrategy": "IPIfNonMatch",
  "rules": [
    {
      "type": "field",
      "outboundTag": "Reject",
      "domain": [
        "geosite:category-ads-all",
        "geosite:category-porn"
      ]
    },
    {
      "type": "field",
      "outboundTag": "Direct",
      "domain": [
        "domain:icloud.com",
        "domain:icloud-content.com",
        "domain:cdn-apple.com",
        "geosite:cn",
        "geosite:private"
      ]
    },
    {
      "type": "field",
      "outboundTag": "Proxy-1",
      "domain": [
        "geosite:category-anticensorship",
        "geosite:category-media",
        "geosite:category-vpnservices"
      ]
    },
    {
      "type": "field",
      "outboundTag": "Proxy-2",
      "domain": [
        "geosite:category-dev"
      ]
    },
    {
      "type": "field",
      "outboundTag": "Proxy-3",
      "domain": [
        "geosite:geolocation-!cn"
      ]
    }
  ]
}

Generate dlc.dat manually

  • Install golang and git
  • Clone project code: git clone https://github.com/v2fly/domain-list-community.git
  • Navigate to project root directory: cd domain-list-community
  • Install project dependencies: go mod download
  • Generate dlc.dat (without datapath option means to use domain lists in data directory of current working directory):
    • go run ./
    • go run ./ --datapath=/path/to/your/custom/data/directory

Run go run ./ --help for more usage information.

Structure of data

All data are under data directory. Each file in the directory represents a sub-list of domains, named by the file name. File content is in the following format.

# comments
include:another-file
domain:google.com @attr1 @attr2
keyword:google
regexp:www\.google\.com$
full:www.google.com

Syntax:

The following types of rules are NOT fully compatible with the ones that defined by user in V2Ray config file. Do Not copy and paste directly.

  • Comment begins with #. It may begin anywhere in the file. The content in the line after # is treated as comment and ignored in production.
  • Inclusion begins with include:, followed by the file name of an existing file in the same directory.
  • Subdomain begins with domain:, followed by a valid domain name. The prefix domain: may be omitted.
  • Keyword begins with keyword:, followed by a string.
  • Regular expression begins with regexp:, followed by a valid regular expression (per Golang's standard).
  • Full domain begins with full:, followed by a complete and valid domain name.
  • Domains (including domain, keyword, regexp and full) may have one or more attributes. Each attribute begins with @ and followed by the name of the attribute.

How it works

The entire data directory will be built into an external geosite file for Project V. Each file in the directory represents a section in the generated file.

To generate a section:

  1. Remove all the comments in the file.
  2. Replace include: lines with the actual content of the file.
  3. Omit all empty lines.
  4. Generate each domain: line into a sub-domain routing rule.
  5. Generate each keyword: line into a plain domain routing rule.
  6. Generate each regexp: line into a regex domain routing rule.
  7. Generate each full: line into a full domain routing rule.

How to organize domains

File name

Theoretically any string can be used as the name, as long as it is a valid file name. In practice, we prefer names for determinic group of domains, such as the owner (usually a company name) of the domains, e.g., "google", "netflix". Names with unclear scope are generally unrecommended, such as "evil", or "local".

Attributes

Attribute is useful for sub-group of domains, especially for filtering purpose. For example, the list of google domains may contains its main domains, as well as domains that serve ads. The ads domains may be marked by attribute @ads, and can be used as geosite:google@ads in V2Ray routing.

Contribution guideline

  • Fork this repo, make modifications to your own repo, file a PR.
  • Please begin with small size PRs, say modification in a single file.
  • A PR must be reviewed and approved by another member.
  • A script will verify your pull request to test whether your PR is correct or not every time you update the PR. Only the PR which passes the test will be merged. Please go to the Action label to get detailed information if you didn't pass it. We also provide the file which has been generated to make you test.
  • After a few successful PRs, you may apply for manager access to this repository.