Blocklists
An opinionated collection of blocklists for RethinkDNS.
Install / Use
/learn @serverless-dns/BlocklistsREADME
A collection of DNS blocklists used by rethinkdns/configure for use with any DNS over HTTPS or DNS over TLS client, like the RethinkDNS + Firewall app for Android. As of Dec 2022, 194 blocklists are ingested with ~13.5 million domain names.
Adding a new blocklist
Fork and edit config.json. Then, add a new entry (if not already present) at the bottom of the json file, as its last entry:
{
"vname": "Combined Privacy Block Lists: Light (bongochong)",
"group": "Privacy",
"subg": "CPBL",
"format": "wildcard",
"url": "https://raw.githubusercontent.com/bongochong/CombinedPrivacyBlockLists/master/MiniLists/NoFormatting/mini-cpbl-wildcard-blacklist.txt",
"pack": ["liteprivacy", "recommended"],
"level": [0, 0]
}
where,
- Name
vname- a string, human-readable name of the blocklist.
- may be empty, but preferably not.
- Qualifiers
group- a non-empty string, buckets blocklists into a group.
- current in-use groups are:
Privacy,Security,ParentalControl.
subg- a string, usually the blocklist project itself (like
1Hosts,RPi,StevenBlacketc). - may be empty.
- a string, usually the blocklist project itself (like
- Files
formaturl- a non-empty string or a list of strings, points to urls where the blocklists exists.
- should be a well-formed http url; example:
https://fanboy.co.nz/r/fanboy-ultimate.txt, or a list of well-formed http urls["https://url1...", "https://url2..."].
- Characteristics
pack- an array of strings, tags the blocklists into an overarching category.
- some of the categories are
spam,spyware,malware,scams & phishing,adult,drugs,gambling,social-media,smart-tv,games,shopping,dating,vanity,facebook,google,amazon,vpn & proxies,url-shorteners,privacyetc. - may be empty.
level- an array of numbers, one per pack.
- denotes an arbitrary calibration of the severity of the blocklist for a given pack, that is (
0for lite,1for aggressive,2for extreme); for example,NSO + others (Amnesty)blocklist forSecurityis2(extreme) onspywareblocks, but0(lite) onprivacyblocks. - empty only if
packis empty.
Submit a pull-request of your changes to have it considered for an inclusion in the default Rethink DNS implementation of both the client and the resolver.
Developing
If you're a developer looking to experiment with the code-base or generate your own compressed blocklist:
- Download blocklists.
# parses `config.json` and downloads blocklists in to 'blocklistfiles' dir pip3 install aiohttp python3 download.py - Build a compressed, succinct radix-trie of all domains in downloaded blocklists.
# parses downloaded files in the ./blocklistfiles directory to create # a compressed, compact radix-trie and related files in the ./result directory. node --max-old-space-size=16384 ./src/build.js - Upload the radix-trie and associated files to S3 / R2.
# set aws environment variables for ubuntu/mac, like so: export AWS_ACCESS_KEY = "access-key" export AWS_SECRET_ACCESS_KEY = "secret-key" export AWS_BUCKET_NAME = "bucket-name" npm i # uploads files in the 'result' dir to S3 / R2. node ./src/upload.js
Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
