2017-11-07 00:36:44 +01:00
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
(function(){
|
|
|
|
"use strict";
|
|
|
|
|
2019-11-28 01:26:35 +01:00
|
|
|
const settingDefinitions = [
|
2017-11-07 00:36:44 +01:00
|
|
|
{
|
|
|
|
name: "logLevel",
|
|
|
|
defaultValue: 1,
|
|
|
|
options: [0, 1, 25, 50, 75, 100]
|
|
|
|
},
|
2017-12-03 23:47:49 +01:00
|
|
|
{
|
|
|
|
name: "urlSettings",
|
|
|
|
defaultValue: [],
|
2018-09-16 01:22:40 +02:00
|
|
|
isUrlContainer: true,
|
2017-12-03 23:47:49 +01:00
|
|
|
entries: [
|
|
|
|
{name: "url", defaultValue: ""}
|
|
|
|
]
|
|
|
|
},
|
2018-07-02 00:29:41 +02:00
|
|
|
{
|
|
|
|
name: "hiddenSettings",
|
2018-09-16 01:22:40 +02:00
|
|
|
isHideContainer: true,
|
2018-07-02 00:29:41 +02:00
|
|
|
defaultValue: {}
|
|
|
|
},
|
2018-09-12 23:43:48 +02:00
|
|
|
{
|
|
|
|
name: "expandStatus",
|
2018-09-16 01:22:40 +02:00
|
|
|
isExpandContainer: true,
|
2018-09-12 23:43:48 +02:00
|
|
|
defaultValue: {}
|
|
|
|
},
|
2018-07-02 00:29:41 +02:00
|
|
|
{
|
|
|
|
name: "displayHiddenSettings",
|
|
|
|
defaultValue: false
|
|
|
|
},
|
2017-12-03 23:47:49 +01:00
|
|
|
{
|
|
|
|
name: "urls",
|
|
|
|
defaultValue: [],
|
|
|
|
dynamic: true,
|
|
|
|
dependencies: ["urlSettings"],
|
|
|
|
getter: function(settings){
|
|
|
|
return settings.urlSettings.map(function(urlSetting){
|
|
|
|
return urlSetting.url;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
},
|
2017-11-07 00:36:44 +01:00
|
|
|
{
|
|
|
|
name: "whiteList",
|
|
|
|
defaultValue: ""
|
|
|
|
},
|
2018-07-17 13:07:50 +02:00
|
|
|
{
|
|
|
|
name: "sessionWhiteList",
|
|
|
|
resetOnStartup: true,
|
|
|
|
defaultValue: ""
|
|
|
|
},
|
2017-11-07 00:36:44 +01:00
|
|
|
{
|
|
|
|
name: "blackList",
|
|
|
|
defaultValue: ""
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "blockMode",
|
2018-10-23 08:26:23 +02:00
|
|
|
defaultValue: "fake",
|
2017-12-03 23:47:49 +01:00
|
|
|
urlSpecific: true,
|
2017-11-07 00:36:44 +01:00
|
|
|
options: [
|
2018-10-23 08:26:23 +02:00
|
|
|
"fake", "ask", null,
|
|
|
|
"blockEverything", "block", "allow", "allowEverything"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "protectedCanvasPart",
|
|
|
|
defaultValue: "readout",
|
|
|
|
urlSpecific: true,
|
|
|
|
options: [
|
2019-04-27 22:37:25 +02:00
|
|
|
"nothing", "readout", "input", "everything"
|
2017-11-07 00:36:44 +01:00
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "minFakeSize",
|
|
|
|
defaultValue: 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "maxFakeSize",
|
|
|
|
defaultValue: 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "rng",
|
|
|
|
defaultValue: "nonPersistent",
|
2017-11-24 17:06:43 +01:00
|
|
|
options: ["white", "nonPersistent", "constant", "persistent"]
|
2017-11-07 00:36:44 +01:00
|
|
|
},
|
2018-05-26 15:33:39 +02:00
|
|
|
{
|
2018-09-07 23:52:29 +02:00
|
|
|
name: "protectedAPIFeatures",
|
2018-05-26 15:33:39 +02:00
|
|
|
defaultValue: {},
|
|
|
|
keys: [
|
2018-06-21 00:07:29 +02:00
|
|
|
{name: "Canvas-API", level: 1},
|
2019-11-11 15:30:11 +01:00
|
|
|
"getContext @ canvas",
|
2018-06-21 00:07:29 +02:00
|
|
|
{message: "readout", level: 2},
|
2020-06-01 14:25:47 +02:00
|
|
|
"toDataURL @ canvas",
|
|
|
|
"toBlob @ canvas", "convertToBlob @ canvas", "mozGetAsFile @ canvas",
|
|
|
|
"getImageData @ canvas",
|
2019-11-11 15:30:11 +01:00
|
|
|
"isPointInPath @ canvas", "isPointInStroke @ canvas",
|
2018-06-21 00:07:29 +02:00
|
|
|
{message: "input", level: 2},
|
2019-11-11 15:30:11 +01:00
|
|
|
"fillText @ canvas", "strokeText @ canvas",
|
2018-06-21 00:07:29 +02:00
|
|
|
{name: "webGL", level: 2},
|
2021-01-03 21:11:17 +01:00
|
|
|
"readPixels @ canvas", "getParameter @ canvas", "getExtension @ canvas",
|
2018-08-22 22:16:49 +02:00
|
|
|
{name: "Audio-API", level: 1},
|
2019-11-11 15:30:11 +01:00
|
|
|
"getFloatFrequencyData @ audio", "getByteFrequencyData @ audio",
|
|
|
|
"getFloatTimeDomainData @ audio", "getByteTimeDomainData @ audio",
|
|
|
|
"getChannelData @ audio", "copyFromChannel @ audio",
|
|
|
|
"getFrequencyResponse @ audio",
|
2018-08-27 00:30:48 +02:00
|
|
|
{name: "History-API", level: 1},
|
2019-11-11 15:30:11 +01:00
|
|
|
"length @ history",
|
2018-08-27 00:33:39 +02:00
|
|
|
{name: "Window-API", level: 1},
|
2019-11-11 15:30:11 +01:00
|
|
|
"opener @ window",
|
|
|
|
"name @ window",
|
2018-09-04 23:29:58 +02:00
|
|
|
{name: "DOMRect-API", level: 1},
|
2019-11-11 15:30:11 +01:00
|
|
|
"getClientRects @ domRect",
|
|
|
|
"getBoundingClientRect @ domRect",
|
2020-11-02 13:49:42 +01:00
|
|
|
"getBoxQuads @ domRect",
|
2019-11-11 15:30:11 +01:00
|
|
|
"getBounds @ domRect",
|
|
|
|
"getBBox @ domRect",
|
2020-11-02 13:49:42 +01:00
|
|
|
"getStartPositionOfChar @ domRect",
|
|
|
|
"getEndPositionOfChar @ domRect",
|
2019-11-11 15:30:11 +01:00
|
|
|
"getExtentOfChar @ domRect",
|
2020-11-02 13:49:42 +01:00
|
|
|
"getPointAtLength @ domRect",
|
2019-11-11 15:30:11 +01:00
|
|
|
"intersectionRect @ domRect",
|
|
|
|
"boundingClientRect @ domRect",
|
2020-03-14 12:54:23 +01:00
|
|
|
"rootBounds @ domRect",
|
|
|
|
{name: "TextMetrics-API", level: 1},
|
|
|
|
"width @ textMetrics",
|
|
|
|
"actualBoundingBoxAscent @ textMetrics",
|
|
|
|
"actualBoundingBoxDescent @ textMetrics",
|
|
|
|
"actualBoundingBoxLeft @ textMetrics",
|
|
|
|
"actualBoundingBoxRight @ textMetrics",
|
|
|
|
"alphabeticBaseline @ textMetrics",
|
|
|
|
"emHeightAscent @ textMetrics",
|
|
|
|
"emHeightDescent @ textMetrics",
|
|
|
|
"fontBoundingBoxAscent @ textMetrics",
|
|
|
|
"fontBoundingBoxDescent @ textMetrics",
|
|
|
|
"hangingBaseline @ textMetrics",
|
|
|
|
"ideographicBaseline @ textMetrics",
|
2019-02-27 23:49:00 +01:00
|
|
|
{name: "Navigator-API", level: 1},
|
2019-11-11 15:30:11 +01:00
|
|
|
"appCodeName @ navigator",
|
|
|
|
"appName @ navigator",
|
|
|
|
"appVersion @ navigator",
|
|
|
|
"buildID @ navigator",
|
|
|
|
"oscpu @ navigator",
|
|
|
|
"platform @ navigator",
|
|
|
|
"product @ navigator",
|
|
|
|
"productSub @ navigator",
|
|
|
|
"userAgent @ navigator",
|
|
|
|
"vendor @ navigator",
|
|
|
|
"vendorSub @ navigator",
|
2019-11-11 23:00:39 +01:00
|
|
|
{name: "Screen-API", level: 1},
|
|
|
|
"width @ screen",
|
|
|
|
"height @ screen",
|
|
|
|
"availWidth @ screen",
|
|
|
|
"availHeight @ screen",
|
|
|
|
"availTop @ screen",
|
|
|
|
"availLeft @ screen",
|
|
|
|
"matches @ screen",
|
|
|
|
"outerWidth @ screen",
|
|
|
|
"outerHeight @ screen",
|
2018-05-26 15:33:39 +02:00
|
|
|
],
|
2018-09-07 23:52:29 +02:00
|
|
|
defaultKeyValue: true
|
2018-05-26 15:33:39 +02:00
|
|
|
},
|
2017-11-07 00:36:44 +01:00
|
|
|
{
|
|
|
|
name: "useCanvasCache",
|
|
|
|
defaultValue: true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "ignoreFrequentColors",
|
|
|
|
defaultValue: 0
|
|
|
|
},
|
2017-12-11 12:47:43 +01:00
|
|
|
{
|
|
|
|
name: "minColors",
|
|
|
|
defaultValue: 0
|
|
|
|
},
|
2017-11-07 00:36:44 +01:00
|
|
|
{
|
|
|
|
name: "fakeAlphaChannel",
|
|
|
|
defaultValue: false
|
|
|
|
},
|
2019-09-19 00:47:52 +02:00
|
|
|
{
|
|
|
|
name: "webGLVendor",
|
|
|
|
defaultValue: ""
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "webGLRenderer",
|
|
|
|
defaultValue: ""
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "webGLUnmaskedVendor",
|
|
|
|
defaultValue: ""
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "webGLUnmaskedRenderer",
|
|
|
|
defaultValue: ""
|
|
|
|
},
|
2017-11-07 00:36:44 +01:00
|
|
|
{
|
|
|
|
name: "persistentRndStorage",
|
|
|
|
defaultValue: ""
|
|
|
|
},
|
2018-07-28 14:13:14 +02:00
|
|
|
{
|
|
|
|
name: "persistentIncognitoRndStorage",
|
|
|
|
resetOnStartup: true,
|
|
|
|
defaultValue: ""
|
|
|
|
},
|
2017-11-07 00:36:44 +01:00
|
|
|
{
|
|
|
|
name: "storePersistentRnd",
|
|
|
|
defaultValue: false
|
|
|
|
},
|
2017-11-08 17:46:41 +01:00
|
|
|
{
|
|
|
|
name: "persistentRndClearIntervalValue",
|
|
|
|
defaultValue: 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "persistentRndClearIntervalUnit",
|
|
|
|
defaultValue: "days",
|
|
|
|
options: ["seconds", "minutes", "hours", "days", "weeks", "months", "years"]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "lastPersistentRndClearing",
|
|
|
|
defaultValue: 0
|
|
|
|
},
|
2018-10-25 13:42:18 +02:00
|
|
|
{
|
|
|
|
name: "sharePersistentRndBetweenDomains",
|
|
|
|
defaultValue: false
|
|
|
|
},
|
2017-11-07 00:36:44 +01:00
|
|
|
{
|
|
|
|
name: "askOnlyOnce",
|
2017-11-10 23:45:09 +01:00
|
|
|
defaultValue: "individual",
|
|
|
|
options: ["no", "individual", "combined"]
|
2017-11-07 00:36:44 +01:00
|
|
|
},
|
2017-11-09 00:53:52 +01:00
|
|
|
{
|
|
|
|
name: "askDenyMode",
|
|
|
|
defaultValue: "block",
|
|
|
|
options: ["block", "fake"]
|
|
|
|
},
|
2018-01-04 13:36:18 +01:00
|
|
|
{
|
|
|
|
name: "showCanvasWhileAsking",
|
|
|
|
defaultValue: true
|
|
|
|
},
|
2017-11-07 00:36:44 +01:00
|
|
|
{
|
|
|
|
name: "showNotifications",
|
2017-12-03 23:47:49 +01:00
|
|
|
defaultValue: true,
|
|
|
|
urlSpecific: true
|
2017-11-07 00:36:44 +01:00
|
|
|
},
|
2018-08-20 21:48:05 +02:00
|
|
|
{
|
|
|
|
name: "highlightPageAction",
|
|
|
|
defaultValue: "none",
|
|
|
|
options: ["none", "color", "blink"],
|
|
|
|
urlSpecific: true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "highlightBrowserAction",
|
|
|
|
defaultValue: "color",
|
|
|
|
options: ["none", "color", "blink"],
|
|
|
|
urlSpecific: true
|
|
|
|
},
|
2018-08-21 22:43:41 +02:00
|
|
|
{
|
|
|
|
name: "displayBadge",
|
|
|
|
defaultValue: true
|
|
|
|
},
|
2018-09-11 23:54:59 +02:00
|
|
|
{
|
|
|
|
name: "storeNotificationData",
|
|
|
|
defaultValue: false
|
|
|
|
},
|
2017-11-07 00:36:44 +01:00
|
|
|
{
|
|
|
|
name: "storeImageForInspection",
|
|
|
|
defaultValue: false
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "ignoreList",
|
|
|
|
defaultValue: ""
|
|
|
|
},
|
2018-08-24 16:47:27 +02:00
|
|
|
{
|
|
|
|
name: "ignoredAPIs",
|
|
|
|
defaultValue: {},
|
|
|
|
keys: [
|
|
|
|
"canvas",
|
|
|
|
"audio",
|
2018-08-27 00:30:48 +02:00
|
|
|
"history",
|
2018-08-27 00:33:39 +02:00
|
|
|
"window",
|
2018-09-09 00:15:47 +02:00
|
|
|
"domRect",
|
2020-03-17 20:04:28 +01:00
|
|
|
"textMetrics",
|
2019-02-27 23:49:00 +01:00
|
|
|
"navigator",
|
2020-03-17 20:04:28 +01:00
|
|
|
"screen",
|
2018-08-24 16:47:27 +02:00
|
|
|
],
|
|
|
|
defaultKeyValue: false
|
|
|
|
},
|
2017-11-07 00:36:44 +01:00
|
|
|
{
|
|
|
|
name: "showCallingFile",
|
|
|
|
defaultValue: false
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "showCompleteCallingStack",
|
|
|
|
defaultValue: false
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "enableStackList",
|
|
|
|
defaultValue: false
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "stackList",
|
|
|
|
defaultValue: ""
|
|
|
|
},
|
2018-06-16 00:22:31 +02:00
|
|
|
{
|
|
|
|
name: "protectAudio",
|
2018-08-22 14:41:48 +02:00
|
|
|
defaultValue: true,
|
|
|
|
urlSpecific: true
|
2018-06-16 00:22:31 +02:00
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "audioFakeRate",
|
2018-06-30 23:34:59 +02:00
|
|
|
defaultValue: "100",
|
2018-07-04 23:59:27 +02:00
|
|
|
options: ["1", "10", "100", "1000", "0.1%", "1%", "10%", "100%"]
|
2018-06-16 00:22:31 +02:00
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "audioNoiseLevel",
|
2018-06-21 00:20:41 +02:00
|
|
|
defaultValue: "minimal",
|
2018-06-16 00:22:31 +02:00
|
|
|
options: ["minimal", "low", "medium", "high", "maximal"]
|
|
|
|
},
|
2018-06-30 00:34:20 +02:00
|
|
|
{
|
|
|
|
name: "useAudioCache",
|
2018-09-18 00:03:42 +02:00
|
|
|
defaultValue: true,
|
|
|
|
urlSpecific: true
|
2018-06-30 00:34:20 +02:00
|
|
|
},
|
2018-06-21 00:19:49 +02:00
|
|
|
{
|
|
|
|
name: "audioUseFixedIndices",
|
|
|
|
defaultValue: true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "audioFixedIndices",
|
|
|
|
defaultValue: function(){
|
|
|
|
return Math.floor(Math.random() * 30).toString(10);
|
|
|
|
}
|
|
|
|
},
|
2018-08-27 00:30:48 +02:00
|
|
|
{
|
|
|
|
name: "historyLengthThreshold",
|
2019-04-27 22:26:23 +02:00
|
|
|
defaultValue: 2,
|
|
|
|
urlSpecific: true
|
2018-08-27 00:30:48 +02:00
|
|
|
},
|
2018-08-27 00:33:39 +02:00
|
|
|
{
|
|
|
|
name: "protectWindow",
|
|
|
|
defaultValue: false,
|
|
|
|
urlSpecific: true
|
|
|
|
},
|
2020-01-02 11:41:13 +01:00
|
|
|
{
|
|
|
|
name: "allowWindowNameInFrames",
|
|
|
|
defaultValue: false,
|
|
|
|
urlSpecific: true
|
|
|
|
},
|
2018-09-04 23:29:58 +02:00
|
|
|
{
|
|
|
|
name: "protectDOMRect",
|
|
|
|
defaultValue: true,
|
|
|
|
urlSpecific: true
|
|
|
|
},
|
2018-09-05 15:53:01 +02:00
|
|
|
{
|
|
|
|
name: "domRectIntegerFactor",
|
|
|
|
defaultValue: 4
|
|
|
|
},
|
2020-03-14 12:54:23 +01:00
|
|
|
{
|
|
|
|
name: "protectTextMetrics",
|
|
|
|
defaultValue: true,
|
|
|
|
urlSpecific: true
|
|
|
|
},
|
2018-07-16 00:14:44 +02:00
|
|
|
{
|
2018-07-21 00:32:15 +02:00
|
|
|
name: "blockDataURLs",
|
2019-04-19 13:58:04 +02:00
|
|
|
defaultValue: true,
|
|
|
|
urlSpecific: true
|
2018-07-16 00:14:44 +02:00
|
|
|
},
|
2019-02-27 23:49:00 +01:00
|
|
|
{
|
|
|
|
name: "protectNavigator",
|
2019-05-04 01:12:45 +02:00
|
|
|
defaultValue: false,
|
|
|
|
urlSpecific: true
|
2019-02-27 23:49:00 +01:00
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "navigatorDetails",
|
|
|
|
defaultValue: {},
|
|
|
|
},
|
2019-11-11 23:00:39 +01:00
|
|
|
{
|
|
|
|
name: "protectScreen",
|
|
|
|
defaultValue: true,
|
|
|
|
urlSpecific: true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "screenSize",
|
|
|
|
defaultValue: "",
|
|
|
|
urlSpecific: true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "fakeMinimalScreenSize",
|
|
|
|
defaultValue: true,
|
2019-12-02 19:17:54 +01:00
|
|
|
mobileDefaultValue: false,
|
2019-11-11 23:00:39 +01:00
|
|
|
urlSpecific: true
|
|
|
|
},
|
2017-11-07 00:36:44 +01:00
|
|
|
{
|
|
|
|
name: "displayAdvancedSettings",
|
|
|
|
defaultValue: false
|
|
|
|
},
|
2017-11-11 23:34:59 +01:00
|
|
|
{
|
|
|
|
name: "displayDescriptions",
|
|
|
|
defaultValue: false
|
|
|
|
},
|
2018-08-21 22:03:16 +02:00
|
|
|
{
|
|
|
|
name: "theme",
|
2019-05-02 23:46:20 +02:00
|
|
|
defaultValue: "auto",
|
|
|
|
options: ["auto", "default", "light", "dark", "colorful"/*, "none"*/]
|
2018-08-21 22:03:16 +02:00
|
|
|
},
|
2018-08-19 00:13:43 +02:00
|
|
|
{
|
|
|
|
name: "dontShowOptionsOnUpdate",
|
|
|
|
defaultValue: false
|
|
|
|
},
|
2017-11-07 00:36:44 +01:00
|
|
|
{
|
|
|
|
name: "isStillDefault",
|
|
|
|
defaultValue: true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "storageVersion",
|
2020-01-02 11:41:13 +01:00
|
|
|
defaultValue: 1.0,
|
2017-11-10 23:45:09 +01:00
|
|
|
fixed: true
|
2017-11-07 00:36:44 +01:00
|
|
|
}
|
|
|
|
];
|
|
|
|
|
|
|
|
if ((typeof module) !== "undefined"){
|
|
|
|
module.exports = settingDefinitions;
|
|
|
|
}
|
|
|
|
else {
|
2019-03-12 22:24:23 +01:00
|
|
|
require.register("./settingDefinitions", settingDefinitions);
|
2017-11-07 00:36:44 +01:00
|
|
|
}
|
|
|
|
}());
|