Skip to content

ProtoConsent/data

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

234 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ProtoConsent Data

ProtoConsent logo

Tracker blocklists organized by purpose

Browser extension · Blocklists · Website

250K+ domains 6 purposes 5 formats Updated daily GPL-3.0+

Curated domain blocklists organized by data-processing purpose: ads, analytics, personalization, third-party services, advanced tracking, and security. Unlike traditional blocklists that combine everything into a single file, these lists let you choose what to block based on why a domain exists, not just what it is.

Part of the ProtoConsent project. Available on the Chrome Web Store and Edge Add-ons. Blocklists can be used independently.

Lists

  1. Core - Ads + Analytics + Personalization + Third Parties + Advanced Tracking
  2. Full - Everything in Core plus phishing, scam and malware
  3. Per-purpose - Individual lists for granular control

Each list comes in two versions:

  • Standard - Curated set with lower false-positive risk. Recommended for most users.
  • Extended - Broader coverage with more domains, but higher chance of overblocking.

Core - All tracking purposes

Format Standard Extended Use with
ABP Link Link uBlock Origin, Adblock Plus, Ghostery
AdGuard Link Link AdGuard browser extension
Hosts Link Link Pi-hole, AdGuard Home, /etc/hosts
Domains Link Link Plain domain list, one per line
JSON Link Link Browser extensions, custom tools

Full - All purposes including security

Everything in Core plus phishing, scam and malware domains.

Format Standard Extended Use with
ABP Link Link uBlock Origin, Adblock Plus, Ghostery
AdGuard Link Link AdGuard browser extension
Hosts Link Link Pi-hole, AdGuard Home, /etc/hosts
Domains Link Link Plain domain list, one per line
JSON Link Link Browser extensions, custom tools

Per-purpose lists

For granular control, subscribe only to the purposes you want to block. Same 5 formats, same Standard/Extended versions.

Purpose Standard Extended Description
Ads ABP | AdGuard | Hosts | Domains | JSON ABP | AdGuard | Hosts | Domains | JSON Advertising, remarketing and affiliation campaigns
Analytics ABP | AdGuard | Hosts | Domains | JSON ABP | AdGuard | Hosts | Domains | JSON Measurement, statistics and usage analytics
Personalization ABP | AdGuard | Hosts | Domains | JSON ABP | AdGuard | Hosts | Domains | JSON Content/UX personalization, recommendations, A/B testing
Third Parties ABP | AdGuard | Hosts | Domains | JSON ABP | AdGuard | Hosts | Domains | JSON Third-party data sharing beyond the core service
Advanced Tracking ABP | AdGuard | Hosts | Domains | JSON ABP | AdGuard | Hosts | Domains | JSON Fingerprinting and cross-site device tracking
Security ABP | AdGuard | Hosts | Domains | JSON ABP | AdGuard | Hosts | Domains | JSON Phishing, scam, malware and malicious domains

See LISTS.md for format details.

ProtoConsent lists may overlap with other blocklists you already use (EasyList, HaGeZi, etc.). uBlock Origin deduplicates rules automatically; AdGuard does not. If you notice performance issues in AdGuard, consider removing lists that overlap.

Why purpose-based lists?

Most blocklists are organized by source (EasyList, HaGeZi, OISD) or by threat type (ads, malware). ProtoConsent lists are organized by data-processing purpose, aligned with how privacy regulations (GDPR, CCPA) categorize data use:

  • Want analytics but not ads? Subscribe to protoconsent_ads only.
  • Running a privacy-first setup? Subscribe to all six.
  • Building a consent-aware tool? Use the JSON format with purpose metadata.

ProtoConsent extension data

The enhanced/ directory contains runtime data for the ProtoConsent browser extension: third-party blocking lists converted to JSON, cosmetic filtering rules, CMP banner signatures, CNAME tracker maps, URL parameter stripping data, regional filters, and a hotfix list for domains removed between extension releases. The extension fetches these from CDN when the user enables Enhanced Protection.

For per-file details, see LISTS.md.

Scripts

All scripts are in scripts/. Requires Node.js 18+. No dependencies.

Script Description
generate-full-lists.js Generates all blocklists. Outputs ABP, AdGuard, hosts, domains, and JSON to lists/.
validate-lists.js Validates all inputs and outputs for correctness. Runs automatically before each commit in CI.
convert.js Fetches upstream blocklists, parses them (ABP, hosts, and plain domain formats), deduplicates, and outputs JSON blocking files.
convert-cosmetic.js Fetches EasyList, extracts element-hiding rules, and outputs a cosmetic JSON file.
convert-cname.js Fetches AdGuard's CNAME tracker lists, merges categories, and outputs an indexed lookup map.
convert-autoconsent.js Fetches Autoconsent rule files, extracts CMP selectors, and builds three output files.
convert-tracking-params.js Fetches AdGuard TrackParamFilter and Dandelion Sprout, extracts $removeparam names, and outputs two JSON files.
convert-regional.js Fetches EasyList and AdGuard regional filters, outputs blocking + cosmetic per region.
generate-manifest.js Reads metadata from all enhanced files and outputs config/enhanced-lists.json.
node scripts/generate-full-lists.js          # generate all blocklists -> lists/
node scripts/generate-full-lists.js --dry-run # show counts without writing
node scripts/validate-lists.js               # validate all generated lists
node scripts/convert.js                      # fetch all blocklists -> enhanced/external/
node scripts/convert.js --list hagezi_pro    # fetch one blocklist
node scripts/convert-cosmetic.js             # fetch EasyList cosmetic -> enhanced/external/
node scripts/convert-cname.js                # fetch CNAME list -> enhanced/external/
node scripts/convert-autoconsent.js          # build CMP signatures -> enhanced/protoconsent/
node scripts/convert-tracking-params.js      # fetch tracking params -> enhanced/external/
node scripts/convert-regional.js             # fetch all regional -> enhanced/regional/
node scripts/convert-regional.js --region es # fetch one region
node scripts/generate-manifest.js            # rebuild config/enhanced-lists.json

License

GPL-3.0-or-later - see LICENSE.

The generated JSON files contain data derived from upstream sources under their respective licenses (see LISTS.md and CREDITS.md). CMP detection and hiding selectors from Autoconsent are used under the MPL-2.0 license.

About

Purpose-based tracker blocklists in 5 formats (ABP, AdGuard, hosts, domains, JSON). 250K+ domains organized by purpose: ads, analytics, personalization, tracking, security.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors