Cloud storage

Raymond Hill edited this page Jul 8, 2018 · 37 revisions
Clone this wiki locally

Support for cloud storage started with uBlock Origin 1.1.0.0.

Cloud storage in uBlock Origin is supported through your browser's sync feature, as in Firefox Sync, or Chrome browser's Google account, i.e. through your browser's ability to synchronize extensions settings across multiple devices.

If your browser/environment does not support cloud storage, the feature will be disabled.

Using your browser's built-in sync ability means uBlock Origin does not need a remote server of its own, your browser's specific solution for syncing data will be used, assuming you enabled such feature in your browser.

In uBlock Origin, cloud storage support must be explicitly enabled by the user, from the Settings pane in the dashboard: check the "Enable cloud storage support" checkbox.

Once you enable cloud storage support, a new UI widget will be available in the dashboard for panes which support the export/import of settings to/from cloud storage:

screenshot


Important: Even if cloud storage support is enabled, it will work if and only if you actually enable sync support in your browser -- as uBlock itself does not connect to any remote server, your browser does this through its own sync feature, if you enabled such feature.


Your uBlock Origin settings are precious, and in order to prevent any automated browser's syncing task to cause precious local data (or cloud data) to be mistakenly overwritten, the chosen solution in uBlock Origin is to never ever export to/import from cloud storage without the user expressly asking uBlock Origin to do so.

So essentially, the sync feature in uBlock is implemented as a global clipboard (through cloud storage) to where settings are copied to/pasted from, and only you decide when to export/import.

The granularity of uBlock settings regarding cloud storage support is straightforward: one dashboard pane = one dedicated cloud storage entry. This way it is possible for a user to use cloud storage for specific panes, and not for others. Given that cloud storage is limited by browser vendors, one can choose to not persist one specific pane to the cloud.

The import/export of cloud storage data in a pane works strictly at the UI level, i.e. when you import cloud storage data, it will fill in the pane's UI as if you entered the data yourself: depending on the pane, you will still have to validate/commit the imported data.

If ever an export operation causes the cloud storage capacity limit to be reached, typically the cloud storage providers will refuse the operation, and the data on the cloud storage will be left unchanged. This is what I have observed with Chromium-based browsers.

If you do not have a syncing account with your browser vendor, I have observed that the cloud storage feature can still be used as a local clipboard to save a pane settings. Might be convenient sometimes, but please do not use cloud storage as a replacement for uBlock Origin's backup feature. It is recommended you back up your settings regularly, this is especially true for those who have extensive custom static filters, custom rules, whitelist directives.


Important: Some browsers offer the ability to use a passphrase for their sync feature, in order to enable end-to-end encryption of the data stored for sync purpose (example). It is strongly suggested to make use of such passphrase.


Caveats

Cloud storage services offered by specific browser vendors have their own limitations and quirks -- and this is out of control of uBlock.

Chromium-based browsers
  • Various size limits: for example, on Chrome storage space limit is 102,400 bytes.
  • Various limits on the number of operations per unit of time.
  • See chrome.storage API for more technical details.
Firefox browsers
  • Note that Firefox Sync is not triggered when you export uBlock settings, it seems to be executed regularly however if you want to force the cloud export you've to launch Firefox Sync manually.
    Sync button
  • I have observed that too large amount of per-pane data will cause a warning in the browser console (> 8K).
  • A new installation of uBlock Origin will cause cloud storage data to be blanked.
  • There is not much doc about this for Firefox, so there might be undocumented limitations yet to be found.
  • It appears Firefox for Android can't sync extensions settings (correct me if I am wrong).
  • Other Firefox-related platform:
    • I have no clue whether this new feature will work for other brands of Firefox-based browsers.