Scriptlets icon indicating copy to clipboard operation
Scriptlets copied to clipboard

Improve 'prevent-fetch' — add ability to set random response content

Open AdamWr opened this issue 1 year ago • 0 comments

Similar to - https://github.com/AdguardTeam/Scriptlets/issues/199#issuecomment-1063271758 but for prevent-fetch.

Also adding Content-Length header to response would be a good idea, related to - https://github.com/AdguardTeam/AdguardFilters/issues/175797 and https://github.com/AdguardTeam/AdguardFilters/issues/176137

Steps to reproduce:

  1. Add this rule:
example.org#%#//scriptlet('prevent-fetch', 'pagead2.googlesyndication.com')
  1. Go to - https://example.org/
  2. In browser console run:
(async () => {
    const ads = await fetch('https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js');
    const contentLength = (await ads.text()).length;
    const contentLengthHeader = Number(ads.headers.get('Content-Length'));
    if (!ads.ok || contentLength < 100 || contentLengthHeader < 100) {
        alert('Ads are blocked!');
    }
})();

Alert will be displayed.

AdamWr avatar Apr 02 '24 15:04 AdamWr