> People should be way more upset at the fact that Safari adblocking today is still inferior to even MV3 Google Chrome. Apple's implementation of declarativeNetRequest was semi-broken until the very latest iOS 18.6.
Apple can do the bare minimum, years after everyone else, and barely get called out. The Reality Distortion Field is the enemy.
"Custom scriptlets" are not random words. They are capabilities of multiple blockers on MV2.
I want to interfere websites' javascripts to block the ads that are not addressed by the extensions without the need to write whole userscripts. For example, stopping/replacing an inline script, pruning the ads/annoyances out of the JSONs, replacing the arguments of a native function, setting the constants of global variables to any values I want, preventing `setTimeout`, `setInterval`, `eval`, removing event listeners on the elements I want, removing/replacing/setting the attributes' values of the elements I want... and the list goes on. I can do these with uBO.
I want to strip out/replace the fingerprinted JSON data in the request headers of the XHR/fetch requests. I can do this with uBO.
I want to block YouTube from delivering bs AI dub audio by default to me. I can do this with uBO.
I want to not let the websites go through the trackers before redirecting to the destination link if the destination link already appears in the URL. I can do this with uBO.
I want to strip out any tracking parameters of a URL that I want without the need to wait for the extension to approve and update for me. I can do this with uBO.
I want to block and redirect the resources to the neutralized resources built inside uBO, or redirect to any other domains/URLs that I want without the need to report and wait for the extension to approve and update for me. I can do this with uBO.
I want to set the iframes not load by default and just put a placeholder which I can choose which one I want to load by clicking on it. I can do this with uBO.
I want to by default block 3rd-party resources (`script`, `iframe`, `images`, `xhr`...) and only whitelist which domains/URLs I trust locally/globally via simple clicking/tapping. I can do this with uBO.
I want to set the websites to `noscript` mode by default and only set the websites I want to run javascript by myself. I can do this with uBO.
The key here is "custom". It's about how free I am to block things ("things" on websites are not just elements to hide or network requests to block) on the websites for myself with the extension, not reporting and hoping the extension to approve and update for me; and not bother to write my own extensions or userscripts.
raw_anon_1111|4 months ago
In other words in your personal experience how is the Safari web extension capability lacking?
hu3|4 months ago
See this post with 400+ comments from 67 days ago: https://news.ycombinator.com/item?id=44795825
Top comment explains it all:
> People should be way more upset at the fact that Safari adblocking today is still inferior to even MV3 Google Chrome. Apple's implementation of declarativeNetRequest was semi-broken until the very latest iOS 18.6. Apple can do the bare minimum, years after everyone else, and barely get called out. The Reality Distortion Field is the enemy.
eipi10_hn|4 months ago
I want to interfere websites' javascripts to block the ads that are not addressed by the extensions without the need to write whole userscripts. For example, stopping/replacing an inline script, pruning the ads/annoyances out of the JSONs, replacing the arguments of a native function, setting the constants of global variables to any values I want, preventing `setTimeout`, `setInterval`, `eval`, removing event listeners on the elements I want, removing/replacing/setting the attributes' values of the elements I want... and the list goes on. I can do these with uBO.
I want to strip out/replace the fingerprinted JSON data in the request headers of the XHR/fetch requests. I can do this with uBO.
I want to block YouTube from delivering bs AI dub audio by default to me. I can do this with uBO.
I want to not let the websites go through the trackers before redirecting to the destination link if the destination link already appears in the URL. I can do this with uBO.
I want to strip out any tracking parameters of a URL that I want without the need to wait for the extension to approve and update for me. I can do this with uBO.
I want to block and redirect the resources to the neutralized resources built inside uBO, or redirect to any other domains/URLs that I want without the need to report and wait for the extension to approve and update for me. I can do this with uBO.
I want to set the iframes not load by default and just put a placeholder which I can choose which one I want to load by clicking on it. I can do this with uBO.
I want to by default block 3rd-party resources (`script`, `iframe`, `images`, `xhr`...) and only whitelist which domains/URLs I trust locally/globally via simple clicking/tapping. I can do this with uBO.
I want to set the websites to `noscript` mode by default and only set the websites I want to run javascript by myself. I can do this with uBO.
The key here is "custom". It's about how free I am to block things ("things" on websites are not just elements to hide or network requests to block) on the websites for myself with the extension, not reporting and hoping the extension to approve and update for me; and not bother to write my own extensions or userscripts.
unknown|4 months ago
[deleted]