Hacker News new | past | comments | ask | show | jobs | submit | InfiniteVortex's comments login

For 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


Yes! 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!


Safari 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 [1]: https://github.com/WebKit/WebKit/tree/04edf7716a74170fb0967f...


I agree with what you say, but I think many users care most about coverage. Its not like ublock is slow on a desktop.

It would be great if you did some benchmarking though!

Its also possible to extend WebKits rules, if you can prove minimal performance regression.


Wipr 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.


Author 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.


Thank you for this detailed and honest reply.


Author 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


That’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.


Well, 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.


Will it also show up as multiple extensions (like it does for AdGuard) if I want to use more than 1 type of blocking/lists? (I am aware that it is Apple's artificially forced limitation but thought I will still ask and whether you folks have found a way around it)


WebShield shows up as multiple extensions, 1 content blocker for each category, and 1 for advanced blocking (a webextension). This is because each content blocker, I believe IIRC, has a limit of 150k rules.


If your motivation is to make it free and open-source because there is no alternative that isn’t, but otherwise it doesn’t add any new capabilities that aren’t already available in other products, then that’s very helpful to know. The problem when seeing a submission and GitHub readme like this one is that it’s missing that information. One wonders whether there is any new interesting capability that may be worth giving this a shot, or what else the motivation might be for starting a new software for which a number of well-established alternatives already exist.


What do you use that blocks YouTube ads?


So in a way it's similar to Adguard pro?


Hey 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.


Are 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


I can't use anything below iOS 17 because I use SwiftData, probably some other newer APIs too. Sorry.


What an incredibly specific application!


I never knew him, but it’s incredibly saddening to see someone around my age take their own life, or at any age for that matter. He seemed like he was a bright soul who fought for what he believed was right. We need more people like that. They’re the ones who inspire others to enact change, even if we disagree with them. Rest easy, Suchir.


regardless of what you think of it, the drama is at least entertaining!


Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: