uBlock Origin Core
npmjs.com
npmjs.com
Big thank you to gorhill (and co.) for making the net useable!
Fishy things get painted red, hopefully good things get painted green - reload and try again, if it didn't work.
I sure hope, some maintainers pop up and keep this thing alive!
That's an enormous amount of work (for someone totally unfamiliar with the codebase that would have to learn) to undertake on the off chance that it would be accepted.
That's the day many of us will stop updating our browsers.
Enabling this in uBO really opened my eyes to how fuzzy the distinction between first-party and third-party is. Sites can have all types of business arrangements with different privacy implications, ranging from relatively harmless (hosting), to moderate (CDN), to invasive (ad tracking). uMatrix and other blockers have used the domain name as a proxy-variable to measure whether something should be trusted or not, but it is increasing becoming a poor metric. With CNAME uncloaking enabled, maintaining default deny, and allow only what is needed approach becomes quite a bit more work, as it ends up blocking a bunch of necessary content. But without you are allowing a fair bit of tracking you shouldn't.
After a few months of trying to use uBO like uMatrix, I found that using the curated deny-lists was a more tractable approach than maintaining my own allow-list, and thus don't miss the uMatrix interface as much as I expected.
[1] https://github.com/gorhill/uBlock/wiki/Dashboard:-Settings#u...
Yes, very much. I'd love to be able to contribute money somewhere to make this happen!
UBO seems to work ok as long as you don't need to tweak anything, but then falls apart. The uMatrix UI is so much superior, I can't ever imagine being able to live without it.
Mr. Gorhill, if you read this: Thank you. You've made browsing the web more enjoyable (/bearable) on a daily basis for me for many years.
But webpages can be 'nativefied' (wrapped in electron) by hand, where I assume this package may still to be of potential use.
https://github.com/gorhill/Javascript-Voronoi
Something he made 10 years ago, and is still super efficient. Some people are just good ;-)
When it says that they are no external dependencies in the first line of the README, that sounds like it's not very likely to change.
Note this: you can develop the core of something complex and widely used like uBlock Origin, without external dependencies, during your free time, for years.
(edit: to be fair, it embeds 2 libraries, Regex.Analyzer and publicsuffixlist)
Without having read anything here with uBlock, this could be the url matching and the calculation if a block is applicable. Then you build your hosting, UI, testing, database, etc.. as layers around it which consume the exposed interfaces of the internal domain model.
This produces highly portable modules. I have for example implemented a communication protocol against a stream interface. With this architecture we bound it later in 3 applications (Service, Cordova App, Windows App) to up to 3 different IO methods (USB, BT, TCP/IP) in even 3 programming languages (C++, .NET and JavaScript) doing communication with the same device. And 3-4 years ago, we even played with WebAssembly ... but that was not yet ready.
Could this run as an nginx JS module and filter traffic at the network level in my home as a local proxy?
I'm already running a Pi Hole, would this be overkill?
It’s a proxy that does just this.
https://github.com/Barre/privaxy#local-system-configuration
Personally, I use NextDNS which allows you to block categories, IPs, and use blocklists.
It's set up on the network level, and I have two separate NextDNS "networks" configured. One for the entire network, one for "privileged" users/devices.
Also, Android blocks user-installed CAs by default now, apps have to opt in to accept user-added ones. That makes it pretty useless. Not sure how iOS deals with this.
If you really want to get rid of ads on android, rooting enables you to patch system SSL routines to disable certificate pinning and more. IOS is an apple product.
Manifest v2 works and while there's a minority of user effected by scrupulous extensions the vast majority of the time it works fine.
If only we lived in an ideal world.
But we do not, and we need to work with what we have.
I do use Firefox for all my personal browsing, but on my work machine I am more or less required to use Chrome.
And it's not even a Manifest v2/v3 issue for me, but our corporate security policies include a whitelist of allowed extensions, and ad blockers are not on the list.
Don't get me started on how dumb that is from a security standpoint, given the crap that can sometimes come in via ad networks, but it is what it is.
Now, if you, personally, wanted to install it I believe there's a locally signed cert issued by Xcode that only your machine trusts, but as far as distributing uBO in the Mac App store, that's actual money (and who knows, maybe even disallowed by Apple's policies)