Table of Contents
- contributorMode
- disableCSPReportInjection
- enforceEscapedFragment
- framePlaceholder
- framePlaceholderBackground
- framePlaceholderDocument
- imagePlaceholder
- imagePlaceholderBackground
- imagePlaceholderBorder
- placeholderBackground
- placeholderBorder
- assetFetchBypassBrowserCache
- assetFetchTimeout
- autoUpdateAssetFetchPeriod
- cacheStorageAPI
- cacheStorageCompression
- cnameIgnore1stParty
- cnameIgnoreExceptions
- cnameIgnoreList
- cnameIgnoreRootDocument
- cnameMaxTTL
- cnameReplayFullURL
- consoleLogLevel
- disableWebAssembly
- loggerPopupType
- manualUpdateAssetFetchPeriod
- suspendTabsUntilReady
These settings are for users who want to further customize the behavior or appearance of nuMatrix.
Keep in mind that any of these raw settings may be removed in the future, more may be added, or existing ones may become mainstream settings with a dedicated UI. Some of these raw settings may exist for experimental purpose only.
To restore any one setting to its original built-in value, just remove the whole setting.
contributorMode
[TODO]
disableCSPReportInjection
- Type: boolean
false(default): do inject aContent-Security-Policy-Report-Onlyheader in response headers, as needed.true: never inject aContent-Security-Policy-Report-Onlyheader in response headers.- Disabling the injection of
Content-Security-Policy-Report-Onlywill render nuMatrix unable to report to you whether web workers are used by a web page when these are not to be blocked.
- Disabling the injection of
The Content-Security-Policy-Report-Only is currently injected by nuMatrix to detect the use of web workers on a site, when web workers are not forbidden.
The main purpose of this setting is to serve as a workaround for issue #912. This setting may go away whenever the root issue is resolved in Chromium.
enforceEscapedFragment
- Type: boolean (default to
true)
Whether nuMatrix should replace an instance of #! to ?_escaped_fragment_= in a document URL when first-party scripts are blocked.
See issue #940 for details.
framePlaceholder
- Type: boolean
true(default): replace non-collapsed blocked frame with a placeholder.false: do not replace non-collapsed blocked frame with a placeholder.
framePlaceholderBackground
- Type: string
default(default): use the background value fromplaceholderBackground.- Otherwise a valid CSS
backgroundproperty value to be used as is.
framePlaceholderDocument
- Type: string
- An HTML document source with no newline character.
imagePlaceholder
- Type: boolean
true(default): replace non-collapsed blocked image with a placeholder.false: do not replace non-collapsed blocked image with a placeholder.
Use false to prevent the use of placeholder for blocked images and thus eliminate the ability of image placeholder styling information to be used as fingerprint information.
imagePlaceholderBackground
- Type: string
default(default): use the background value fromplaceholderBackground.- Otherwise a valid CSS
backgroundproperty value to be used as is.
Note that using a custom value for image placeholder can make you fingerprintable.
imagePlaceholderBorder
- Type: string
default(default): : use the border value fromplaceholderBorder.- Otherwise a valid CSS
borderproperty value to be used as is.
Note that using a custom value for image placeholder can make you fingerprintable.
placeholderBackground
- Type: string
- Default value is an internal CSS background value.
- Otherwise a valid CSS background property to be used as placeholder background.
Override this value if you want to customize the background value for all placeholders.
Note that using a custom value for image placeholder can make you fingerprintable.
placeholderBorder
- Type: string
- Default value is an internal CSS border value.
- Otherwise a valid CSS border property to be used as placeholder background.
Override this value if you want to customize the border value for all placeholders.
Note that using a custom value for image placeholder can make you fingerprintable.
assetFetchBypassBrowserCache
- Type: boolean
false(default): do not bypass the browser cache when fetching assets.true: bypass the browser cache when manually fetching a remote asset (only applies when the asset was fetched within the last hour).
Useful for filter list maintainers who want to test the latest version of their lists when fetched from a remote location.
assetFetchTimeout
- Type: number
- Default:
30seconds.
The number of seconds after which nuMatrix throws an error when a remote server fails to respond to an asset fetch request.
autoUpdateAssetFetchPeriod
- Type: number
- Default:
120seconds.
When the auto-updater fetches assets that need updating, this is the number of seconds to wait before fetching the next one. The delay helps spread the load on CPU and memory from loading and parsing updated filter lists.
cacheStorageAPI
- Type: string
- Default:
unset.
Possible values:
unset: nuMatrix uses whatever backend storage is optimal for the current platform.indexedDB: use IndexedDB as a backend to the cache storage.browser.storage.local: use WebExtensions storage as a backend to cache storage. nuMatrix will also fall back to this automatically ifindexedDBis unavailable.
cacheStorageCompression
- Type: boolean
true(default): lz4-compress data before storing it in cache storage.false: store data uncompressed.
Applies to downloaded filter lists, compiled filter lists, and selfies. Works when IndexedDB is used as the cache storage backend (the default in Firefox).
cnameIgnore1stParty
Firefox only.
- Type: boolean
true(default): do not re-run a network request through the filtering engine when the uncloaked CNAME hostname is 1st-party to the alias hostname.false: always re-run through the filtering engine after CNAME uncloaking.
cnameIgnoreExceptions
Firefox only.
- Type: boolean
true(default): bypass CNAME uncloaking for network requests that were already excepted by filters or rules.false: re-run even excepted requests through CNAME uncloaking.
This is necessary to avoid undue breakage. For example, google-analytics.com uncloaks to a hostname on google.com. Exception filters for google-analytics.com (added to fix site breakage) would be rendered useless if uncloaking then caused the request to match a block rule for the CNAME target.
cnameIgnoreList
Firefox only.
- Type: string
- Default:
unset.
Possible values:
unset: no hostnames are excluded from CNAME uncloaking.- Space-separated list of hostnames: do not re-run these through the filtering engine after CNAME uncloaking.
*: exclude all hostnames (effectively disables CNAME uncloaking).
Useful to exclude commonly used hostnames from CNAME re-evaluation to avoid pointless overhead.
cnameIgnoreRootDocument
Firefox only.
- Type: boolean
true(default): skip CNAME lookup for root documents.false: perform CNAME lookup for root documents.
cnameMaxTTL
Firefox only.
- Type: number
- Default:
60minutes.
The number of minutes after which nuMatrix clears its CNAME cache. nuMatrix caches alias→CNAME associations to reduce calls to browser.dns.resolve. The cache is flushed after this interval to prevent unbounded growth and to keep CNAME information fresh.
cnameReplayFullURL
Firefox only.
- Type: boolean
false(default): after CNAME uncloaking, replay only the origin part of the URL through the filtering engine.true: replay the full URL.
Replaying only the origin reduces breakage and improves performance by avoiding redundant pattern matching already performed for the original request.
consoleLogLevel
- Type: string
- Default:
unset.
For development purposes. If set to info, nuMatrix prints debug messages to the browser console.
disableWebAssembly
- Type: boolean
false(default): use WebAssembly optimizations where available.true: disable WebAssembly. For development and debugging purposes only.
loggerPopupType
- Type: string
- Default:
popup.
Controls the type of window used when the logger is opened as a separate window. Introduced to solve issues with missing or disabled titlebar buttons, resizing, and incorrect drawing.
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
- Type: number
- Default:
500milliseconds.
When clicking "Update now" in the "Hosts files" pane of the dashboard, this is the number of milliseconds to wait before fetching the next asset. The delay spreads the load incurred from loading and processing new filter lists and avoids rapid-fire requests to remote servers.
suspendTabsUntilReady
- Type: string
- Default:
unset.
Possible values:
unset: leave it to the platform to pick the optimal behavior (suspend network requests in Firefox; reload active tabs in Chromium).no: do not suspend tab loading at launch.yes: suspend tab loading at launch.
When enabled, nuMatrix will attempt to suspend (Firefox) or block (Chromium) all network requests when the browser launches, until all filter lists and rules are fully loaded. In Chromium-based browsers, any active tabs for which requests were blocked during the setup phase will be reloaded once nuMatrix is ready.
Disclaimer: In Chromium-based browsers, even with this setting enabled, nuMatrix cannot guarantee with 100% certainty that all requests will be properly blocked at browser launch. This is a by-design browser limitation.
nuMatrix wiki
Getting started
Matrix and rules
- Rules syntax
- Domain and global rules
- Per-scope switches
- Individual URL rules
- Ruleset recipes
- Useful rulesets
Privacy and blocking
Tools and advanced
Project