10 ms·
WebShield – A new wide-spectrum content blocker for Safari
- voisin 2y agoSeems to feature a lot of AdGuard filter lists. Does this blocker differ materially from AdGuard?
- InfiniteVortex 2y agoAuthor here: No, not really. It uses AdGuard lists, SafariConverterLib by AdGuard for converting filter lists to Safari content blocking format. The only difference is that WebShield works on iOS, iPadOS, visionOS, and macOS as one app & codebase (AdGuard has separate apps for Safari on macOS & iOS), and its completely free & open source, albeit I accept donations, but nothing is behind a paywall, and will never be behind a paywall. I'd rather just stop developing than sell out to ad companies (acceptable ads) or put things behind a paywall.
- solardev 2y agoThank you for this detailed and honest reply.
- drpossum 2y agoHave you actually released this or passed Apple's review process? Soliciting external donations for higher level support gets into a grey area about Apple getting their cut from the apps it distributes. If you haven't registered as a non-profit you are also not doing yourself favors. I would be extremely upset if I donated and then you never made it to the store/got removed from the store because you didn't consider or do due diligence on this process.
- 9dev 2y agoThis shouldn’t really be an issue for EU users, right?
- drpossum 2y agoThat should change the calculus for payments, but they a) still need to affirm their model was deemed acceptable to Apple, if they're limiting their market to EU users they should b) say so up front, and c) limit access to the app and origin of donations by region because the problems I describe are material for everyone else.
- dleeftink 2y agoI understand this makes complete sense from an app ecology perspective, but if we were to make a similar bulletin for any other community built product..that list might sound a little overbearing.
- drpossum 2y agoI agree it's overbearing, but if that is the case they should consider choosing a different method to distribute their app for which they are trying to solicit my money that they don't find overbearing. Mixing money and third party app distribution platforms that want a cut is complicated and if this is a serious project it would have considered this.
- busymom0 2y agoI don't think soliciting external donations is against Apple's rules as long as those solicitations aren't happening within the app. Don't apps like Spotify give discounts for subscriptions bought outside the app?
- drpossum 2y agoBut it's no longer a donation (regardless if that word is used or not) when you offer things like material support of the app in exchange for the money. Then it is actually a support contract. If they are not registered a non-profit in the US, they it's just regular income and they have to pay taxes on it. Because they made a profit. My point is I don't believe this is a serious project worth giving money to until they can say they have resolved this with Apple.
- busymom0 2y agoI still don't think that is against the rules. As long as the app itself is not telling the users to go outside the app to donate/buy things, Apple can't do anything about it.
- drpossum 2y agoWhile that may be true Apple's opinion is the only one that matters and the author has not provided transparency about it. People are entitled to that transparency if they are soliciting money.
- busymom0 2y agoAuthor doesn't need to. They only need to if they put an external donation link in the app.
- deleted 2y ago[deleted]
- perdomon 2y agoI like projects like this since Safari is probably the biggest competitor to Chrome, but historically Apple hasn't been kind to these sorts of extensions. I hope they're able to find a way to make it work, because Safari is well-integrated into the iOS ecosystem.
- BoredPositron 2y agoWipr2 does a pretty good job.
- wobfan 2y agoWhile everything you're saying is correct, Safari is only the biggest competitor to Chrome because Apple is going out of their way to make it hard or even impossible in the case of iOS for developers to develop well-oiled browsers for their OSes. Just wanted to add that, because I'm pissed.
- gjsman-1000 2y agoNo; it’s because then, the internet would go from 80% Chromium, to 95% Chromium. Allowing alternative browser engines does not mean Firefox gets a footing. It means Chromium gets a footing even on iOS, and we start seeing Electron apps on iOS, with every app bundling their own Chromium renderer. If Apple were forced to allow 3rd party engines on iOS, they might as well shut down WebKit. All hail Blink, the universal engine.
- troupo 2y agoYeah, that's the downside. I'm all for Apple to open up their platform. But the browsers will be dead, and everything will be Chrome
- wobfan 2y agoI'd rather have an open platform with free choice (including the side effect of Chrome taking even more market share) instead of Apple forcing users to use their browser. I definitely dislike Chrome and you may unfortunately be right with your projection, but forcing people to use a different browser does not help the greater cause IMO.
- sylens 2y agoThe bar they need to clear right now seems to be Wipr2
- pbronez 2y agocan you compare/contrast to 1blocker?
- InfiniteVortex 2y agoWipr 2 is great! And so is the dev, with who I've talked to before. The difference between WebShield & Wipr 2 is WebShield allows you to specifically toggle on/off which lists you'd like, as well as add your own custom lists. Kaylee (Wipr dev) also has to maintain the lists herself (she sources a lot from other lists), so there is a bit of manual maintenance for her, because Wipr is meant to be an "install & forget" app for the most part. There are tradeoffs that come with this design, for example, all scriptlets (called injectables in Wipr), to my knowledge, are injected as as a content script, whereas WebShield is similar but we inject each scriptlet on demand, cache it (not sure if Wipr does caches too), ensure it doesn't re-inject on the same page (more testing needs to be done with this, and I'm not sure if Wipr 2 already checks for this). That's just off the top of my head. With that said, Wipr 2 is great and very reliable. If you enjoy using it and it fits all your needs, you tried WebShield and didn't feel the need to switch, continue using Wipr! I'm not trying to conquer the world.
- hknws2023saio 2y agoThe only thing that is holding me back from not making safari my primary browser is not having an extension like ublock origin. This seems really promising.
- Eric_WVGG 2y agoI thought Ghostery has been the gold standard for a pretty long time now…?
- workethics 2y agoI'm still surprised by how much inertia there is for Ghostery. People should have stopped using that extension nearly a decade ago after being sold to an advertising company. Or after they went closed-source. Or after they were caught selling user info about blocked ads back to the advertisers so they could figure out how to avoid being blocked. Or after they started showing their own advertisements to users.
- layer8 2y agoWhat are you missing specifically? I’ve been pretty happy with Ghostery and AdGuard Pro.
- nick_ 2y agoI've been using AdGuard Pro happily on all my devices for about ten years now. I'm wondering what adding Ghostery to the mix does on Safari?
- layer8 2y agoGhostery doesn’t just hide consent banners and blocks tracking cookies, it also automatically opts-out from tracking consent. https://www.ghostery.com/blog/never-consent-by-ghostery#never-consent-removing-cookie-pop-ups https://www.ghostery.com/blog/never-consent-by-ghostery#neve...
- 2y ago
- droopyEyelids 2y agoThis might be silly but it would be awesome if you added a category for blocking blue check accounts on twitter
- layer8 2y agoIt would be useful to describe what specifically this adds over existing Safari content blockers in that space.
- velcrovan 2y agoMaybe, unlike the existing ones, this one works
- rafram 2y agoAdGuard Pro isn't free, but it works well.
- themadturk 2y agoI've been pretty happy with 1Blocker across all my Apple devices, but I will probably give this one a try.
- InfiniteVortex 2y agoAuthor here (I'm not OP): It converts filter lists to Safari's content blocking API using SafariConverterLib (by AdGuard) and stores advanced blocking (scriptlets, extended css, css & js) in a json file. The WebExtension then reads the json file through native messaging and injects the scriptlets, extended css, css & js. This means that things like YouTube ads can be blocked too, whereas using just the content blocking api won't allow YouTube ads to be blocked
- layer8 2y agoThat’s a very technical description. The Safari extensions I use already do block YouTube ads. So it’s unclear what WebShield brings to the table in practical terms over existing extensions.
- InfiniteVortex 2y agoWell, WebShield is free & open source, those extensions may or may not. It's also a single app/codebase across macOS/iOS/iPadOS/visionOS. If you're happy with your current ad blocking setup for Safari, continue using it. I'm not trying to conquer the world.
- busymom0 2y agoCan someone explain what "wide-spectrum content blocker" means and how it differs from other ad blockers available for Safari?
- TingPing 2y agoTo set a baseline: Ad blockers work by a combination of static rulesets and dynamic javascript. Safari does not support the ruleset format of Chrome/Firefox, so a ruleset has to be maintained for it specifically. In practice this is always the AdGuard ruleset. I doubt a single adblocker doesn't use this as a base. Beyond that is the custom JS they inject. It's hard to say how good it is but that is the only selling point: - https://github.com/arjpar/WebShield/tree/cae7629f1c5fb79fe760043477447f9253d1e633/WebShieldAdvanced/Resources/src https://github.com/arjpar/WebShield/tree/cae7629f1c5fb79fe76... AdGuard has its own too: - https://github.com/AdguardTeam/AdGuardForSafari/tree/master/AdGuard/Extension https://github.com/AdguardTeam/AdGuardForSafari/tree/master/... (JS files) They look similar in a lot of ways, because well they have to, but I haven't done any deep analysis. Safari extensions will never match uBlock Origin because it simply does not provide the same APIs (webRequest blocking and DNS) that Firefox does. The ruleset format is also more limited.
- InfiniteVortex 2y agoSafari ad blocker extensions will never be as powerful as uBlock Origin in terms of the sheer number or types of content they can block, but they can be as performant or efficient, or even more so. To my knowledge, uBlock Origin uses its own custom networking engine through webRequest, WebShield uses Safari's content blocking API which is baked into WebKit. When loading a content blocker in Safari (& thus WebKit) rules are converted into DFA in WebKit [0]. Pretty sure this is the code in WebKit [1]. Yes, the content blocking API is more limited than full blown adblock filter list syntax, meaning its not as powerful, but it is more performant & efficient than uBlock Origin, within the subset of rules that it supports. To complement the content blocking API we use scriptlet/extended css/css/js injection in advanced blocking, similar to AdGuard. The AdGuard guys probably know way more about the specifics of how content blocking works in WebKit than I do though. But I do know that the content blocking API in WebKit & Safari is more performant/efficient than uBlock Origin, subject to limitations on powerfulness in terms of the types and number of content that can be blocked as mentioned before. I still feel like I need to performance test WebShield more to back my claims, so take it with a grain of salt, but based on what I've seen, it is comparable with or better than uBlock Origin in terms of performance/efficiency, not pure power, but again, please take it with a grain of salt, because I can't believe it. [0]: https://en.wikipedia.org/wiki/Deterministic_finite_automaton https://en.wikipedia.org/wiki/Deterministic_finite_automaton [1]: https://github.com/WebKit/WebKit/tree/04edf7716a74170fb0967ffe7df687ff6b654b93/Source/WebCore/contentextensions https://github.com/WebKit/WebKit/tree/04edf7716a74170fb0967f...
- ingohelpinger 2y agowondering how many users firefox has lost, myself for sure..
- mococa 2y agoI have been using Wipr2, 100/100 on my adblock testing.
- radicality 2y agoI’m using it too for now, but considering stopping. afaik the tool is not open source (even if it is, still happy to pay for the app), and to me feels a bit too magical and makes me uneasy. I have no idea what it’s downloading, what lists it’s fetching, what kind of content it’s blocking, what it’s blocking on a specific site, whether some site is broken because of it, or even if it’s working at all. I do like how in ublock (or brave), it shows some info like number of things blocked on current site. And then in ublock you can go arbitrarily deep into logs / custom blocking etc.
- InfiniteVortex 2y agoFor Wipr 2, on macOS you can see the rules here: `~/Library/Group Containers/group.wipr2.rules/Rules/` in the JSON files. Kaylee (Wipr dev) sources the blocker list data from these [0] sources. [0]: https://kaylees.site/wipr-acknowledgements.html https://kaylees.site/wipr-acknowledgements.html
- InfiniteVortex 2y agoHey everyone, author of WebShield here! I had no idea this was posted here. Feel free to ask any questions, I'll be more than happy to answer them here (including any that have been posted), if/when I get the time.
- jamesy0ung 2y agoAre you using anything new in iOS 17? It would be nice to be able to run it on my iPhone which is stuck on 16.2 because of TrollStore and Dopamine
- InfiniteVortex 2y agoI can't use anything below iOS 17 because I use SwiftData, probably some other newer APIs too. Sorry.
- bni 2y agoI have been using https://github.com/dgraham/Ka-Block https://github.com/dgraham/Ka-Block for years. It works great. Kind of strange it's never mentioned when ad blockers are discussed.
- twilo 2y agoIs this similar to wBlock?
- InfiniteVortex 2y agoYes! Me and 0xCube created WebShield & wBlock respectively in parallel in close collaboration with each other. They're pretty much sister projects. I do think since I create more free time for myself, WebShield has (some) more features - just off the top of my head: iOS/iPadOS/visionOS support. wBlock does currently have an auto updater for filter lists when you open the app though, which WebShield doesn't have, but I'm working on it!
- twilo 2y agoI've been using this here: https://github.com/0xCUB3/wBlock https://github.com/0xCUB3/wBlock
- zsolt224 2y agoIs it possible to disable autoplay next video on YouTube? And disable YouTube shorts? Thank you for developing open source extension.
- brylie 2y agoIn case it helps, at least on desktop browsers, there is a toggle switch to disable autoplay. I agree about shorts. I’ve repeatedly “removed” them by clicking “less like this” under the ellipsis next to the Shorts heading, but they keep coming back. I’ve also submitted UX feedback about this customer hostile (I pay for YouTube premium) pattern. It’s frustrating when features like this are force fed to you.