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.
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,
vname
group
Privacy
, Security
, ParentalControl
.subg
1Hosts
, RPi
, StevenBlack
etc).format
url
https://fanboy.co.nz/r/fanboy-ultimate.txt
,
or a list of well-formed http urls ["https://url1...", "https://url2..."]
.pack
spam
, spyware
, malware
, scams & phishing
, adult
, drugs
, gambling
,
social-media
, smart-tv
, games
, shopping
, dating
, vanity
, facebook
, google
, amazon
,
vpn & proxies
, url-shorteners
, privacy
etc.level
0
for
lite, 1
for aggressive, 2
for extreme); for example, NSO + others (Amnesty)
blocklist
for Security
is 2
(extreme) on spyware
blocks, but 0
(lite) on privacy
blocks.pack
is 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.
If you're a developer looking to experiment with the code-base or generate your own compressed blocklist:
# parses `config.json` and downloads blocklists in to 'blocklistfiles' dir
pip3 install aiohttp
python3 download.py
# 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
# 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