policy-templates
uBlock-issues
policy-templates | uBlock-issues | |
---|---|---|
120 | 454 | |
1,113 | 862 | |
0.7% | 0.1% | |
8.2 | 4.6 | |
8 days ago | 20 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.
policy-templates
- Is It Possible to Export a Policies.JSON File from a Golden Firefox Installation?
-
Firefox 115 can silently remotely disable my extension on any site
There is no such thing as a "known trusted extension" ever since they killed sideloading extensions and forced auto-updates. 10 years ago not force updating extensions was also a thing they moved behind a flag, and then just dropped.
Also - if you want to blacklist certain extensions from certain sites, you abso-freaking-lutely can already... see: https://github.com/mozilla/policy-templates/blob/master/READ...
you want the `restricted_domains` field.
It gets worse - Mozilla is the fucking worst at checking submitted extensions. They tried to the play into the whole "app store" thing that Google/Apple were doing, but those are justifiable cost centers at those two companies in a way that just doesn't work for a player like Mozilla.
Mozilla's store checks for extensions are fairly pathetic. You can submit a near empty shell with excessive permissions, get approved the first time, then auto-update to a new release (which will deploy to users immediately thanks to auto-updates). That new version has to pass a battery of useless automatic SAST checks, which will happily highlight all sorts of things it doesn't like (it flags words like "hello" because it contains a curse word) but which won't do shit to check if you're hoovering up credentials, browsing data, tracking users, etc.
If you're unlucky, at some point in the next 24 months you'll trigger a real review from Mozilla and get caught.
To be blunt - I have 15 years experience writing extensions. I don't like Google. If you think Mozilla is better you're wrong.
-
Can you prevent users from changing or disabling extensions / add-ons?
You can do that with policy templates. Use the Discussion tab at the top of the GitHub page if you need help setting them up.
-
How to preset an item from the settings "about:config" permanently?
Policy Templates for Firefox
-
We Must Fight for Firefox
They very well could do this for a a company that requires really strict privacy and security, but unfortunately in its current state Firefox doesn't have nearly the corporate sysadmin-friendly tooling that Chrome and especially Edge do.
When I was tasked with implementing CIS browser hardening policies at a previous job a few years ago, this was just a matter of enabling some Group Policy template settings for Chrome and Edge, but for Firefox this involved distributing a prefs.js file to all the workstations. In any corporate environment it's very likely going to be point and click Windows admins that are implementing browser standards, who tend to be allergic to anything resembling code and are already used to using GPOs for just about everything.
Yes, Firefox does have GPO templates but it's not nearly as rich as Chrome and Edge. Edge has even more GPO templates than does Chrome iirc, Chrome already had a lot to begin with and then Microsoft added even more of their own on top of that.
https://github.com/mozilla/policy-templates/blob/v4.11/READM...
https://learn.microsoft.com/en-us/deployedge/configure-micro...
That alone already puts Firefox at a huge disadvantage for corporate deployment, the other thing that makes it even less attractive, even to companies where privacy/security is a huge requirement (like my previous job) is that Edge is already bundled with the OS, and is one less thing that needs to be manually patched. In high security corporate environments, just keeping things patched is always a huge task so it's very hard to convince someone that they need to put in more work to keep an extra piece of software patched (which is already very difficult considering how frequently browsers are updated). To make things even worse, just about all vendors will only support Chromium-based browsers for whatever SaaS they sell you, so Firefox is a nonstarter for getting support, even if it will work just fine 99.9% of the time.
For all these reasons, I lost the battle to keep Firefox around, which is a huge shame because of how much I love it and wanted to fight the Chromium monoculture. So I guess for a corporation to support Firefox despite how corporate-friendliness the alternatives are, they'd have to reaaaally want to.
- Disable telemetry
-
Automating Pinning Extensions to the Toolbar
You can see the relevant JSON code in the changelog. As I said, you can post a comment on this page to remind Mike to update the documentation for policy templates.
- Firefox does not save logins after update to 112.0
-
Firefox app configuration on Android - MDM
This GitHub repository has a Discussions tab where you can ask questions about deploying Firefox: Policy Templates for Firefox.
-
Set startup default but allow user to change
Check out the official documentation here: Policy Templates for Firefox. You can use the Discussions tab if you have any questions.
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 ?
What are some alternatives?
firedragon-browser - A Floorp fork with custom branding ๐ (mirrored from GitLab)
SponsorBlock - Skip YouTube video sponsors (browser extension)
ungoogled-chromium - Google Chromium, sans integration with Google
brave-core - Core engine for the Brave browser for mobile and desktop. For issues https://github.com/brave/brave-browser/issues
settings
ClearUrls
ffprofile - A tool to create firefox profiles with personalized defaults.
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.
dnscrypt-proxy - dnscrypt-proxy 2 - A flexible DNS proxy, with support for encrypted DNS protocols.
uBlock - uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.
ExtPay - The JavaScript library for ExtensionPay.com โ payments for your browser extensions, no server needed.
bypass-paywalls-chrome-clean-magnolia1234 - Bypass Paywalls Clean for Chrome (no Google Analytics, lot of updates/bug-fixes and custom sites)