Community managed domain list. Generate geosite.dat for V2Ray.
Go to file
Victoria Raymond 6adcae0cb4
Merge pull request #5 from ToutyRater/master
More domains of tencent
2018-08-22 19:44:56 +02:00
data More domains of tencent 2018-08-22 15:56:11 +00:00
main.go support full domain matching 2018-08-21 21:44:20 +02:00
README.md support full domain matching 2018-08-21 21:44:20 +02:00

Domain list

List of domains, driven by Project V community. This list will be used by Project V, mainly for routing purpose.

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

Syntax:

  • Comments begins with #. It can start 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 string.
  • Regular expression begins with regex:, followed by a valid regular expression (per Golang's standard).
  • Full domain begins with full:, followed by a domain.

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

File name guideline

  • A name represents a deterministic group of domains, by common understanding.
    • Good example: google, youtube, facebook
    • Bad example: blocked, evil, domestic
  • A name may be divided into sub categories.
    • Example: ads-cn, ads-us

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 applied for manager access of this repository.