Update troubleshooter.js

This commit is contained in:
earthlng 2018-01-16 16:52:24 +01:00 committed by GitHub
parent 6882a64bf2
commit 7a3810f6ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,5 +1,5 @@
/*** ghacks-user.js troubleshooter.js v1.2 ***/ /*** ghacks-user.js troubleshooter.js v1.3 ***/
(function() { (function() {
@ -60,73 +60,79 @@
} }
let ops = [ let ops = [
'accessibility.force_disabled',
/* known culprits */
'network.cookie.cookieBehavior',
'network.http.referer.XOriginPolicy',
'privacy.firstparty.isolate',
'privacy.resistFingerprinting',
'security.mixed_content.block_display_content',
'svg.disabled',
/* Storage + Cache */
'browser.cache.offline.enable', 'browser.cache.offline.enable',
'browser.display.use_document_fonts', 'dom.indexedDB.enabled',
'browser.formfill.enable', 'dom.storage.enabled',
'browser.link.open_newwindow.restriction',
'browser.search.suggest.enabled',
'browser.storageManager.enabled', 'browser.storageManager.enabled',
'browser.tabs.remote.allowLinkedWebInFileUriProcess', 'dom.storageManager.enabled',
'browser.urlbar.autoFill',
'browser.urlbar.autoFill.typed', /* Workers, Web + Push Notifications */
'browser.urlbar.oneOffSearches',
'browser.urlbar.suggest.searches',
'camera.control.face_detection.enabled',
'canvas.capturestream.enabled',
'dom.caches.enabled', 'dom.caches.enabled',
'dom.push.connection.enabled',
'dom.push.enabled',
'dom.push.serverURL',
'dom.serviceWorkers.enabled',
'dom.workers.enabled',
'dom.webnotifications.enabled',
'dom.webnotifications.serviceworker.enabled',
/* Fonts */
'browser.display.use_document_fonts',
'font.blacklist.underline_offset',
'gfx.downloadable_fonts.woff2.enabled',
'gfx.font_rendering.graphite.enabled',
'gfx.font_rendering.opentype_svg.enabled',
'layout.css.font-loading-api.enabled',
/* Misc */
'browser.link.open_newwindow.restriction',
'canvas.capturestream.enabled',
'dom.event.clipboardevents.enabled', 'dom.event.clipboardevents.enabled',
'dom.event.contextmenu.enabled', 'dom.event.contextmenu.enabled',
'dom.idle-observers-api.enabled', 'dom.idle-observers-api.enabled',
'dom.IntersectionObserver.enabled', 'dom.IntersectionObserver.enabled',
'dom.popup_allowed_events', 'dom.popup_allowed_events',
'dom.popup_maximum',
'dom.push.connection.enabled',
'dom.push.enabled',
'dom.push.serverURL',
'dom.serviceWorkers.enabled',
'dom.storage.enabled',
'dom.storageManager.enabled',
'dom.vr.enabled',
'dom.webaudio.enabled',
'dom.webnotifications.enabled',
'dom.webnotifications.serviceworker.enabled',
'font.blacklist.underline_offset',
'full-screen-api.enabled', 'full-screen-api.enabled',
'geo.wifi.uri', 'geo.wifi.uri',
'gfx.downloadable_fonts.woff2.enabled',
'gfx.font_rendering.graphite.enabled',
'gfx.font_rendering.opentype_svg.enabled',
'intl.accept_languages', 'intl.accept_languages',
'javascript.options.asmjs', 'javascript.options.asmjs',
'javascript.options.wasm', 'javascript.options.wasm',
'keyword.enabled', 'network.cookie.thirdparty.sessionOnly',
'layout.css.font-loading-api.enabled', 'security.csp.experimentalEnabled',
'layout.css.visited_links_enabled',
'mathml.disabled', /* Hardware */
'dom.vr.enabled',
'media.ondevicechange.enabled',
/* Audio + Video */
'dom.webaudio.enabled',
'media.autoplay.enabled', 'media.autoplay.enabled',
'media.flac.enabled', 'media.flac.enabled',
'media.mp4.enabled', 'media.mp4.enabled',
'media.ogg.enabled', 'media.ogg.enabled',
'media.ondevicechange.enabled',
'media.opus.enabled', 'media.opus.enabled',
'media.raw.enabled', 'media.raw.enabled',
'media.wave.enabled', 'media.wave.enabled',
'media.webm.enabled', 'media.webm.enabled',
'media.wmf.enabled', 'media.wmf.enabled',
'network.auth.subresource-img-cross-origin-http-auth-allow',
'network.cookie.thirdparty.sessionOnly', /* Forms */
'network.http.redirection-limit', 'browser.formfill.enable',
'network.http.referer.XOriginPolicy', 'signon.autofillForms',
'network.protocol-handler.external.ms-windows-store', 'signon.formlessCapture.enabled',
'plugin.default.state',
'plugin.defaultXpi.state', /* HTTPS */
'plugin.sessionPermissionNow.intervalInMinutes',
'plugin.state.flash',
'privacy.trackingprotection.enabled',
'security.cert_pinning.enforcement_level', 'security.cert_pinning.enforcement_level',
'security.csp.experimentalEnabled',
'security.data_uri.block_toplevel_data_uri_navigations',
'security.family_safety.mode', 'security.family_safety.mode',
'security.mixed_content.use_hsts', 'security.mixed_content.use_hsts',
'security.OCSP.require', 'security.OCSP.require',
@ -143,18 +149,32 @@
'security.tls.enable_0rtt_data', 'security.tls.enable_0rtt_data',
'security.tls.version.max', 'security.tls.version.max',
'security.tls.version.min', 'security.tls.version.min',
'security.xpconnect.plugin.unrestricted',
'signon.autofillForms',
'signon.formlessCapture.enabled',
/* known culprits */ /* Plugins + Flash */
'dom.indexedDB.enabled', 'plugin.default.state',
'dom.workers.enabled', 'plugin.defaultXpi.state',
'network.cookie.cookieBehavior', 'plugin.sessionPermissionNow.intervalInMinutes',
'privacy.firstparty.isolate', 'plugin.state.flash',
'privacy.resistFingerprinting', 'security.xpconnect.plugin.unrestricted',
'security.mixed_content.block_display_content',
'svg.disabled', /* unlikely to cause problems */
'browser.tabs.remote.allowLinkedWebInFileUriProcess',
'dom.popup_maximum',
'layout.css.visited_links_enabled',
'mathml.disabled',
'network.auth.subresource-img-cross-origin-http-auth-allow',
'network.http.redirection-limit',
'network.protocol-handler.external.ms-windows-store',
'privacy.trackingprotection.enabled',
'security.data_uri.block_toplevel_data_uri_navigations',
/* FF User-Interface */
'browser.search.suggest.enabled',
'browser.urlbar.autoFill',
'browser.urlbar.autoFill.typed',
'browser.urlbar.oneOffSearches',
'browser.urlbar.suggest.searches',
'keyword.enabled',
'last.one.without.comma' 'last.one.without.comma'
] ]
@ -168,32 +188,47 @@
const aBACKUP = getMyList(ops); const aBACKUP = getMyList(ops);
//console.log(aBACKUP.length, "user-set prefs from our list detected and their values stored."); //console.log(aBACKUP.length, "user-set prefs from our list detected and their values stored.");
myreset(aBACKUP); // resetting all detected prefs
let myArr = aBACKUP; let myArr = aBACKUP;
let found = false;
let aDbg = [];
focus(); focus();
myreset(aBACKUP); // reset all detected prefs
if (confirm("all detected prefs reset.\n\n!! KEEP THIS PROMPT OPEN AND TEST THE SITE IN ANOTHER TAB !!\n\nIF the problem still exists, this script can't help you - click cancel to re-apply your values and exit.\n\nClick OK if your problem is fixed.")) { if (confirm("all detected prefs reset.\n\n!! KEEP THIS PROMPT OPEN AND TEST THE SITE IN ANOTHER TAB !!\n\nIF the problem still exists, this script can't help you - click cancel to re-apply your values and exit.\n\nClick OK if your problem is fixed.")) {
aDbg = myArr;
reapply(aBACKUP); reapply(aBACKUP);
myreset(myArr.slice(0, parseInt(myArr.length/2))); myreset(myArr.slice(0, parseInt(myArr.length/2)));
while (myArr.length >= 2) { while (myArr.length >= 2) {
alert("NOW TEST AGAIN !"); alert("NOW TEST AGAIN !");
if (confirm("if the problem still exists click OK, otherwise click cancel.")) { if (confirm("if the problem still exists click OK, otherwise click cancel.")) {
myArr = myArr.slice(parseInt(myArr.length/2)); myArr = myArr.slice(parseInt(myArr.length/2));
if (myArr.length == 1) {
alert("The problem is caused by more than 1 pref !\n\nNarrowed it down to "+ aDbg.length.toString() +" prefs, check the console ...");
break;
}
} else { } else {
myArr = myArr.slice(0, parseInt(myArr.length/2)); myArr = myArr.slice(0, parseInt(myArr.length/2));
aDbg = myArr;
if (myArr.length == 1) { found = true; break; }
} }
reapply(aBACKUP); reapply(aBACKUP);
myreset(myArr.slice(0, parseInt(myArr.length/2))); // reset half of the remaining prefs myreset(myArr.slice(0, parseInt(myArr.length/2))); // reset half of the remaining prefs
} }
reapply(aBACKUP); reapply(aBACKUP);
} else { }
else {
reapply(aBACKUP); reapply(aBACKUP);
return; return;
} }
if (myArr.length == 1) { if (found) {
alert("narrowed it down to:\n\n"+myArr[0].name+"\n"); alert("narrowed it down to:\n\n"+myArr[0].name+"\n");
myreset(myArr); // reset the culprit myreset(myArr); // reset the culprit
} }
else {
console.log("the problem is caused by a combination of the following prefs:");
for (let i = 0, len = aDbg.length; i < len; i++) {
console.log(aDbg[i].name);
}
}
})(); })();