uBlock Origin
Author
Jonathan
Date Published
uBlock Origin is the only Adblocker that offers sufficient control to block most Ads, Tracking and Malware.
By default, it will run in a blacklist-mode, where it uses lists of known bad domains which will be blocked. Everything else will be allowed. This leaves a lot of room for trackers, because every new domain will not be blocked until it appears on a block-list.
Another approach is to block EVERYTHING by default and operate a whitelist of known good domains. This is what this post talks about.
Block ALL Third-Party Scripts
The base for all of this is the assumption that by blocking Third-Party scripts, we block 99% of the bad domains. This, of course assumes, that First-Party Scripts are trustworthy, which is not always the case. This trade-off ensures that most simpler websites work just fine.
1* * 3p-script block
Allow some well-known CDNs
Next, we maintain a list of well-known domains that are mostly harmless. A large chunk of them are CDNs. This list will vary depending on what sites you are regularly using. For example, I pay a lot of my stuff with PayPal, so I explicitly allow some Third-Party domains which are necessary to use PayPal.
1* 3dsecure-atruvia.de * noop2* ajax.googleapis.com * noop3* akadns.net * noop4* akamai.net * noop5* akamaiedge.net * noop6* ajax.aspnetcdn.com * noop7* b-cdn.net * noop8* braintree-api.com * noop9* braintreegateway.com * noop10* cdn.cloudflare.net * noop11* cloudapp.net * noop12* cdnjs.cloudflare.com * noop13* challenges.cloudflare.com * noop14* cloudfront.net * noop15* cookielaw.org * block16* cdn.db.io * noop17* deltacdn.net * noop18* discourse-cdn.com * noop19* fastly.net * noop20* fb-t-msedge.net * noop21* youtube-ui.l.google.com * noop22* googlevideo.com * noop23* gstatic.com * noop24* hcaptcha.com * noop25* here.com * noop26* jquery.com * noop27* cdn.jsdelivr.net * noop28* l-msedge.net * noop29* maps.googleapis.com * noop30* msedge.net * noop31* cdn.oaistatic.com * noop32* cdn.office.net * noop33* pay1.de * noop34* paypalobjects.com * noop35* polyfill.io * noop36* cdn.shopify.com * noop37* softr-files.com * noop38* squarespace.com * noop39* sstatic.net * noop40* static.microsoft * noop41* t-msedge.net * noop42* unpkg.com * noop43* vimeocdn.com * noop44* visualstudio.com * noop45* website-files.com * noop46* youtube-nocookie.com * noop47* youtube.com * noop48* ytimg.com * noop
Allow everything else on a per-site basis
Everything else will be allowed on a per-site basis. This is the most annoying part, as for every new site you visit, you have to go through the process of selectively allowing trustworthy-looking domains, reload the page, check if everything works, if not, repeat. You can get used to it.

This is what my Block settings for Azure DevOps look like. For auth, I whitelisted some domains for every page, others are specific to Azure DevOps.
Conclusion
This strategy is by no means painless or set-and-forget. It requires time to setup and to maintain, whenever you visit a new site. If you are someone who mostly visits the same sites or have no problem putting in a bit of effort every day to avoid being tracked, this might be for you.