![]() Helpfully, at the scriptlet wiki page I've linked each entry also shows a practical example rule that relies on the scriptlet. You're not restricted to only doing your filtering at the network level, HTML filtering is just another tool that filter authors have at their disposal. Of course, note that uBlock Origin also supports scriptlets that can be used to rein in scripts after they get added to the page, instead of by doing resource rewriting. Once it gets added to the page, the browser will execute it. If you want to stop an inline script from running (say to defuse an anti-adblocker popup/redirect), you can't wait until after it gets parsed to remove it. There are a couple of reasons, but the biggest one is that intercepting HTML at the network level allows you to filter inline script tags from documents. No shade at those tools, they have a place, but a browser-based extension will always be better than a setup like PiHole, because the browser has more access to a given request's current context. That's especially true if AdGuard is doing something like system-wide DNS blocking. I'm not saying everyone else is crap at adblockers, I'm saying static blocklists are fundamentally less powerful and less capable than Firefox's APIs. See the privacy API, dns, which is used to block a newer bypass method where 3rd-party trackers are hidden behind 1st-party subdomains. This makes it impossible to build the kind of detailed filters that uBlock Origin allows - for example, there's no way to strip HTML content from a GET request in Safari before it gets parsed by the browser.Īnd so on. More fundamental is the list itself - Safari doesn't allow contextual, dynamic blocking, you have to put everything into a static list. ![]() But at the end of the day it's just a really weird hoop to jump through, and it ends up being kind of error-prone, and there's no guarantee that Apple won't break those hacks in the future. Some developers do try to get around this with various hacky strategies like splitting their adblocker up into multiple extensions, or moving their blocker to the OS-level, or trying to recompile the list on the fly. ![]() The immediate problem is that Safari has a hard limit of 50,000 rules per extension. I haven't looked at AdGuard in specific, but fundamentally, AdGuard's Safari version can't be better than uBlock Origin on Firefox/Chrome, because Safari lacks the APIs to do what uBlock Origin does. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |