GitHub - v2fly/domain-list-community: Community managed domain list. Generate ge...
source link: https://github.com/v2fly/domain-list-community
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
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
andgit
- 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
(withoutdatapath
option means to use domain lists indata
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 prefixdomain:
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
andfull
) 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:
- Remove all the comments in the file.
- Replace
include:
lines with the actual content of the file. - Omit all empty lines.
- Generate each
domain:
line into a sub-domain routing rule. - Generate each
keyword:
line into a plain domain routing rule. - Generate each
regexp:
line into a regex domain routing rule. - 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.
- After a few successful PRs, you may apply for manager access to this repository.
Recommend
-
1840
README.md Domain list community This project manages a list of domains, to be used as geosites for routing purpose in Project V. Purpose of thi...
-
29
Photo by Science in HD on
-
7
MongoDB Atlas vs Managed Community EditionThis site uses cookies and other tracking technologies to assist with navigation, analyze your use of our products and services, assist with promotional and marketing efforts, allow you to give feed...
-
9
Share Share Tweet Share Pin It List of Inspiring .design Domain Websites and How to Get One Free
-
10
Make Your Azure SQL Managed Instance Passwordless Make Your Azure SQL Managed Instance Passwordless
-
4
Passing List & lt; Domain Object & gt; to a Waiting method list < object & gt; advertisements I know I'm missing something fund...
-
5
# Shadowsocks Shadowsocks (opens new window) 协议,兼容大部分其它版本...
-
9
DomainsGPTGenerate brandable & memorable domain names using AIFree OptionsDomainsGPT helps you generate brandable & memorable names for your compa...
-
7
Support is great. Feedback is even better."Thanks for checking out our product. Please leave your honest feedbackk!"The makers of NameWizardSort by: Hello Everyone This is David...
-
3
polygonid-flutter-sdk/lib/iden3comm/domain/use_cases/generate_iden3comm_proof_use_case.dart at a552fc6b2430353b05c0c2ef3c17567704012a90 · 0xPolygonID/polygonid-flutter-sdk · GitHub
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK