2015-05-09 00:28:01 +02:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
2019-01-13 14:34:17 +01:00
|
|
|
<meta name="viewport" content="width=560, initial-scale=1">
|
2020-12-06 17:24:04 +01:00
|
|
|
<link rel="stylesheet" href="css/themes/default.css">
|
|
|
|
<link rel="stylesheet" href="css/common.css">
|
|
|
|
<link rel="stylesheet" href="css/fa-icons.css">
|
|
|
|
<link rel="stylesheet" href="css/logger-ui.css">
|
|
|
|
<link rel="stylesheet" href="css/logger-ui-inspector.css">
|
2016-09-23 15:05:11 +02:00
|
|
|
<link rel="shortcut icon" type="image/png" href="img/icon_16.png">
|
2015-05-09 01:00:01 +02:00
|
|
|
<title data-i18n="statsPageName"></title>
|
2019-01-12 22:36:20 +01:00
|
|
|
<style id="vwRendererRuntimeStyles"></style>
|
2015-05-09 00:28:01 +02:00
|
|
|
</head>
|
2015-06-26 06:08:41 +02:00
|
|
|
<body>
|
2015-05-09 00:28:01 +02:00
|
|
|
|
2015-06-26 06:08:41 +02:00
|
|
|
<div class="permatoolbar">
|
2019-01-14 20:57:31 +01:00
|
|
|
<div>
|
|
|
|
<select id="pageSelector">
|
|
|
|
<option value="0" data-i18n="logAll">
|
|
|
|
<option value="-1" data-i18n="logBehindTheScene">
|
|
|
|
<option value="_" data-i18n="loggerCurrentTab">
|
|
|
|
</select>
|
2022-01-31 00:35:26 +01:00
|
|
|
<button id="refresh" class="iconified notext disabled needdom" data-i18n-title="loggerReloadTip" type="button"><span class="fa-icon">refresh</span><span class="hover"></span></button>
|
|
|
|
<button id="showdom" class="iconified notext disabled needdom" data-i18n-title="loggerDomInspectorTip" type="button"><span class="fa-icon">code</span><span class="hover"></span></button>
|
|
|
|
<button id="showpopup" class="iconified notext disabled needdom" data-i18n-title="loggerPopupPanelTip" type="button"><span class="fa-icon"><svg><use href="/img/ublock-defs.svg#ubo-solid"></use></svg></span><span class="hover"></span></button>
|
2019-01-14 20:57:31 +01:00
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<a id="info" class="button fa-icon" href="https://github.com/gorhill/uBlock/wiki/The-logger" target="_blank" data-i18n-title="loggerInfoTip">info-circle</a>
|
|
|
|
</div>
|
2015-06-26 06:08:41 +02:00
|
|
|
</div>
|
2015-05-09 00:28:01 +02:00
|
|
|
|
2015-07-01 15:19:13 +02:00
|
|
|
<div id="inspectors">
|
2019-01-12 22:36:20 +01:00
|
|
|
<div id="domInspector" class="inspector hCompact">
|
2015-07-01 15:19:13 +02:00
|
|
|
<div class="permatoolbar">
|
|
|
|
<div>
|
2022-01-31 00:35:26 +01:00
|
|
|
<button class="iconified notext vCompactToggler"><span class="fa-icon">double-angle-up</span><span class="hover"></span></button>
|
|
|
|
<button class="iconified notext hCompactToggler"><span class="fa-icon">double-angle-left</span><span class="hover"></span></button>
|
2018-12-17 19:54:17 +01:00
|
|
|
<!-- <span class="button fa highlightMode" style="display: none"></span> -->
|
2022-01-31 00:35:26 +01:00
|
|
|
<button class="iconified notext revert disabled"><span class="fa-icon">eraser</span><span class="hover"></span></button>
|
|
|
|
<button class="iconified notext commit disabled"><span class="fa-icon">floppy-o</span><span class="hover"></span></button>
|
2015-07-01 15:19:13 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="vscrollable">
|
|
|
|
<ul id="domTree"></ul>
|
2015-06-28 23:42:08 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
2019-01-12 22:36:20 +01:00
|
|
|
<div id="netInspector" class="inspector f">
|
2015-07-01 15:19:13 +02:00
|
|
|
<div class="permatoolbar">
|
2019-01-14 20:57:31 +01:00
|
|
|
<div>
|
2022-01-31 00:35:26 +01:00
|
|
|
<button class="iconified notext vCompactToggler"><span class="fa-icon">double-angle-up</span><span class="hover"></span></button>
|
|
|
|
<button id="clean" class="iconified notext disabled"><span class="fa-icon">times</span><span class="hover"></span></button>
|
|
|
|
<button id="clear" class="iconified notext disabled" data-i18n-title="loggerClearTip"><span class="fa-icon">eraser</span><span class="hover"></span></button>
|
|
|
|
<button id="pause" class="iconified notext"><span class="fa-icon" data-i18n-title="loggerPauseTip">pause-circle-o</span><span class="fa-icon" data-i18n-title="loggerUnpauseTip">play-circle-o</span><span class="hover"></span></button>
|
2019-01-14 20:57:31 +01:00
|
|
|
<span id="filterExprGroup">
|
2022-01-31 00:35:26 +01:00
|
|
|
<button id="filterButton" class="iconified notext" data-i18n-title="loggerRowFiltererButtonTip"><span class="fa-icon">filter</span><span class="hover"></span></button>
|
2019-01-14 20:57:31 +01:00
|
|
|
<span id="filterInput">
|
2019-11-03 19:14:29 +01:00
|
|
|
<input type="search" placeholder="logFilterPrompt">
|
2019-01-14 20:57:31 +01:00
|
|
|
<span id="filterExprButton" class="button fa-icon expanded" data-i18n-title="loggerRowFiltererBuiltinTip">angle-up</span>
|
|
|
|
<div id="filterExprPicker">
|
2021-12-06 13:01:39 +01:00
|
|
|
<div><span data-filtex="!" data-i18n="loggerRowFiltererBuiltinNot"></span><span data-filtex="\t--\t|\t<<\t|\t##" data-i18n="loggerRowFiltererBuiltinBlocked"></span><span data-filtex="\t\+\+\t|\t\*\*\t|\t#@#" data-i18n="loggerRowFiltererBuiltinAllowed"></span><span data-filtex="[$,](?:csp|removeparam|redirect-rule)=|\t\<\<\t" data-i18n="loggerRowFiltererBuiltinModified"></span></div>
|
2019-04-22 16:23:58 +02:00
|
|
|
<div><span data-filtex="!" data-i18n="loggerRowFiltererBuiltinNot"></span>
|
|
|
|
<span style="flex-direction: column;">
|
2019-04-28 13:23:14 +02:00
|
|
|
<div style="margin-bottom: 1px;"><span data-filtex="\t(?:css|(?:inline-)?font)\t">css/font</span><span data-filtex="\timage\t">image</span><span data-filtex="\tmedia\t">media</span><span data-filtex="\t(?:inline-)?script(?:ing)?\t">script</span></div>
|
Add new filter option `queryprune=`
Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/760
The purpose of this new network filter option is to remove
query parameters form the URL of network requests.
The name `queryprune` has been picked over `querystrip`
since the purpose of the option is to remove some
parameters from the URL rather than all parameters.
`queryprune` is a modifier option (like `csp`) in that it
does not cause a network request to be blocked but rather
modified before being emitted.
`queryprune` must be assigned a value, which value will
determine which parameters from a query string will be
removed. The syntax for the value is that of regular
expression *except* for the following rules:
- do not wrap the regex directive between `/`
- do not use regex special values `^` and `$`
- do not use literal comma character in the value,
though you can use hex-encoded version, `\x2c`
- to match the start of a query parameter, prepend `|`
- to match the end of a query parameter, append `|`
`queryprune` regex-like values will be tested against each
key-value parameter pair as `[key]=[value]` string. This
way you can prune according to either the key, the value,
or both.
This commit introduces the concept of modifier filter
options, which as of now are:
- `csp=`
- `queryprune=`
They both work in similar way when used with `important`
option or when used in exception filters. Modifier
options can apply to any network requests, hence the
logger reports the type of the network requests, and no
longer use the modifier as the type, i.e. `csp` filters
are no longer reported as requests of type `csp`.
Though modifier options can apply to any network requests,
for the time being the `csp=` modifier option still apply
only to top or embedded (frame) documents, just as before.
In some future we may want to apply `csp=` directives to
network requests of type script, to control the behavior
of service workers for example.
A new built-in filter expression has been added to the
logger: "modified", which allow to see all the network
requests which were modified before being emitted. The
translation work for this new option will be available
in a future commit.
2020-10-31 15:42:53 +01:00
|
|
|
<div><span data-filtex="\t(?:websocket|xhr)\t">xhr</span><span data-filtex="\tframe\t">frame</span><span data-filtex="\t(?:dom|g(?:eneric)?hide|s(?:pecific)?hide)\t">dom</span><span data-filtex="\t(?:beacon|csp_report|doc|ping|popup|popunder|other)\t">other</span></div>
|
2019-04-22 16:23:58 +02:00
|
|
|
</span>
|
|
|
|
</div>
|
2019-01-14 20:57:31 +01:00
|
|
|
<div><span data-filtex="!" data-i18n="loggerRowFiltererBuiltinNot"></span><span data-filtex="\t(?:0,)?1\t" data-i18n="loggerRowFiltererBuiltin1p"></span><span data-filtex="\t(?:3(?:,\d)?|0,3)\t" data-i18n="loggerRowFiltererBuiltin3p"></span></div>
|
2019-11-23 18:46:52 +01:00
|
|
|
<div id="filterExprCnameOf" style="display:none"><span data-filtex="!" data-i18n="loggerRowFiltererBuiltinNot"></span><span data-filtex="\taliasURL=.">CNAME</span></div>
|
2019-01-14 20:57:31 +01:00
|
|
|
</div>
|
|
|
|
</span>
|
2018-12-18 23:23:03 +01:00
|
|
|
</span>
|
2019-01-14 20:57:31 +01:00
|
|
|
</div>
|
|
|
|
<div>
|
2022-01-31 00:35:26 +01:00
|
|
|
<button id="loggerStats" class="iconified notext" style="display: none;"><span class="fa-icon">bar-chart</span><span class="hover"></span></button>
|
|
|
|
<button id="loggerExport" class="iconified notext"><span class="fa-icon">clipboard</span><span class="hover"></span></button>
|
|
|
|
<button id="loggerSettings" class="iconified notext"><span class="fa-icon">cog</span><span class="hover"></span></button>
|
2019-01-14 20:57:31 +01:00
|
|
|
</div>
|
2015-07-01 15:19:13 +02:00
|
|
|
</div>
|
|
|
|
<div class="vscrollable">
|
2019-01-12 22:36:20 +01:00
|
|
|
<div id="vwRenderer">
|
|
|
|
<div id="vwScroller">
|
|
|
|
<div id="vwVirtualContent">
|
|
|
|
<div id="vwContent"></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="vwLineSizer">
|
|
|
|
<div class="logEntry oneLine"><div><span>00:00:00</span><span> </span><span>**</span><span> </span><span>3,3</span><span>inline-script</span><span> </span></div></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2015-06-26 06:08:41 +02:00
|
|
|
</div>
|
2015-05-09 00:28:01 +02:00
|
|
|
</div>
|
2019-01-12 22:36:20 +01:00
|
|
|
<iframe id="popupContainer"></iframe>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id="modalOverlay">
|
|
|
|
<div>
|
|
|
|
<div id="modalOverlayContainer"></div>
|
|
|
|
<div id="modalOverlayClose"><svg viewBox="0 0 64 64"><path d="M 16 16 L 48 48 M 16 48 L 48 16" /></svg></div>
|
|
|
|
</div>
|
2015-06-26 06:08:41 +02:00
|
|
|
</div>
|
2015-05-09 00:28:01 +02:00
|
|
|
|
2015-05-21 20:15:17 +02:00
|
|
|
<div id="templates" style="display: none;">
|
2019-01-12 22:36:20 +01:00
|
|
|
<div id="logEntryTemplate"><div><span></span>​<span></span>​<span></span>​<span></span>​<span></span>​<span></span>​<span></span></div></div>
|
|
|
|
|
|
|
|
<div id="netFilteringDialog" data-pane="details">
|
|
|
|
<div class="hide preview"><span>click to preview</span></div>
|
|
|
|
<div class="headers">
|
|
|
|
 
|
|
|
|
<span class="header details" data-pane="details" data-i18n="loggerEntryDetailsHeader"></span>
|
2021-03-14 14:18:51 +01:00
|
|
|
<span class="header dynamic" data-pane="dynamic" data-i18n="loggerURLFilteringHeader"></span>
|
2019-01-12 22:36:20 +01:00
|
|
|
<span class="header static" data-pane="static" data-i18n="loggerStaticFilteringHeader"></span>
|
|
|
|
<span class="tools"><span class="fa-icon reload">refresh</span> <span class="fa-icon picker">eye-dropper</span></span>
|
|
|
|
</div>
|
|
|
|
<div class="panes">
|
|
|
|
<div class="pane details" data-pane="details">
|
2019-09-24 23:05:03 +02:00
|
|
|
<div><span data-i18n="loggerEntryDetailsFilter"></span><span></span><span class="exceptor" style="visibility: collapse"></span></div>
|
2019-01-12 22:36:20 +01:00
|
|
|
<div><span data-i18n="loggerEntryDetailsFilterList"></span><span class="prose"></span></div>
|
|
|
|
<div><span data-i18n="loggerEntryDetailsRule"></span><span></span></div>
|
|
|
|
<div><span data-i18n="loggerEntryDetailsRootContext"></span><span></span></div>
|
|
|
|
<div><span data-i18n="loggerEntryDetailsContext"></span><span></span></div>
|
|
|
|
<div><span data-i18n="loggerEntryDetailsPartyness"></span><span class="prose"></span></div>
|
|
|
|
<div><span data-i18n="loggerEntryDetailsType"></span><span></span></div>
|
|
|
|
<div><span data-i18n="loggerEntryDetailsURL"></span><span></span></div>
|
2019-11-23 18:46:52 +01:00
|
|
|
<div><span>CNAME</span><span></span></div>
|
|
|
|
<div><span>Original URL</span><span></span></div>
|
2015-06-07 00:31:38 +02:00
|
|
|
</div>
|
2021-03-14 14:18:51 +01:00
|
|
|
<div class="pane dynamic" data-pane="dynamic">
|
2019-01-12 22:36:20 +01:00
|
|
|
<div class="toolbar row">
|
|
|
|
<span><span id="saveRules" class="fa-icon">lock</span></span>
|
|
|
|
<span>
|
|
|
|
<label><span data-i18n="loggerURLFilteringContextLabel"></span> <select class="dynamic origin"></select></label> 
|
|
|
|
<label><span data-i18n="loggerURLFilteringTypeLabel"></span> <select class="dynamic type"><option><option value="*">*</select></label>
|
|
|
|
</span>
|
|
|
|
<div class="entry row">
|
|
|
|
<span class="action"><span class="allow"> </span><span class="noop"> </span><span class="block"> </span></span>
|
|
|
|
<span class="url"></span>
|
|
|
|
</div>
|
2015-06-07 00:31:38 +02:00
|
|
|
</div>
|
2019-01-12 22:36:20 +01:00
|
|
|
<div class="entries"></div>
|
|
|
|
</div>
|
|
|
|
<div class="pane static" data-pane="static">
|
|
|
|
<div></div>
|
2022-01-31 00:35:26 +01:00
|
|
|
<div><textarea class="staticFilter" spellcheck="false"></textarea>
|
2022-02-11 17:08:48 +01:00
|
|
|
<button id="createStaticFilter" class="preferred" type="button" data-i18n="pickerCreate">_<span class="hover"></span></button>
|
2019-01-12 22:36:20 +01:00
|
|
|
</div>
|
2015-05-21 20:15:17 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
2015-05-09 00:28:01 +02:00
|
|
|
</div>
|
2019-01-12 22:36:20 +01:00
|
|
|
|
|
|
|
<div id="filterFinderDialog">
|
2015-06-11 18:12:23 +02:00
|
|
|
</div>
|
2019-01-12 22:36:20 +01:00
|
|
|
|
|
|
|
<div id="filterFinderListEntry">
|
2022-03-31 16:59:31 +02:00
|
|
|
<span class="listEntry"><!--
|
2019-01-12 22:36:20 +01:00
|
|
|
--><a href="asset-viewer.html?url=" target="_blank"></a> <!--
|
2020-05-03 18:53:13 +02:00
|
|
|
--><a href="#" class="fa-icon" target="_blank">home</a><!--
|
2019-01-12 22:36:20 +01:00
|
|
|
--></span>
|
|
|
|
</div>
|
|
|
|
|
2015-06-26 06:08:41 +02:00
|
|
|
<div id="cosmeticFilteringDialog" class="modalDialog">
|
2022-01-31 00:35:26 +01:00
|
|
|
<textarea class="cosmeticFilters"></textarea>
|
2022-02-11 17:08:48 +01:00
|
|
|
<button id="createCosmeticFilters" class="preferred" type="button" data-i18n="pickerCreate"></button>
|
2015-06-26 06:08:41 +02:00
|
|
|
</div>
|
2019-01-12 22:36:20 +01:00
|
|
|
|
2019-05-24 17:18:39 +02:00
|
|
|
<div id="loggerStatsDialog">
|
|
|
|
<div class="sortedEntries"></div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div id="loggerExportDialog">
|
|
|
|
<div class="options">
|
|
|
|
<div data-radio="format">
|
|
|
|
<span data-i18n="loggerExportFormatList" data-radio-item="list"></span>
|
|
|
|
<span data-i18n="loggerExportFormatTable" data-radio-item="table"></span>
|
|
|
|
</div>
|
|
|
|
<div data-radio="encoding">
|
|
|
|
<span data-i18n="loggerExportEncodePlain" data-radio-item="plain"></span>
|
|
|
|
<span data-i18n="loggerExportEncodeMarkdown" data-radio-item="markdown"></span>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<span data-i18n="genericCopyToClipboard" class="pushbutton"></span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<textarea class="output" readonly spellcheck="false"></textarea>
|
|
|
|
</div>
|
|
|
|
|
2019-01-12 22:36:20 +01:00
|
|
|
<div id="loggerSettingsDialog">
|
|
|
|
<div><span data-i18n="loggerSettingDiscardPrompt"></span>
|
|
|
|
<ul>
|
2020-04-26 14:44:00 +02:00
|
|
|
<li><label><span data-i18n="loggerSettingPerEntryMaxAge"><input type="number" min="0" max="50000" step="15" /></span></label>
|
|
|
|
<li><label><span data-i18n="loggerSettingPerTabMaxLoads"><input type="number" min="0" max="1000000" /></span></label>
|
|
|
|
<li><label><span data-i18n="loggerSettingPerTabMaxEntries"><input type="number" min="0" max="1000000" step="100" /></span></label>
|
2019-01-12 22:36:20 +01:00
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
<div><span data-i18n="loggerSettingHideColumnsPrompt"></span>
|
|
|
|
<ul>
|
2020-08-06 15:05:10 +02:00
|
|
|
<li><label data-i18n="loggerSettingHideColumnTime"><span class="input checkbox"><input type="checkbox" data-column="0" /><svg viewBox="0 0 24 24"><path d="M1.73,12.91 8.1,19.28 22.79,4.59"/></svg></span></label>
|
|
|
|
<li><label data-i18n="loggerSettingHideColumnFilter"><span class="input checkbox"><input type="checkbox" data-column="1" /><svg viewBox="0 0 24 24"><path d="M1.73,12.91 8.1,19.28 22.79,4.59"/></svg></span></label>
|
|
|
|
<li><label data-i18n="loggerSettingHideColumnContext"><span class="input checkbox"><input type="checkbox" data-column="3" /><svg viewBox="0 0 24 24"><path d="M1.73,12.91 8.1,19.28 22.79,4.59"/></svg></span></label>
|
|
|
|
<li><label data-i18n="loggerSettingHideColumnPartyness"><span class="input checkbox"><input type="checkbox" data-column="4" /><svg viewBox="0 0 24 24"><path d="M1.73,12.91 8.1,19.28 22.79,4.59"/></svg></span></label>
|
2019-01-12 22:36:20 +01:00
|
|
|
</ul>
|
|
|
|
</div>
|
2020-04-26 14:44:00 +02:00
|
|
|
<div><label><span data-i18n="loggerSettingPerEntryLineCount"><input type="number" min="2" max="6"></span></label></div>
|
2019-01-14 20:57:31 +01:00
|
|
|
</div>
|
|
|
|
|
2015-05-21 20:15:17 +02:00
|
|
|
</div>
|
2015-05-09 00:28:01 +02:00
|
|
|
|
2022-02-02 21:40:47 +01:00
|
|
|
<script src="lib/hsluv/hsluv-0.1.0.min.js"></script>
|
|
|
|
|
2018-12-17 19:54:17 +01:00
|
|
|
<script src="js/fa-icons.js"></script>
|
2017-10-27 20:22:45 +02:00
|
|
|
<script src="js/vapi.js"></script>
|
2015-05-09 00:28:01 +02:00
|
|
|
<script src="js/vapi-common.js"></script>
|
|
|
|
<script src="js/vapi-client.js"></script>
|
2019-09-19 14:31:38 +02:00
|
|
|
<script src="js/vapi-client-extra.js"></script>
|
2015-05-09 00:28:01 +02:00
|
|
|
<script src="js/udom.js"></script>
|
2022-09-13 23:44:24 +02:00
|
|
|
<script src="js/i18n.js" type="module"></script>
|
2021-07-25 16:55:35 +02:00
|
|
|
<script src="js/logger-ui.js" type="module"></script>
|
|
|
|
<script src="js/logger-ui-inspector.js" type="module"></script>
|
2015-05-09 00:28:01 +02:00
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|