uBlock/src
Raymond Hill 3a564c1992
Add ability to uncloak CNAME records
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/780

New webext permission added: `dns`, which purpose is
to allow an extension to fetch the DNS record of
specific hostnames, reference documentation:

https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/dns

The webext API `dns` is available in Firefox 60+ only.

The new API will enable uBO to "uncloak" the actual
hostname used in network requests. The ability is
currently disabled by default for now -- this is only
a first commit related to the above issue to allow
advanced users to immediately use the new ability.

Four advanced settings have been created to control the
uncloaking of actual hostnames:

cnameAliasList: a space-separated list of hostnames.
Default value: unset => empty list.
Special value: * => all hostnames.
A space-separated list of hostnames => this tells uBO
to "uncloak" the  hostnames in the list will.

cnameIgnoreList: a space-separated list of hostnames.
Default value: unset => empty list.
Special value: * => all hostnames.
A space-separated list of hostnames => this tells uBO
to NOT re-run the network request through uBO's
filtering engine with the CNAME hostname. This is
useful to exclude commonly used actual hostnames
from being re-run through uBO's filtering engine, so
as to avoid pointless overhead.

cnameIgnore1stParty: boolean.
Default value: true.
Whether uBO should ignore to re-run a network request
through the filtering engine when the CNAME hostname
is 1st-party to the alias hostname.

cnameMaxTTL: number of minutes.
Default value: 120.
This tells uBO to clear its CNAME cache after the
specified time. For efficiency purpose, uBO will
cache alias=>CNAME associations for reuse so as
to reduce calls to `browser.dns.resolve`. All the
associations will be cleared after the specified time
to ensure the map does not grow too large and too
ensure uBO uses up to date CNAME information.
2019-11-19 12:05:33 -05:00
..
_locales Import translation work from https://crowdin.com/project/ublock 2019-11-18 11:29:54 -05:00
css Add ability to uncloak CNAME records 2019-11-19 12:05:33 -05:00
img Integrate bare-bone filter hit stats in the logger 2019-05-24 11:18:39 -04:00
js Add ability to uncloak CNAME records 2019-11-19 12:05:33 -05:00
lib Fix page count computation in publicSuffixList.enableWASM() 2019-04-25 19:40:07 -04:00
web_accessible_resources Detect/prevent the creation of already existing iframe tags 2019-11-19 08:49:38 -05:00
1p-filters.html Add a link to the remote asset in asset viewer 2019-05-23 19:29:59 -04:00
3p-filters.html Simplify client messaging code 2019-09-19 08:31:38 -04:00
about.html Select existing "Advanced settings" page if any 2019-05-25 08:31:06 -04:00
advanced-settings.html make use of CodeMirror in "Advanced settings" page 2018-08-13 10:21:42 -04:00
asset-viewer.html Add a link to the remote asset in asset viewer 2019-05-23 19:29:59 -04:00
background.html Work toward modernizing code base: promisification 2019-09-16 09:45:17 -04:00
cloud-ui.html fix https://github.com/uBlockOrigin/uBlock-issues/issues/171 2018-08-31 10:50:19 -04:00
dashboard.html Warn when navigating away from pane with unsaved changes 2019-05-19 15:35:00 -04:00
document-blocked.html Further fine tune layout for small screen devices; use SVG for icon 2018-12-21 08:16:24 -05:00
dyna-rules.html Use `type="search"` for search input fields 2019-11-03 13:14:29 -05:00
epicker.html Allow element picker dialog to be moved around 2019-11-05 12:03:48 -05:00
logger-ui.html Add ability to uncloak CNAME records 2019-11-19 12:05:33 -05:00
popup.html Grand refactoring of the logger 2019-01-12 16:36:20 -05:00
settings.html Grand refactoring of the logger 2019-01-12 16:36:20 -05:00
shortcuts.html fix https://github.com/uBlockOrigin/uBlock-issues/issues/106 2018-07-18 18:00:55 -04:00
whitelist.html Add a link to the remote asset in asset viewer 2019-05-23 19:29:59 -04:00