Scriptlets
Scriptlets copied to clipboard
AdGuard scriptlets library
Currently, only top-level keys can be modified in local storage using the `set-local-storage-item` scriptlet. However, some applications store data in local storage by saving an object and using nested properties...
It seems that currently `stack` parameter doesn't work correctly, it's checked at the beginning of the scriptlet: https://github.com/AdguardTeam/Scriptlets/blob/3ba245f96237915bbff6fe80c7400b03c0f5014d/src/scriptlets/set-constant.js#L163-L166 not when value is set/get. Similar to - https://github.com/AdguardTeam/Scriptlets/issues/348 Steps to reproduce:...
`japscan.lol#%#//scriptlet('trusted-suppress-native-method', 'Document.prototype.querySelectorAll', '/(#navpromo|#OhNo)/', 'abort')` => `Could not parse the signature matcher: '/(#navpromo' value type can't be inferred: SyntaxError: Unexpected token '/', "/(#navpromo" is not valid JSON` Screenshot 
It seems that there are 2 issues in `prevent-xhr`. First one is that we set `responseURL` on state `4` but it looks like that it should be done on state...
Related to - https://github.com/AdguardTeam/AdguardFilters/issues/202188 It looks like Cloudflare captcha does not like when their element in shadow DOM is modified. It's caused by this line: https://github.com/AdguardTeam/Scriptlets/blob/d12f6bf7f1cec5c54a83677a01f2485211adf40e/src/scriptlets/trusted-click-element.ts#L195 Maybe as a simple...
when i use `vikingf1le.us.to#%#//scriptlet('prevent-setTimeout', 'location.href')` ,this does not work as per STR below google chrome 135.0.7049.85 , AdGuard Browser extension Version 4.4.49 **STR=** - add ``` vikingf1le.us.to#%#//scriptlet('prevent-addEventListener', 'DOMContentLoaded', 'history.go') vikingf1le.us.to#%#//scriptlet('prevent-setTimeout',...
Compare these commits: https://github.com/AdguardTeam/AdguardFilters/commit/d466f3a974ee229dcb4a59db1ff499336eb6f9bd https://github.com/uBlockOrigin/uAssets/commit/ee77cdf6e9edb6e0e0eeac42356f3dd599aa8dd3 As both the script and function names are randomized, StackDepth or the number of lines in the stack logs may be the only clue to...
Currently, the scriptlets library allows supplying a `verbose` flag that controls whether the scriptlet should write verbose output to the console. I suggest replacing that flag with the ability to...
I tried to suppress `Math.floor` with ``` exploader.net#%#//scriptlet('trusted-suppress-native-method', 'Math.floor', '/([12]\d\.\d+|\d\.\d+)/', 'prevent') ``` but it fails. This is more of a question, but is it possible to suppress methods without argument...
Required if script is obfusucated and thus can not be distinguished by function name, but can be done by delay having some fluctuation than exact value. uBO implementation: https://github.com/gorhill/uBlock/commit/3b7fa79a6813dd34e18dcd448a1417a67e0f1f58