Skip to content
This repository has been archived by the owner on Sep 9, 2022. It is now read-only.

Behind the scene network requests

Gitoffthelawn edited this page Jun 17, 2015 · 32 revisions

The filtering of behind-the-scene network request is available in Advanced Mode. The ability to inspect behind-the-scene network requests is available in both Advanced Mode and regular mode. You do not need to enable Advanced Mode to see behind-the-scene network requests in the network request logger.

What are behind-the-scene network requests?

Behind-the-scene network requests are network requests which uBlock cannot associate with a specific tab in your browser: these requests come from somewhere, but uBlock is missing information to report exactly from where.

All network requests without a specific origin are classified as behind-the-scene. Typically, all filtering extensions will ignore and automatically whitelist behind-the-scene network requests.

For the Chromium browser, examples of behind-the-scene network requests include requests:

  • made by the browser to update extensions
  • made by the browser because of specific functionality, like the setting "Use a prediction service to help complete searches and URLs typed in the address bar"
  • made by web pages using navigator.sendBeacon(), hyperlink auditing, et al.
  • made by installed extensions for not-so-good or good reasons (uBlock makes behind-the-scene requests to fetch the filter lists when they need to be updated)

How to inspect behind-the-scene network requests

Starting with uBlock version 0.8.6.0, you can inspect behind-the-scene network requests using the network request logger. Simply select the "Behind the scene" entry in the drop down list.

c
Various extensions installed to show that that these too make behind-the-scene requests

Typically, you will leave the network request logger open for a long duration to catch any and all behind-the-scene network requests. Remember that these requests are only those made within the browser, and are not system-wide.

How to filter behind-the-scene network requests

Important: The blocking of behind-the-scene network requests can cripple important functionality of your browser or installed extensions. If you decide to block some behind-the-scene network requests, you are entirely responsible for the consequences.

The ability to filter behind-the-scene network requests is only available when Advanced Mode is enabled in the uBlock options.

The behind-the-scene virtual tab is whitelisted by default. No filtering will occur in this tab even after you enable Advanced Mode.

To access the filtering settings for behind-the-scene network requests, simply open the popup UI in the network request logger while the "Behind the scene" entry is selected:

Behind-the-scene popup
The popup UI will be filled with the settings/data of whatever tab is being currently inspected in the request logger.

The image above shows what happens when you navigate through Github: Github makes use of navigator.sendBeacon() to send data to Google Analytics, which results in the firing of behind-the-scene requests in the Chromium browser.

Important: Filter behind-the-scene requests at your own risk.

Remember that if you block indiscriminately, you could cripple the ability of your browser to update parts of itself or update extensions as well as the ability of extensions to work properly. This is why this is an Advanced Mode feature.

To turn off the filtering of behind-the-scene requests, whitelist the "Behind the scene" scope or turn off Advanced Mode.

To whitelist the behind-the-scene scope, add behind-the-scene as a whitelist directive in the Whitelist tab of the uBlock dashboard.

If there are only very specific behind-the-scene network requests you would like to filter, a good approach to minimize potential problems is to use dynamic filtering: set a local rule for the all cell to allow (green) (i.e. behind-the-scene * * allow). This will ensure nothing is blocked in the behind-the-scene scope, just as if uBlock was disabled for that scope. Next, create block rules for the specific hostnames for which you want to block all network requests, or noop if you want to subject those hostnames to static filtering only.

Clone this wiki locally