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
```
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).
## 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.
1. Replace `include:` lines with the actual content of the file.