diff --git a/content/posts/layered-content-blocking.gmi b/content/posts/layered-content-blocking.gmi index e7bdada..1169653 100644 --- a/content/posts/layered-content-blocking.gmi +++ b/content/posts/layered-content-blocking.gmi @@ -6,7 +6,7 @@ My views on the situation are a bit complicated. ## The existing content filtering landscape -uBlock Origin (not to be confused with the unrelated uBlock) has advanced content filters, with the ability to inject near-arbitrary content into pages. +uBlock Origin (not to be confused with the unrelated uBlock) has advanced content filters, with the ability to inject near-arbitrary stylesheets and a number of scripts into pages. => https://github.com/gorhill/uBlock uBlock Origin on GitHub diff --git a/content/posts/layered-content-blocking.md b/content/posts/layered-content-blocking.md index 345d639..3f8474b 100644 --- a/content/posts/layered-content-blocking.md +++ b/content/posts/layered-content-blocking.md @@ -16,7 +16,7 @@ My views on the situation are a bit complicated. The existing content filtering landscape ---------------------------------------- -[uBlock Origin](https://github.com/gorhill/uBlock)[^2] has advanced content filters, with the ability to inject near-arbitrary content into pages. Injecting scripts and stylesheets is often necessary to bypass malicious "anti-adblock" scripts or to skip certain types of video ads on streaming platforms. Unfortunately, this presents a security risk: users must trust every filter to not inject malicious stylesheets. Furthermore, sometimes these extensions don't run their filters "in time"; a delay in running a filter could allow unwanted content to sneak through. This is especially common during browser launch. Nonetheless, its functionality makes the user-hostile Web considerably less frustrating, and I rely on it every day. +[uBlock Origin](https://github.com/gorhill/uBlock)[^2] has advanced content filters, with the ability to inject near-arbitrary stylesheets and a number of scripts into pages. Injecting scripts and stylesheets is often necessary to bypass malicious "anti-adblock" scripts or to skip certain types of video ads on streaming platforms. Unfortunately, this presents a security risk: users must trust every filter to not inject malicious stylesheets. Furthermore, sometimes these extensions don't run their filters "in time"; a delay in running a filter could allow unwanted content to sneak through. This is especially common during browser launch. Nonetheless, its functionality makes the user-hostile Web considerably less frustrating, and I rely on it every day. Chromium's Manifest v3 includes the `declarativeNetRequest` API, which delegates these functions to the browser rather than the extension. Doing so avoids the timing issues visible in privileged extensions and does not require giving the extension access to the page. While these filters are more reliable and improve privilege separation, they are also substantially weaker. You can say goodbye to more advanced "anti-adblock" circumvention techniques.