Skip to content

yokoffing/filterlists

Repository files navigation

GitHub last commit GitHub commit activity GitHub Maintained GitHub Maintained Hits


Guidelines

  1. Prevent overblocking by applying the law of diminishing returns (always blocking more ≠ better blocking experience).
  2. Aim for efficiency without sacrificing quality (use sane, quality resources).
  3. Implement the minimum number of useful lists (avoid redundancy and bloat when possible).

Recommended Filters for uBlock Origin

uBO lists May 2024


Content

  1. How To Add Custom Filters
    1. Privacy
    2. Annoyances
    3. Security
    4. All-Purpose
  2. Setup Examples
    1. Enhanced
    2. Pro
    3. Optimized
  3. Block Content with Fewer Rules
    1. Disable Cosmetic Filters
    2. Optimized Lists
  4. Advanced Settings
  5. FAQ
  6. Additional Reading
  7. Mentions

How To Add Custom Filters

uBlock Origin

Get uBlock Origin (uBO), if you don't have it already.

To import custom filters into uBlock Origin:

  1. Click the subscribe link by one of the entries below.
  2. In the new tab that opens, click on Subscribe in the top right corner.
  3. Close tab, then repeat for other lists you want to add to uBO.

Note

This repo is tailored to uBlock Origin specifically. I cannot guarantee filters will work in other ad blockers.

Other ad blockers

AdGuard

To import custom filters into AdGuard:

  1. Click the subscribe link by one of the entries below.
  2. In the new tab that opens, click on Next.
  3. Toggle the box that says Trusted, then click Subscribe.

AdBlock Plus

To import custom filters into Adblock Plus:

  1. Click the subscribe link by one of the entries below.
  2. In the new tab that opens, select Yes, Add This Filter List.

AdBlock

To import custom filters into AdBlock:

  1. Click the subscribe link by one of the entries below.
  2. In the dialog box that pops up, press OK.

Other ad blockers

Do not use the subscribe link. Instead, do the following:

  1. Click on the title of the list from the selections below.
  2. In GitHub, click Raw on the right-hand side of the page.
  3. Copy+paste the URL to your preferred ad blocker.
  4. Follow your ad blocker's instructions for adding custom lists.

Privacy

  1. Privacy Essentials (1k rules) | subscribe
    A curated list for advanced hardening. Includes click2load filters^what is this? and blocks requests like connect.facebook.com and more that are not covered by uBO's default settings or in Annoyances lists.

Warning

Privacy Essentials may prevent you from logging into sites using Facebook, Google, or other third-party accounts.

  1. yokoffing's click2load filters (47 rules) | subscribe
    (optional if using Privacy Essentials) Turns many third-party audio and video players into click-to-load placeholders which only load once a user clicks on it. This list speeds up page load, uses less bandwidth and browser resources, and reduces privacy exposure (by contacting fewer domains during page load). The player will load by clicking on the placeholder.

  2. Hagezi Pro mini (78k domains) | subscribe
    A smaller version of the Hagezi Pro DNS blocklist optimized for web browsers (78k vs. 159k rules). The streamlined list excludes rules not pertinent to web browsing, like those blocking IoT tracking and device telemetry. This mini version blocks domains associated with ads, tracking, analytics, and badware.

URL Tracking Parameters

Add the functionality of ClearURLs to uBO. These filter lists automatically remove tracking elements from URLs to protect your privacy when browsing the Internet.

Tip

If you find websites with tracking parameters or experience site issues, you can submit those here.

  1. Actually Legitimate URL Shortener Tool (2k rules) | subscribe
    This list also includes all entries from AdGuard's URL Tracking Protection as of October 2022, but you can use both lists.

  2. ClearURLs for uBO (700 rules) | subscribe
    This list is just the rules from the ClearURLs extension converted into a filterlist.

Fonts

  1. Block third-party fonts (70 rules) | subscribe
    This filter blocks fonts from third-party domains, which improves page load speed and protects your privacy. There are built-in exceptions to minimize site issues, such as allowing for font icons. Overall, it's more flexible than blocking all third-party fonts outright (e.g., $font,3p).

Note

Blocking web fonts will affect the "look and feel" of some sites.

