The Wayback Machine - https://web.archive.org/web/20200219083102/https://github.com/gorhill/uBlock/wiki/Advanced-settings
Skip to content

Advanced settings

gwarser edited this page Dec 5, 2019 · 94 revisions

Back to Wiki home


The "Advanced settings" page contains settings which are experimental, or which are of interest to advanced users who want more control over how uBO behaves internally.

These advanced settings can be easily accessed only when the setting "I am an advanced user" in the Settings pane in the dashboard is checked, but will persist and work even when the setting "I am an advanced user" is not checked:

Click on the cogs icon

The advanced settings available are described below. Be aware that those settings may change or be removed in the future, or more may be added.

If you want to reset a specific setting to its default value, just delete the value, uBO will fill the missing value with the default one.

If you want to reset all settings to their default values, delete everything then press "Apply changes".


allowGenericProceduralFilters

Default: false.

uBO 1.19.3b8 and above.

If set to true, generic procedural cosmetic filters will no longer be discarded as invalid.

Whenever this setting is toggled, the user is responsible of forcing a reload of all filter lists so as to allow uBO to process differently any existing generic procedural cosmetic filters.


assetFetchTimeout

Default: 30 seconds.

The number of seconds after which uBO throws an error when a remote server fails to respond to a request.


autoCommentFilterTemplate

Default value is {{date}} {{origin}}.

uBO 1.17.7b2 and above.

Placeholders are identified by {{...}}. There are currently only three placeholders supported:

  • {{date}}: will be replaced with current date
  • {{time}}: will be replaced with current time
  • {{origin}}: will be replaced with site information on which the filter(s) was created

If no placeholder is found in autoCommentFilterTemplate, this will disable auto-commenting. So one can use - or none to disable auto-commenting.


autoUpdateAssetFetchPeriod

Default: 120 seconds.

When the auto-updater kicks in and an asset in need of update is fetched, this is the number of seconds to wait before fetching the next asset which needs to be updated. The delay helps spread the load on CPU and memory as a result of loading/parsing/compiling the filter lists which have been updated.


autoUpdateDelayAfterLaunch

Default: 180 secs.

uBO 1.19.3b9 and above.

The number of seconds to wait after launch before an auto-update session[1] is started.

[1] "Update session" means that uBO will lookup and update assets deemed out of date, if any.


autoUpdatePeriod

Default: 7 hours.

The time to wait in hours between each update session. uBO will always start an update session a few minutes after launch when auto-update is enabled. Once that first update session is completed, uBO will wait autoUpdatePeriod hours before starting a new update session.


blockingProfiles

Default: 11111/#F00 11011/#C0F 11001/#00F 00001

Before 1.21.7b6: 11101 11001 00001

Introduced in 1.21.0, improved after 1.21.7b6 to reflect blocking mode in the color of uBlock₀ icon badge.

Preference allows to configure cascade of the "Relax blocking mode" keyboard shortcut, along with corresponding badge color.

Default value contains four codes separated by space representing four blocking modes:

Hard mode +
No scripting
Medium mode +
No scripting
Medium mode Default
11111/#F00 11011/#C0F 11001/#00F 00001
red badge purple badge blue badge black badge

Each code consist of bit field indicating status of the feature ( 1 for blocked/enabled, 0 for not blocked/disabled ) and optional separator / followed by CSS color value[1].

3p-frame 3p-script 3p no-scripting reload action separator CSS color value[1]

Pressing "Relax blocking mode" will compare current uBO status with blockingProfiles codes from left to right and apply if it's different, then reload page if "reload action" is enabled, then apply color to the uBO icon badge.

[1]: The color CSS data type


cacheControlForFirefox1376932

Default: no-cache, no-store, must-revalidate.

uBO 1.17.0 and above.

Configure how uBO should affect caching for the purpose of dealing with browser bug (see #229).

Possible values:

  • no-cache, no-store, must-revalidate:

    • Undesirable side effect: documents themselves for which uBO has to inject CSP directives as a result of filters/ruleset won't be available offline.
  • no-cache:

    • Undesirable side effect: One will need to explicitly cache-bypass reload a page each time uBO has to inject CSP directives as a result of filters/ruleset. Note that such cache-bypass reload does not affect only the document itself, but also all secondary resources inside that document.
  • unset:

    • Available after 1.21.7b7, turns off this path.

Related browser issues:


cacheStorageAPI

Default: unset.

After 1.18.5b4 works in Firefox.

If set to browser.storage.local, uBO will use WebExtensions storage as a backend to cache storage.

Additionally, should indexedDB not be available for whatever reason, uBO will automatically fallback to browser.storage.local.

uBO 1.18.2 and above, Chromium only.

If set to indexedDB, uBO will use IndexedDB as a backend to the cache storage, potentially increasing performance and reducing memory usage. See #328 for details. Bad side effects - filter lists will be out of date in Chrome incognito mode - #399.

If unset, uBO will use whatever backend storage which is optimal for the current platform.


cacheStorageCompression

Default: true.

uBO 1.16.21 and above.

If set to true, uBO will lz4-compress data before storing it in its cache storage. The cache storage is used for storing downloaded filter lists, compiled filter lists, selfies. This setting work when IndexedDB is used as the cache storage backend (by default with Firefox/Firefox for Android). See #141 for related discussion.


cnameIgnore1stParty

Default: true.

Introduced in 1.24.1b0 development versions.


cnameIgnoreExceptions

Default: true.

Introduced in 1.24.3b2 development versions.


cnameIgnoreList

Default: unset.

Introduced in 1.24.1b0 development versions.

cnameIgnoreRootDocument

Default: true.

Introduced in 1.24.3b1 development versions.


cnameMaxTTL

Default: 60 minutes.

Introduced in 1.24.1b0 development versions.


cnameReplayFullURL

Default: false.

Introduced in 1.24.3b1 development versions.


cnameUncloak

Default: true.

Introduced in 1.24.3b2 development versions.


consoleLogLevel

Default: unset.

uBO 1.18.5b1 and above

For development purposes only.

If set to info, prints debug messages to the browser console.


debugScriptlets

debugScriptletInjector

Default: false.

If set to true, debugger; statement will be inserted just before scriptlet or scriptlet injector code.


disableWebAssembly

Default: false.

uBO 1.17.3rc4 and above.

For development purposes only.

If set to true, turns off WebAssembly optimizations in uBO code.


extensionUpdateForceReload

Default: false.

uBO 1.23.3b3 and above.

If set to true, restores update behavior from before 1.22.3b ("Prevent uBO from being reloaded mid-session "), extension will unconditionally reload when an update is available; otherwise the extension will reload only when being explicitly disabled then enabled, or when the browser is restarted.


filterAuthorMode

Under development!! Do not create related issues!

Default: false.

uBO 1.23.0 and above.

Enabled point-and-click feature, to create temporary exception filters for static extended filters (i.e. cosmetic, scriptlet & html filters) from within the summary pane in the logger. The button to toggle on/off temporary exception filter is labeled #@#:

filtering tools dialog

The created exceptions are temporary and will be lost when restarting uBO, or manually toggling off the exception filters.


ignoreRedirectFilters

Default: false.

If set to true, uBO will no longer attempt to redirect blocked network requests to a local, neutered version of a resource. The main purpose of redirect filters is to minimize web page breakage as a result of blocking resources.


ignoreScriptInjectFilters

Default: false.

If set to true, uBO will no longer lookup and inject scriptlets into web pages. The main purpose of the scriptlets is to defuse anti-blocker mechanisms present on some sites.


loggerPopupType

Default: popup.

uBO 1.22.1b3 and above.

Control the type of window to be used when the logger is launched as a separate window. Introduced to solve issues with missing/disabled titlebar buttons, resizing, incorrect drawing (#663).

Possible values:

  • popup - browser window without toolbars (default)
  • normal - normal browser window with all toolbars and buttons
  • any other value defined in Chromium or Firefox documentation.

manualUpdateAssetFetchPeriod

Default: 500 milliseconds.

When clicking the "Update now" button in the "3rd-party filters" pane in the dashboard, this is the number of milliseconds to wait before fetching the next asset which needs to be updated. The delay helps spread the load incurred as a result of loading/processing new filter lists, and its purpose is also to be considerate to remote servers by not subjecting them to rapid-fire requests.


popupFontSize

Default: unset.

A valid CSS font size value (14px) to use for the popup panel. Use if you are unhappy with the default size.


requestJournalProcessPeriod

Default: 1000 milliseconds.

uBO 1.16.21b2 and above.

Controls the delay before uBO internally process it's network request journal queue. The network request journal queue exists for the purpose of fixing issue 2053.

As a benign side effect to the fix, there is a delay in displaying the number of blocked requests on extension icon (see #155).

A lower delay than the default one could bring back the issue it's meant to fix.


selfieAfter

Default: 3 minutes.

uBO 1.18.5b1 and above. Used to be 11 minutes until 1.19.7rc1.

Number of minutes after which selfie (optimized, internal representation of filters) is created.


strictBlockingBypassDuration

Default: 120 seconds.

uBO 1.17.3b4 and above.

Controls duration of the Strict blocking "Temporarily" bypass.


suspendTabsUntilReady (experimental)

Default: unset, before 1.18.5b8: false.

Possible values:

  • unset - leave it to the platform to pick the optimal behavior (default)
  • no - do no suspend tab loading at launch time
  • yes - suspend tab loading at launch time

After 1.18.5b8 configurable again in Firefox (can be disabled). After uBO 1.17.5rc0 - Chromium only. In Firefox this feature is always active thanks to "persistent startup listeners".

If enabled, uBO will hard block all network requests when the browser launches until all the filter lists and rules are loaded and ready, at which time uBO will force a reload of the tabs for which there were network requests blocked during the setup phase.

Disclaimer: especially in Chromium based browsers, even with this setting enabled, it's impossible for uBO to guarantee with 100% certainty that everything will be properly blocked when the browser is launched. This is a by-design browser issue -- do not open an issue on uBO issue tracker about this.

Related browser issues:


updateAssetBypassBrowserCache

Default: false

With v1.21.7b1 and above.

If set to true, uBO will ensure the browser cache is bypassed when fetching a remote resource.


userResourcesLocation

Default: unset.

One or more space-separated URLs which content will be parsed as token-identified resources to be used for redirect or scriptlet-injection (+js(...)) purpose.

uBO expects valid content such as can be seen in resources.txt, anything else will lead to undefined results.

Any duplicate as per token will result in the previous resource being replaced by the latter one. The resource files are loaded in order of URL appearance, and uBO stock resource file is always loaded first.

Additional resources will be updated at the same time the built-in resource file is updated. Purging the cache of 'uBlock filters' will also purge the cache of the built-in resource file -- and hence force a reload of user-specified resources if any.

The setting was introduced in 1.12.0. Support for multiple URLs was introduced in 1.19.0.

Clone this wiki locally
You can’t perform that action at this time.