-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Deploying uBlock Origin
I do not know much about that administrator stuff, so I will let a knowledgeable person guide you:
- Managing Google Chrome with adblocking and security by SwiftOnSecurity
- Deploying uBlock Origin for Firefox with CCK2 and Group Policy by SwiftOnSecurity
Administrators can force specific configurations to deployed uBlock Origin ("uBO"). At launch time, uBO will look for a setting named adminSettings
, and if it exists, it will parse, extract and overwrite a user's settings with the administrator-assigned ones.
For Firefox, refer to Mozilla documentation about "Native manifests" (sections about "Managed storage manifests" and its location). You can also consult this specific comment in uBO issue tracker.
For Firefox-legacy, the adminSettings
entry must be added to about:config
, the key name is extensions.ublock0.adminSettings
, and the value is a plain string -- which must be JSON-parseable.
For Chrome, adminSettings
must be an entry part of the policy for the extension. See http://www.chromium.org/administrators/configuring-policy-for-extensions.
This is still a work in progress, there are limitations. For example, it is not possible to merge an admin's settings with the user's ones -- a setting can only be overwritten. Hopefully I will address this limitation eventually, as time permit. (See https://github.com/gorhill/uBlock/issues/832#issuecomment-248138558).
The content of adminSettings
is pretty straightforward: configure uBO as you wish for your users, then create a backup using the "Backup to file" in the Settings pane. Now open this backup file using a text editor, and remove all entries you do not want to overwrite, while taking care to end up with a valid JSON file (mind trailing commas, etc.). All the entries left are the ones which will be overwritten on the user's side.
An example, I created a backup file after having customized uBO, and removed everything except for the "Color-blind friendly" setting, to force that setting to be set on the user's side. Resulting text file:
{
"userSettings": {
"colorBlindFriendly": true
}
}
Now, the value for adminSettings
must itself be a plain string, and this means we need to encode the above text into a string, using JSON.stringify
. Here is a small utility to help you deal with this step: http://raymondhill.net/ublock/adminSetting.html.
Here are issues related to the customization of settings for deployed uBO, there might be advises in there which you may find useful:
uBlock Origin - An efficient blocker for Chromium and Firefox. Fast and lean.
- Wiki home
- About the Wiki documentation
- Permissions
- Privacy policy
- Info:
- The toolbar icon
- The popup user interface
- The context menu
-
Dashboard
- Settings pane
- Filter lists pane
- My filters pane
- My rules pane
- Trusted sites pane
- Keyboard shortcuts
- The logger
- Element picker
- Element zapper
-
Blocking mode
- Very easy mode
- Easy mode (default)
- Medium mode (optimal for advanced users)
- Hard mode
- Nightmare mode
- Strict blocking
- Few words about re-design of uBO's user interface
- Reference answers to various topics seen in the wild
- Overview of uBlock's network filtering engine
- uBlock's blocking and protection effectiveness:
- uBlock's resource usage and efficiency:
- Memory footprint: what happens inside uBlock after installation
- uBlock vs. ABP: efficiency compared
- Counterpoint: Who cares about efficiency, I have 8 GB RAM and|or a quad core CPU
- Debunking "uBlock Origin is less efficient than Adguard" claims
- Myth: uBlock consumes over 80MB
- Myth: uBlock is just slightly less resource intensive than Adblock Plus
- Myth: uBlock consumes several or several dozen GB of RAM
- Various videos showing side by side comparison of the load speed of complex sites
- Own memory usage: benchmarks over time
- Contributed memory usage: benchmarks over time
- Can uBO crash a browser?
- Tools, tests
- Deploying uBlock Origin
- Proposal for integration/unit testing
- uBlock Origin Core (Node.js):
- Troubleshooting:
- Good external guides:
- Scientific papers