Annoyances

  1. yokoffing's Annoyance List (1k rules) | subscribe
    A curated list that captures nuisances missed by other maintainers. It also cleans up the clutter around many sites (e.g., related articles, "read more", etc.).

  2. Browse websites without logging in (370 rules) | subscribe
    This list attempts to bypass forced logins on sites.

  3. YouTube Clear View (17 rules) | subscribe
    Cleans up some of the clutter on YouTube.

Paywalls

To most effectively bypass paywalls, use the Bypass Paywalls Clean extension. The blocklists are limited in what they can do and are therefore optional.

  1. Bypass Paywalls Clean filter (960 rules) | subscribe
    You do not need this filterlist if you use the extension.

  2. Anti-paywall filters (2k rules) | subscribe
    This list blocks additional third-party requests and annoyances that are not covered in the Bypass Paywalls Clean filterlist.

Security

High-risk sites can expose your device to threats. These lists can prevent that by warning you before navigation or limiting what you can access.

  1. Most Abused TLDs (213 rules) | subscribe
    Displays a warning before navigating to a site with an abused TLD. Allows exceptions for legitimate sites. Merged from my own Enhanced website protection list, Dandelion Sprout's Anti-Malware List, LennyFox's Block non-Latin TLDs list, and Spamhaus statistics.

  2. Dandelion Sprout's Anti-Malware List (88k rules) | subscribe
    This list blocks domains with high abuse rates and their search results. It also blocks domains involved in malware redirects, domain parking, and Windows PUP ads. It has many other subcategories that distinguish it from similar lists.

  3. The malicious website blocklist (38k rules) | subscribe
    This version includes author comments, vxvault.net's list, the anti-PUP list, and additional rules for uBO.

All-Purpose

  1. uBlock combo list (81k rules) | subscribe
    (optional: You may not want all these sub-filters, or you may prefer to use the separate lists) This list filters URL tracking parameters as well as malware, scams, and phishing. It combines the following lists: Dandelion Sprout's Anti-Malware List, Actually Legitimate URL Shortener Tool, The malicious website blocklist, and the anti-typo list.

Setup Examples

I've provided three setup guides: Enhanced, Pro, and Optimized.

Enhanced

Features

Balanced approach for users with a low threshold for site issues:

  • Blocks most URL tracking, cookie pop-ups, and anti-adblock notices
  • (optional) Adds security protections from known badware domains

Built-in lists

In addition to the default lists, you should also enable:

  1. AdGuard URL Tracking Protection
  2. EasyList/uBO - Cookie Notices
  3. EasyList - Social Widgets (if they bother you, or you don't use them)
  4. uBlock filters - Annoyances

Custom lists

  1. yokoffing's click2load filters
  2. Actually Legitimate URL Shortener Tool
  3. (optional) Security lists (if you browse high-risk categories like torrents, piracy, and third-party streaming sites, or want more peace of mind, etc.)

Pro

Features

Advanced apporach for users comfortable troubleshooting issues and reporting site breakage:

  • Significant privacy protection
  • Block more annoyances
  • (optional) Security protection against abused TLDs

Built-in lists

In addition to the default lists and everything under the Enhanced setup, you should also enable:

  1. (optional) AdGuard Tracking Protection, purposed for uBO
  2. EasyList - Annoyances (all lists)

Custom lists

  1. Privacy Essentials (on uBO, yokoffing's click2load filters is included)
  2. Hagezi Pro Mini
  3. (optional) Block third-party fonts
  4. yokoffing's Annoyance List
  5. Browse websites without logging in
  6. (optional) YouTube Clear View
  7. (optional) Most Abused TLDs

Optimized

  • Ideal for mobile or older devices, or users who really enjoy efficiency
  • Thorough blocking with reduced rule count

Replace one-for-one with Optimized Lists.


Block Content with Fewer Rules

Filter Types

Modern websites often have ads, cookie banners, newsletter pop-ups, social media icons, or any combination of these annoyances. Cosmetic filters hide visual nuisances from the page that can't be blocked with network filters. But there is also a third category.

Unique to uBlock Origin and AdGuard are a method of filtering called scriplets. They are small scripts that allow the content blocker to perform customized actions on websites, beyond just blocking elements. Scripts are small code snippets written in JavaScript, which perform certain functions.

This is where a powerful ad blocker like uBO or AdGuard shines, as they can block pop-ups on videos when you click them and other instrusive ads, whereas basic ad blockers only support the bare minimum of network and cosmetic filtering. You'll usually find these in built-in browser ad blockers. (I'm looking you Opera, Vivaldi, and Orion.)

Disable Cosmetic Filters

Effective ad blocking now requires cosmetic filters in Ads and Annoyances lists to remove these elements. Most devices, including mobile devices, can handle cosmetic filtering without significant performance issues.

However, turning off cosmetic filtering when the webpage doesn't need it reduces your device's workload while still blocking unwanted network requests.

Option 1: Turn off cosmetic filters globally

The most optimal way to improve performance without compromising security or privacy is to disable cosmetic filtering everywhere, and then enable it on sites where it's needed. This action still protects you from security and privacy risks by blocking unwanted network requests but reduces the overhead on less powerful devices during page load.

When I was testing this feature, I was amazed at how many ads and annoyances were blocked by network filters and scriplets alone. They do most of the heavy work on non-video sites. However, there are plenty of invasive sites where cosmetic filtering is needed.

Instructions

To disable cosmetic filtering everywhere, go to the Settings pane in the dashboard. Under the Default behavior heading, check the option Disable cosmetic filtering.

From then on, cosmetic filtering will be turned off everywhere by default. To enable it for a specific site where it is really needed, click the "eye" icon in uBO's panel.

For sites where you already know that you want to block visual elements, such as traditional search, video streaming, and news sites, you can go to the Settings pane in the dashboard and click on the My rules tab. Then, under Temporary rules, you can enter something like this:

no-cosmetic-filtering: bing.com false
no-cosmetic-filtering: cnn.com false
no-cosmetic-filtering: google.com false
no-cosmetic-filtering: twitch.tv false
no-cosmetic-filtering: youtube.com false

Select Save and then Commit.

To enable cosmetic filtering when you're on the site, click the uBO icon in your browser toolbar and click the "eye" icon and then the "lock" icon.

It took less than a few browsing sessions to re-enable cosmetic filtering for ad-heavy sites that I visit reguarly. But I was generally impressed with how uBO's network filters and scriplets took care of a lot annoyances using my suggested Enhanced setup.

Option 2: Selectively disable cosmetic filters

Another way to go about this is to disable cosmetic filters on only specific sites.

For a webpage where uBO seems unnecessary, turn off cosmetic filtering for the site. Disabling cosmetic filters on specific sites is more flexible than allowing cosmetic filters everywhere by default. However, it requires you to 1) assess a site and 2) remember to disable them. This method is also less of a net benefit for your device's performance.

Instructions

In general, you'll want to disable cosmetic filtering for small blogs, benchmarking sites, government sites, and any other unobstrusive pages. If you already have a good idea of what those are, you can go to the Settings pane in the dashboard and click on the My rules tab. Then, under Temporary rules, you can enter something like this:

no-cosmetic-filtering: basicappleguy.com true
no-cosmetic-filtering: browserbench.org true
no-cosmetic-filtering: fda.gov true
no-cosmetic-filtering: pluralistic.net true

Select Save and then Commit.

More often, however, you'll disable cosmetic filtering for a site by clicking the uBO icon in your browser toolbar, selecting the "eye" icon and then the "lock" icon.

Optimized Lists

Important

These lists sacrifice blocking comprehensiveness for efficiency, so expect occasional gaps in coverage when compared to their regular versions. Remember this if you run into less blocking than anticipated or when troubleshooting a website.

Another way to improve performance is to use alternative filter lists with fewer rules. These filters are intended predominately for mobile devices. So although uBO can handle over 500k+ rules, you don't need that many to block unwanted content effectively.

AdGuard offers filters that remove rarely used rules. These optimized lists load faster and use less memory while still blocking content effectively. AdGuard creates the lists using statistics that indicate how often each rule is applied.

Note

