uBlock-issues
brave-core
Our great sponsors
uBlock-issues | brave-core | |
---|---|---|
454 | 174 | |
859 | 2,303 | |
0.9% | 1.7% | |
4.6 | 10.0 | |
14 days ago | 2 days ago | |
HTML | ||
- | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
uBlock-issues
-
:matches-path with pseudo-elements
There is an open issue for this: https://github.com/uBlockOrigin/uBlock-issues/issues/2786 uBO should report such filter as en error in Firefox, so that is the thing to fix.
-
Youtube ad block on pc (ublock origin)
This would be the price of one of the four CDNs (6000$ per month): https://github.com/uBlockOrigin/uBlock-issues/discussions/2958
-
Latest Dev build reset all settings and removed all custom filers lists
opened a bug report https://github.com/uBlockOrigin/uBlock-issues/issues/3003
- Disable "uBlock Origin has prevented the following page from loading:" page
-
📌 YouTube Anti-Adblock and Ads - November 12, 2023 (Mega Thread)
Current estimated cost for just ONE of uBO's CDNs: HERE. This is with other lists updating every few days. uBO's not a company, it's a volunteer project using free services, which have limits that we cannot cross.
-
How to block YT ads like a champ
The extension with the best success rate seems to be **uBlock Origin**. It is a community driven project with a team of volunteers, you can review the source code [here](https://github.com/gorhill/uBlock). You will need to update your filter lists regularly, this because Youtube changes detection methods daily. Here is how you do that:
-
Show HN: Bedframe – open-source Browser Extension Development framework
Definitely a much-needed area for development. However, having gone down the browser extension rabbit hole, I've largely shifted my focus to user scripts. Granted, there will always be a need for specialized browser extensions like ad blockers (uBlock[1]), keyboard shortcuts (Vimium-C[2]), and password managers (Bitwarden[3]).
That said, I find user scripts superior for most tasks, despite some lacking UI niceties. They are easier to share, use, and crucially, audit—be it in terms of scope, permissions, or code updates. Plus if Manifest V3 is any indicator, the future for browser extensions looks bleak. While I don't agree with this direction, it's probably for the best for the majority of users, like my mom.
Your effort is commendable; however, should you find yourself looking for a viable pivot in the future, I believe the user script space is primed for innovation and could offer a good alternative.
[1] https://github.com/gorhill/uBlock
-
Help me understand this code!
const defineProperty = function(chain, cValue, middleware = undefined) { let aborted = false; const mustAbort = function(v) { if ( aborted ) { return true; } aborted = (v !== undefined && v !== null) && (cValue !== undefined && cValue !== null) && (typeof v !== typeof cValue); return aborted; }; // https://github.com/uBlockOrigin/uBlock-issues/issues/156 // Support multiple trappers for the same property. // // trapProp is used to trap a single property within an object. const trapProp = function(owner, prop, configurable, handler) { if ( handler.init(owner[prop]) === false ) { return; } const odesc = Object.getOwnPropertyDescriptor(owner, prop); let prevGetter, prevSetter; if ( odesc instanceof Object ) { if ( odesc.configurable === false ) { return; } if ( odesc.get instanceof Function ) { prevGetter = odesc.get; } if ( odesc.set instanceof Function ) { prevSetter = odesc.set; } } Object.defineProperty(owner, prop, { configurable, //When a property is accessed (get), the custom getter function is called. get() { if ( prevGetter !== undefined ) { prevGetter(); } return handler.getter(); // cValue }, // When a property is modified (set), the custom setter function is called. set(a) { if ( prevSetter !== undefined ) { prevSetter(a); } handler.setter(a); } }); }; // trapChain is used to recursively trap properties along a chain of properties (e.g., object1.object2.property). const trapChain = function(owner, chain) { const pos = chain.indexOf('.'); if ( pos === -1 ) { trapProp(owner, chain, true, { v: undefined, init: function(v) { if ( mustAbort(v) ) { return false; } this.v = v; return true; }, getter: function() { return cValue; }, setter: function(a) { // Middleware is called when a property is set, allowing additional processing or validation of the new value. if (middleware instanceof Function) { cValue = a; middleware(a); } else { if ( mustAbort(a) === false ) { return; } cValue = a; } } }); return; } const prop = chain.slice(0, pos); const v = owner[prop]; chain = chain.slice(pos + 1); if ( v instanceof Object || typeof v === 'object' && v !== null ) { trapChain(v, chain); return; } trapProp(owner, prop, true, { v: undefined, init: function(v) { this.v = v; return true; }, getter: function() { return this.v; }, setter: function(a) { this.v = a; if ( a instanceof Object ) { trapChain(a, chain); } } }); }; trapChain(window, chain); }
- Firefox 115 can silently remotely disable my extension on any site
-
Why do my settings keep getting reverted?
Maybe https://github.com/uBlockOrigin/uBlock-issues/issues/2725 ?
brave-core
- GitHub pull request support for Brave Leo
-
Brave's AI assistant now integrates with PDFs and Google Drive
Unrelated but about Brave and interesting to me: I recently found myself having a large upstream project that I need to maintain some custom patches for, and there's a need for deeper customizations and I worry that my rudimentary system of applying .patch files will turn into an unmaintainable nightmare of merge conflicts after every rebase. I was thinking about possible solutions, and it occurred to me that Brave being Chromium-based must have this same challenge but an order of magnitude more difficult, so I looked for their code to see how they solved this issue.
It's pretty interesting! They do basically the same thing for core Chromium, applying a (big) set of patches[1].
Incidentally, I'd be interested to hear any ideas/approaches to this problem. I'm guessing if there was something clearly better, Brave would be doing it, but it seems like there should be a better way even if I can't think of one.
[1] https://github.com/brave/brave-core/tree/master/patches
-
Brave browser simplifies its fingerprinting protections
https://github.com/brave/brave-core/pull/13737
(Incidentally, that PR number is not quite elite. :)
-
Brave appears to install VPN Services without user consent
I disagree that it's lip service Brave has a ton of engine level privacy patches https://github.com/brave/brave-core/tree/master/patches
To my understanding you can't match it with just js extensions.
Only firefox on the highest security mode comes close I think?
Or ungoogled chromium? (brave has most of their patches IIRC)
Are there other options that have this number of patches?
- With the merge of this pull request, Brave Browser disables WebEnvironmentIntegrity
-
Brave cuts ties with Bing to offer its own image and video search results
Chromium is not 100% Google's forever and always, though they do currently lead the way, and with the most used/backed fork.
https://github.com/brave/brave-core/pull/19476
- With merge of this pull request, Brave Browser disables WebEnvironmentIntegrity
-
Brave is a fork, not a Chromium reskinn
They have much more changes than just compile flags. Here's the repo where they maintain their patch set: https://github.com/brave/brave-core/tree/master/patches
-
Brave Ads are back? Even when they're turned off?
Brave Private Ads toggle controls just Push Notification ads at this time. So, if you are still seeing Push Notification ads, that would be incorrect. However, it's normal to still see New Tab Page image ads, and/or other ad formats. We are introducing a new UI that helps you better toggle on/off specific ad units, and removing the "Brave Private Ads" toggle that can be confusing: https://github.com/brave/brave-core/pull/18938
-
brave browser Dark mode in settings not saving on newest LinuxMint
Yes, being fixed. Github at https://github.com/brave/brave-core/pull/18922
What are some alternatives?
SponsorBlock - Skip YouTube video sponsors (browser extension)
ungoogled-chromium - Google Chromium, sans integration with Google
ClearUrls
uBlock - uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.
ClearURLs-Addon - ClearURLs is an add-on based on the new WebExtensions technology and will automatically remove tracking elements from URLs to help protect your privacy.
Vanadium - Privacy and security enhanced releases of Chromium for GrapheneOS. Vanadium provides the WebView and standard user-facing browser on GrapheneOS. It depends on hardening in other GrapheneOS repositories and doesn't include patches not relevant to the build targets used on GrapheneOS.
iceraven-browser - Iceraven Browser
bypass-paywalls-chrome-clean-magnolia1234 - Bypass Paywalls Clean for Chrome (no Google Analytics, lot of updates/bug-fixes and custom sites)
brave-browser - Brave browser for Android, iOS, Linux, macOS, Windows.
Consent-O-Matic - Browser extension that automatically fills out cookie popups based on your preferences
fingerprintjs - Browser fingerprinting library. Accuracy of this version is 40-60%, accuracy of the commercial Fingerprint Identification is 99.5%. V4 of this library is BSL licensed.