DNS Zone Blacklist 项目使用教程
1. 项目的目录结构及介绍
dns-zone-blacklist/
├── bind/
│ ├── zonefile.txt
│ └── ...
├── dnsmasq/
│ ├── zonefile.txt
│ └── ...
├── unbound/
│ ├── zonefile.txt
│ └── ...
├── .gitignore
├── .travis.yml
├── LICENSE
├── README.md
├── README_template.md
├── build.js
├── custom_blacklist.json
├── custom_whitelist.json
├── package-lock.json
└── package.json
目录结构介绍
- bind/: 包含用于 BIND DNS 服务器的生成的 zone 文件。
- dnsmasq/: 包含用于 Dnsmasq DNS 服务器的生成的 zone 文件。
- unbound/: 包含用于 Unbound DNS 服务器的生成的 zone 文件。
- .gitignore: 指定 Git 版本控制系统忽略的文件和目录。
- .travis.yml: Travis CI 配置文件,用于持续集成。
- LICENSE: 项目的开源许可证文件。
- README.md: 项目的介绍和使用说明。
- README_template.md: README 文件的模板。
- build.js: 生成 zone 文件的脚本文件。
- custom_blacklist.json: 自定义的黑名单配置文件。
- custom_whitelist.json: 自定义的白名单配置文件。
- package-lock.json: 锁定项目依赖的版本。
- package.json: 项目的 npm 配置文件,包含依赖和脚本。
2. 项目的启动文件介绍
项目的启动文件是 build.js
,该文件负责生成 BIND、Dnsmasq 和 Unbound DNS 服务器的 zone 文件。
启动文件介绍
- build.js: 该脚本使用
custom_blacklist.json
和custom_whitelist.json
中的配置,结合来自StevenBlack/hosts
项目的数据,生成适用于不同 DNS 服务器的 zone 文件。
3. 项目的配置文件介绍
配置文件介绍
- custom_blacklist.json: 自定义的黑名单配置文件,允许用户添加需要屏蔽的域名。
- custom_whitelist.json: 自定义的白名单配置文件,允许用户添加需要排除在屏蔽列表之外的域名。
- package.json: 项目的 npm 配置文件,包含项目的依赖和脚本。
配置文件示例
custom_blacklist.json
{
"blacklist": [
"example.com",
"malware.example.org"
]
}
custom_whitelist.json
{
"whitelist": [
"safe.example.com"
]
}
通过这些配置文件,用户可以根据自己的需求定制 DNS 屏蔽列表。