Convert Figma logo to code with AI

v2ray logodomain-list-community

Community managed domain list

2,297
448
2,297
22

Top Related Projects

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

🦄 🎃 👻 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 v2ray/domain-list-community repository is a collaborative project that maintains a list of domain names categorized by their usage and purpose. It serves as a community-driven resource for various network-related applications, particularly for routing and filtering purposes in tools like V2Ray.

Pros

  • Comprehensive and regularly updated domain list
  • Community-driven, allowing for contributions from various users
  • Well-organized structure with categories for easy navigation
  • Useful for configuring network tools and security applications

Cons

  • May require frequent updates to stay current with domain changes
  • Potential for false positives or miscategorization of domains
  • Relies on community contributions, which may vary in quality or accuracy
  • Large dataset may impact performance in some applications

Getting Started

To use the domain list in your project:

  1. Clone the repository:

    git clone https://github.com/v2ray/domain-list-community.git
    
  2. Use the dlc.dat file in your application or build from source:

    go run ./
    
  3. Update regularly to get the latest domain list:

    git pull
    go run ./
    

Note: This project is not a code library, so there are no code examples to provide. The main output is the domain list file (dlc.dat) which can be used in various network applications, particularly those related to V2Ray.

Competitor Comparisons

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

Pros of domain-list-community (v2fly)

  • More active development and frequent updates
  • Larger community contribution and collaboration
  • Enhanced categorization and organization of domain lists

Cons of domain-list-community (v2fly)

  • Potential compatibility issues with older v2ray versions
  • Slightly more complex structure for newcomers

Code Comparison

domain-list-community (v2ray):

include:category-ads-all
include:category-ads-extra
regexp:^adservice\..+\.google(\.com)?$

domain-list-community (v2fly):

include:category-ads
include:category-ads-all
include:google-ads
regexp:^adservice\..+\.google(\.com)?$
attribute:ads

The v2fly version shows more granular categorization and the use of attributes for better organization and filtering capabilities. Both repositories serve similar purposes but differ in their approach to structuring and maintaining domain lists. The v2fly fork generally offers more up-to-date and comprehensive lists, benefiting from increased community involvement. However, users of older v2ray versions may need to consider compatibility when switching to the v2fly repository.

🦄 🎃 👻 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 additional categories like ads and privacy
  • Frequent updates to keep rules current
  • Includes pre-built dat files for easy integration

Cons of v2ray-rules-dat

  • Larger file size due to more extensive rule sets
  • May require more processing power to handle the additional rules
  • Potential for over-blocking due to broader categorizations

Code Comparison

v2ray-rules-dat:

include:category-ads-all
include:category-porn
include:category-games
include:geolocation-!cn

domain-list-community:

include:google
include:apple
include:microsoft
include:facebook

The code snippets show that v2ray-rules-dat uses broader categories and geolocation-based rules, while domain-list-community focuses on specific domains and services.

Both repositories aim to provide domain lists for V2Ray, but they differ in their approach and scope. domain-list-community offers a more focused and lightweight solution, while v2ray-rules-dat provides a more comprehensive and frequently updated set of rules. Users should consider their specific needs, such as desired granularity of control and system resources, when choosing between the two options.

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

Pros of clash-rules

  • More focused on Clash proxy rules, providing ready-to-use configurations
  • Includes specialized lists for different purposes (e.g., direct, proxy, reject)
  • Regularly updated with community contributions

Cons of clash-rules

  • Less comprehensive domain coverage compared to domain-list-community
  • May require additional configuration for non-Clash usage
  • 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,google.com
  - DOMAIN-SUFFIX,googlevideo.com
  - DOMAIN-SUFFIX,youtube.com

The domain-list-community uses a more compact format with includes and regular expressions, while clash-rules employs a YAML structure with explicit domain listings.

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

Pros of dnsmasq-china-list

  • More focused on Chinese domains, providing a comprehensive list for users in China
  • Specifically designed for use with dnsmasq, making it easier to implement in that context
  • Regular updates to keep the list current with Chinese internet landscape changes

Cons of dnsmasq-china-list

  • Limited scope, primarily focused on Chinese domains, which may not be as useful for global users
  • Less flexible format, optimized for dnsmasq but potentially harder to adapt for other purposes
  • Smaller community and fewer contributors compared to domain-list-community

Code Comparison

domain-list-community:

# Example entry in domain-list-community
google.com
include:google-ads

dnsmasq-china-list:

# Example entry in dnsmasq-china-list
server=/baidu.com/114.114.114.114
server=/alicdn.com/114.114.114.114

The domain-list-community uses a simpler format with domain names and includes, while dnsmasq-china-list uses a more specific format tailored for dnsmasq configuration, including DNS server IPs.

Both repositories serve different purposes and cater to different needs. domain-list-community offers a more versatile and globally-oriented list, while dnsmasq-china-list provides a specialized solution for users in China using dnsmasq. The choice between them depends on the specific use case and target audience.

23,215

The one and only one gfwlist here

Pros of gfwlist

  • Longer history and more established community
  • Simpler format, easier for manual editing
  • Widely supported by various proxy tools

Cons of gfwlist

  • Less structured and organized
  • May include outdated or redundant entries
  • Limited to domain-based rules

Code comparison

gfwlist:

||example.com
||subdomain.example.com

domain-list-community:

example.com
subdomain.example.com
full:specific.example.com
regexp:^regexpattern\.example\.com$

domain-list-community offers more flexible rule types, including full domain matches and regular expressions, while gfwlist primarily uses wildcard-based domain matching.

domain-list-community provides a more structured approach with categorization and includes additional metadata, making it easier to maintain and update. However, gfwlist's simpler format may be more accessible for quick manual edits.

Both projects serve similar purposes but cater to different use cases and preferences. gfwlist is more established and widely supported, while domain-list-community offers greater flexibility and organization for advanced users and applications.

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

Pros of neohosts

  • Focuses specifically 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 require more manual configuration for non-Chinese users
  • Smaller community and less frequent updates compared to domain-list-community

Code Comparison

domain-list-community:

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

neohosts:

0.0.0.0 ad.example.com
0.0.0.0 tracker.example.com
127.0.0.1 malware.example.com

Summary

domain-list-community is a more comprehensive and globally-focused repository, offering a wide range of domain categorizations for various purposes. It's particularly useful for configuring proxy tools and network filtering.

neohosts, on the other hand, is tailored specifically for Chinese users looking to block ads and protect their privacy. It provides a more straightforward approach with direct domain and IP blocking rules.

While domain-list-community offers greater flexibility and broader coverage, neohosts may be more effective for users primarily concerned with Chinese websites and services. The choice between the two depends on the user's specific needs and target audience.

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

Move To https://github.com/v2fly/domain-list-community


Domain list community

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

Announcement

Due to a lack of members capable of code review, this repository has been moved to v2fly/domain-list-community. This also means that more contributors can have manager access to the new repository after a few successful PRs, which will make the project healthier and more active for good.

From now on, this repo will only be used to release dlc.dat. Other matters (issues and pull requests) will be handled at the new repository.

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"
      ]
    },
    {
      "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
  • Download and install project code: go get -u -v --insecure github.com/v2ray/domain-list-community
  • Generate dlc.dat (without datapath option means to use data directory of this repository in $GOPATH):
    • $(go env GOPATH)/bin/domain-list-community
    • $(go env GOPATH)/bin/domain-list-community --datapath=/path/to/your/custom/data/directory

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
regex:www\.google\.com
full:www.google.com

Syntax:

  • 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 regex:, 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, regex 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 regex: 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

  • Please begin with small size PRs, say modification in a single file.
  • A PR must be reviewed and approved by another member.
  • After a few successful PRs, you may apply for manager access of this repository.