AdGuard for iOS automatically uses optimized filters, so you don't need to manually add the iOS-specific links provided below. The guide includes these links mainly for reference, as AdGuard doesn't explicitly label the built-in filters as "optimized" even though they are.

The rule counts below compare each optimized list to its original version in uBO. The numbers are a snapshot of the rule counts at the time of writing.

Ads

  1. Easylist (Optimized) (45k optimized vs. 82k rules) | iOS version (28k rules) | subscribe
    EasyList is the primary filter list that removes most adverts from web pages, including unwanted frames, images, and objects. This filter is the most popular list used by many ad blockers.

  2. EasyList + AdGuard Base filter (Optimized) (73k optimized vs. 153k rules combined) | iOS version (34k rules) | subscribe
    If Easylist (Optimized) is missing too many ads, then use this list, or stick with the built-in Easylist filter.

  3. AdGuard Mobile Ads filter (9k rules optimized) | iOS version (6k rules) | subscribe
    (optional: This filter is enabled by default when using uBO on Firefox for Android. It's an option in uBO under the category of Ads.)

Privacy

  1. AdGuard Tracking Protection (Optimized) (both use 100k rules; optimized removes comment lines !) | iOS version (44k rules) | subscribe
    A comprehensive list of various online counters and web analytics tools.

  2. EasyPrivacy (Optimized) (14k optimized vs. 50k rules) | iOS version (14k rules) | subscribe
    EasyPrivacy is a filter list to comprehensively block tracking on web pages, including tracking scripts and information collectors. EasyPrivacy protects personal data by stopping these trackers. This filter is the second most popular list used by many ad blockers.

Annoyances

  1. Fanboy Annoyances (Optimized) (56k optimized vs. 81k rules) | iOS version (11k rules) | subscribe
    Hides website notifications, social media widgets, cookie notices, chat widgets, and some newsletters, thereby substantially decreasing web page loading times and uncluttering them. Includes EasyList - Cookie Notices and EasyList - Social Widgets.

  2. AdGuard Annoyances (Optimized) (44k optimized vs. 61k rules) | iOS version (24k rules) | subscribe
    Contains the following AdGuard filters: Cookie Notices, Popups, Mobile App Banners, Other Annoyances and Widgets. (To block social media buttons, use AdGuard Social Media filter as well.)

  3. AdGuard Social Media filter (Optimized) (16k optimized vs. 21k rules) | iOS version (7k rules) | subscribe
    If you do not like numerous Like and Tweet buttons on all the popular websites on the Internet, then subscribe to this filter and you will not see them anymore.


Advanced Settings

Toggle on advanced settings.

advanced user

Warning

Do not change these values blindly. Read the description for each preference.

Setting Value Description
autoUpdateAssetFetchPeriod 10 auto-updater waits x seconds before fetching the next filterlist
autoUpdateDelayAfterLaunch 5 update out-of-date filter lists x seconds after browser startup
autoUpdatePeriod 1 uBO checks for filter lists updates every x hours
cnameMaxTTL 720 cache CNAME aliases for x minutes
filterAuthorMode true enable Dynamic Filtering
updateAssetBypassBrowserCache true bypass cache when manually fetching a filter list more often than every hour

FAQ

Which browser works best with uBO?

uBlock Origin works best in Mozilla Firefox. The features supported only on Firefox include preventing unwanted DNS requests and CNAME uncloaking.

Should I use a content blocker if I have Pihole, NextDNS, ControlD, etc.?

uBlock Origin can do more compared to when only blocking requests at the DNS-level, like using cosmetic filters to hide first-party ads (e.g., YouTube ads), ad-placeholders, web annoyances, etc.1

Why should I use these lists?

Check out How I Experience the Web Today.

Why did you include AdGuard's Optimize lists but not AdBlock Plus' Minified lists?

The Minified lists are part of an Adblock Plus-hosted unofficial project that was hardforked from their source lists in August 2019. They are smaller than AdGuard's Optimized lists but lack quality blocking. Because EL and EP are your primary defenses with content blocking, I wouldn't use the Minified lists.


Reading

uBO-specific

Filter Creation

Security


Mentions

User comments: 1 2 3 4 5 6

Guides

Contributions

Free Website Counter
23 July 2022