mirror of
https://github.com/arkenfox/user.js.git
synced 2025-09-01 17:38:30 +02:00
Compare commits
157 Commits
Author | SHA1 | Date | |
---|---|---|---|
85438d00e4 | |||
a764149520 | |||
535346df87 | |||
412c8f9f94 | |||
380a88ee57 | |||
8404e8a59c | |||
6381b1aeb9 | |||
5cdea955e7 | |||
b37df0bcfe | |||
044e3e76e8 | |||
1c6d633144 | |||
278336196c | |||
76c1aad4be | |||
e5c128804c | |||
c9956d85b1 | |||
524823fd05 | |||
283bfd744a | |||
a1b4aa6000 | |||
a308878b11 | |||
453fcd32cb | |||
a264eebcb5 | |||
908638c9dc | |||
7e80231ac5 | |||
6df03e1a74 | |||
4b437771fa | |||
4043467ad9 | |||
5ac8fd8f70 | |||
2cf20c56a7 | |||
3b52557143 | |||
2a9cf32f45 | |||
08395de188 | |||
4ac17eaf78 | |||
b5a3b54d3f | |||
38dc90a947 | |||
80f69a6f3d | |||
498a25c759 | |||
64e8dfad0a | |||
5ec4fef4ed | |||
881a2d22eb | |||
76c8ecd10d | |||
677b81765f | |||
9f43d48a32 | |||
6077d09b9f | |||
7144f8b7f8 | |||
778421cad4 | |||
35ccaff58e | |||
69132b588f | |||
51748ea25a | |||
269cf965bd | |||
b177c73f0d | |||
613e55ae8c | |||
3697bd8d3a | |||
9f08c7c0f4 | |||
05b7d61735 | |||
e31a6876e6 | |||
47be7ba42f | |||
033977fe10 | |||
ab42deb541 | |||
8a22a90804 | |||
c55e6dcd68 | |||
cf379bcce0 | |||
2b26cd4f41 | |||
8bfee5b59f | |||
04d648d55b | |||
7cdc76ecf9 | |||
aded0707a4 | |||
2a011f1053 | |||
213467d91b | |||
da0c291127 | |||
27ce48f319 | |||
37ded2a519 | |||
c9bdceb8d6 | |||
95136382e1 | |||
78d953bfda | |||
2d3d8ae5b0 | |||
cef08b63f1 | |||
a8e95e7310 | |||
5ab3c47b6b | |||
45c52b6620 | |||
93f6aea06a | |||
00fa8f1b50 | |||
ac84da2af4 | |||
f19d850845 | |||
7264271063 | |||
dc63a752a5 | |||
a70c312938 | |||
2ce269362e | |||
29ad768a22 | |||
679648b33e | |||
783786290d | |||
e7e6cfffe8 | |||
08e9fb35fd | |||
fdc9376c69 | |||
41c3c0ec26 | |||
d7208ccf34 | |||
77410bf86d | |||
1d63e836ee | |||
668e843fce | |||
51e388ae86 | |||
e7872b193b | |||
8d6ee7c0c7 | |||
7d1e244f5a | |||
dcc736bb85 | |||
68568c1abf | |||
1b33f574bb | |||
568a05ad7d | |||
c45094fdd9 | |||
c3b7f7538c | |||
4b38e20f14 | |||
d19d4ba784 | |||
dd112a167d | |||
92b7fb81d0 | |||
404d1d466a | |||
06e5de4332 | |||
eb4363dc18 | |||
5c93ebb54f | |||
b8f3d93a5c | |||
f53f01823f | |||
18dbb56a3d | |||
cc8674c16d | |||
f394fd0290 | |||
f24899fcac | |||
a7ba61c0d4 | |||
babb9f3682 | |||
b22e349d44 | |||
bb48fe4ebe | |||
44a8088481 | |||
4c8c9bc01f | |||
3bb9fc713f | |||
b761a9dd32 | |||
0da2ecdb4d | |||
31e864c16c | |||
acc1376c37 | |||
939d75e5eb | |||
3b573bf9f0 | |||
a231c1e90e | |||
f229a3cb75 | |||
981462ee54 | |||
d940ffb3c6 | |||
a6d20eaf5b | |||
b93a5e334c | |||
c98606430c | |||
12c0631900 | |||
efcceaf2c3 | |||
9018577a3e | |||
6968b9a369 | |||
ada31d4f50 | |||
d973e11714 | |||
b6d7b2bff5 | |||
74f804a056 | |||
f0b5e3649d | |||
9cc132e69d | |||
9419e2faab | |||
0566ded651 | |||
ba9b3c217b | |||
79c5539edb | |||
cfd7cd01d1 |
@ -15,13 +15,11 @@ Also be aware that the `arkenfox user.js` is made specifically for desktop Firef
|
||||
|
||||
### 🟧 sitemap
|
||||
|
||||
- [Releases](https://github.com/arkenfox/user.js/releases)
|
||||
- [releases](https://github.com/arkenfox/user.js/releases)
|
||||
- [changelogs](https://github.com/arkenfox/user.js/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Achangelog)
|
||||
- [Wiki](https://github.com/arkenfox/user.js/wiki)
|
||||
- [wiki](https://github.com/arkenfox/user.js/wiki)
|
||||
- [stickies](https://github.com/arkenfox/user.js/issues?q=is%3Aissue+is%3Aopen+label%3A%22sticky+topic%22)
|
||||
- [diffs](https://github.com/arkenfox/user.js/issues?q=is%3Aissue+label%3Adiffs)
|
||||
|
||||
### 🟥 acknowledgments
|
||||
Literally thousands of sources, references and suggestions. Many thanks, and much appreciated.
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
## prefs.js cleaner for Linux/Mac
|
||||
## author: @claustromaniac
|
||||
## version: 1.3
|
||||
## version: 1.4
|
||||
|
||||
## special thanks to @overdodactyl and @earthlng for a few snippets that I stol..*cough* borrowed from the updater.sh
|
||||
|
||||
@ -20,16 +20,23 @@ cd "$(dirname "${sfp}")"
|
||||
fQuit() {
|
||||
## change directory back to the original working directory
|
||||
cd "${currdir}"
|
||||
echo -e "\n$2"
|
||||
[ "$1" -eq 0 ] && echo -e "\n$2" || echo -e "\n$2" >&2
|
||||
exit $1
|
||||
}
|
||||
|
||||
fUsage() {
|
||||
echo -e "\nUsage: $0 [-s]"
|
||||
echo -e "
|
||||
Optional Arguments:
|
||||
-s Start immediately"
|
||||
}
|
||||
|
||||
fFF_check() {
|
||||
# there are many ways to see if firefox is running or not, some more reliable than others
|
||||
# this isn't elegant and might not be future-proof but should at least be compatible with any environment
|
||||
while [ -e lock ]; do
|
||||
echo -e "\nThis Firefox profile seems to be in use. Close Firefox and try again.\n"
|
||||
read -p "Press any key to continue."
|
||||
echo -e "\nThis Firefox profile seems to be in use. Close Firefox and try again.\n" >&2
|
||||
read -r -p "Press any key to continue."
|
||||
done
|
||||
}
|
||||
|
||||
@ -41,7 +48,7 @@ fClean() {
|
||||
if [[ "$line" =~ $prefexp && $prefs != *"@@${BASH_REMATCH[1]}@@"* ]]; then
|
||||
prefs="${prefs}${BASH_REMATCH[1]}@@"
|
||||
fi
|
||||
done <<< "`grep -E \"$prefexp\" user.js`"
|
||||
done <<< "$(grep -E "$prefexp" user.js)"
|
||||
|
||||
while IFS='' read -r line || [[ -n "$line" ]]; do
|
||||
if [[ "$line" =~ ^$prefexp ]]; then
|
||||
@ -54,34 +61,42 @@ fClean() {
|
||||
done < "$1" > prefs.js
|
||||
}
|
||||
|
||||
fStart() {
|
||||
if [ ! -e user.js ]; then
|
||||
fQuit 1 "user.js not found in the current directory."
|
||||
elif [ ! -e prefs.js ]; then
|
||||
fQuit 1 "prefs.js not found in the current directory."
|
||||
fi
|
||||
|
||||
fFF_check
|
||||
bakfile="prefs.js.backup.$(date +"%Y-%m-%d_%H%M")"
|
||||
mv prefs.js "${bakfile}" || fQuit 1 "Operation aborted.\nReason: Could not create backup file $bakfile"
|
||||
echo -e "\nprefs.js backed up: $bakfile"
|
||||
echo "Cleaning prefs.js..."
|
||||
fClean "$bakfile"
|
||||
fQuit 0 "All done!"
|
||||
}
|
||||
|
||||
echo -e "\n\n"
|
||||
echo " ╔══════════════════════════╗"
|
||||
echo " ║ prefs.js cleaner ║"
|
||||
echo " ║ by claustromaniac ║"
|
||||
echo " ║ v1.3 ║"
|
||||
echo " ║ v1.4 ║"
|
||||
echo " ╚══════════════════════════╝"
|
||||
echo -e "\nThis script should be run from your Firefox profile directory.\n"
|
||||
echo "It will remove any entries from prefs.js that also exist in user.js."
|
||||
echo "This will allow inactive preferences to be reset to their default values."
|
||||
echo -e "\nThis Firefox profile shouldn't be in use during the process.\n"
|
||||
|
||||
[ "$1" == '-s' ] && fStart
|
||||
|
||||
select option in Start Help Exit; do
|
||||
case $option in
|
||||
Start)
|
||||
if [ ! -e user.js ]; then
|
||||
fQuit 1 "user.js not found in the current directory."
|
||||
elif [ ! -e prefs.js ]; then
|
||||
fQuit 1 "prefs.js not found in the current directory."
|
||||
fi
|
||||
|
||||
fFF_check
|
||||
bakfile="prefs.js.backup.$(date +"%Y-%m-%d_%H%M")"
|
||||
mv prefs.js "${bakfile}" || fQuit 1 "Operation aborted.\nReason: Could not create backup file $bakfile"
|
||||
echo -e "\nprefs.js backed up: $bakfile"
|
||||
echo "Cleaning prefs.js..."
|
||||
fClean "$bakfile"
|
||||
fQuit 0 "All done!"
|
||||
fStart
|
||||
;;
|
||||
Help)
|
||||
fUsage
|
||||
echo -e "\nThis script creates a backup of your prefs.js file before doing anything."
|
||||
echo -e "It should be safe, but you can follow these steps if something goes wrong:\n"
|
||||
echo "1. Make sure Firefox is closed."
|
||||
|
@ -1,65 +0,0 @@
|
||||
/***
|
||||
Version: up to and including FF/ESR78
|
||||
|
||||
This will reset the preferences that are under sections 4600 & 4700 in the
|
||||
arkenfox user.js. These are the prefs that are no longer necessary, or they
|
||||
conflict with, privacy.resistFingerprinting if you have that enabled.
|
||||
|
||||
For instructions see:
|
||||
https://github.com/arkenfox/user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
|
||||
***/
|
||||
|
||||
(function() {
|
||||
let ops = [
|
||||
/* section 4600 */
|
||||
'dom.maxHardwareConcurrency',
|
||||
'dom.enable_resource_timing',
|
||||
'dom.enable_performance',
|
||||
'device.sensors.enabled',
|
||||
'browser.zoom.siteSpecific',
|
||||
'dom.gamepad.enabled',
|
||||
'dom.netinfo.enabled',
|
||||
'media.webspeech.synth.enabled',
|
||||
'media.video_stats.enabled',
|
||||
'dom.w3c_touch_events.enabled',
|
||||
'media.ondevicechange.enabled',
|
||||
'webgl.enable-debug-renderer-info',
|
||||
'dom.w3c_pointer_events.enabled',
|
||||
'ui.use_standins_for_native_colors',
|
||||
'ui.systemUsesDarkTheme',
|
||||
'ui.prefersReducedMotion',
|
||||
/* section 4700 */
|
||||
'general.useragent.override',
|
||||
'general.buildID.override',
|
||||
'general.appname.override',
|
||||
'general.appversion.override',
|
||||
'general.platform.override',
|
||||
'general.oscpu.override',
|
||||
/* reset parrot: check your open about:config after running the script */
|
||||
'_user.js.parrot'
|
||||
]
|
||||
|
||||
if("undefined" === typeof(Services)) {
|
||||
alert("about:config needs to be the active tab!");
|
||||
return;
|
||||
}
|
||||
|
||||
let c = 0;
|
||||
for (let i = 0, len = ops.length; i < len; i++) {
|
||||
if (Services.prefs.prefHasUserValue(ops[i])) {
|
||||
Services.prefs.clearUserPref(ops[i]);
|
||||
if (!Services.prefs.prefHasUserValue(ops[i])) {
|
||||
console.log("reset", ops[i]);
|
||||
c++;
|
||||
} else { console.log("failed to reset", ops[i]); }
|
||||
}
|
||||
}
|
||||
|
||||
focus();
|
||||
|
||||
let d = (c==1) ? " pref" : " prefs";
|
||||
if (c > 0) {
|
||||
alert("successfully reset " + c + d + "\n\nfor details check the Browser Console (Ctrl+Shift+J)");
|
||||
} else { alert("nothing to reset"); }
|
||||
|
||||
})();
|
@ -1,248 +1,232 @@
|
||||
/***
|
||||
Version: up to and including FF/ESR78
|
||||
Version: up to and including FF/ESR91
|
||||
|
||||
This will reset the preferences that have been deprecated by Mozilla
|
||||
and used in the arkenfox user.js
|
||||
This will reset the preferences that have been deprecated by Mozilla
|
||||
and used in the arkenfox user.js
|
||||
|
||||
It is in reverse order, so feel free to remove sections that do not apply
|
||||
It is in reverse order, so feel free to remove sections that do not apply
|
||||
|
||||
For instructions see:
|
||||
https://github.com/arkenfox/user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
|
||||
For instructions see:
|
||||
https://github.com/arkenfox/user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
|
||||
***/
|
||||
|
||||
(function() {
|
||||
let ops = [
|
||||
/* deprecated */
|
||||
(() => {
|
||||
|
||||
/* 78 */
|
||||
'media.autoplay.enabled.user-gestures-needed',
|
||||
'toolkit.cosmeticAnimations.enabled',
|
||||
/* 77 */
|
||||
'browser.urlbar.oneOffSearches',
|
||||
'browser.tabs.remote.allowLinkedWebInFileUriProcess',
|
||||
/* 76 */
|
||||
'extensions.blocklist.url',
|
||||
/* 74 */
|
||||
'geo.wifi.uri',
|
||||
'geo.wifi.logging.enabled',
|
||||
'privacy.userContext.longPressBehavior',
|
||||
'webgl.disable-extensions',
|
||||
/* 72 */
|
||||
if ('undefined' === typeof(Services)) return alert('about:config needs to be the active tab!');
|
||||
|
||||
const aPREFS = [
|
||||
/* deprecated */
|
||||
/* FF79-91 */
|
||||
'browser.cache.offline.storage.enable',
|
||||
'browser.download.hide_plugins_without_extensions',
|
||||
'browser.library.activity-stream.enabled',
|
||||
'browser.search.geoSpecificDefaults',
|
||||
'browser.search.geoSpecificDefaults.url',
|
||||
'dom.ipc.plugins.flash.subprocess.crashreporter.enabled',
|
||||
'dom.ipc.plugins.reportCrashURL',
|
||||
'dom.w3c_pointer_events.enabled',
|
||||
'intl.charset.fallback.override',
|
||||
'network.ftp.enabled',
|
||||
'plugin.state.flash',
|
||||
'security.mixed_content.block_object_subrequest',
|
||||
'security.ssl.errorReporting.automatic',
|
||||
'security.ssl.errorReporting.enabled',
|
||||
'security.ssl.errorReporting.url',
|
||||
/* 69-78 */
|
||||
'browser.newtabpage.activity-stream.telemetry.ping.endpoint',
|
||||
'toolkit.telemetry.hybridContent.enabled',
|
||||
'dom.indexedDB.enabled',
|
||||
/* 71 */
|
||||
'devtools.webide.enabled',
|
||||
'browser.tabs.remote.allowLinkedWebInFileUriProcess',
|
||||
'browser.urlbar.oneOffSearches',
|
||||
'devtools.webide.autoinstallADBExtension',
|
||||
'offline-apps.allow_by_default',
|
||||
/* 69 */
|
||||
'devtools.webide.enabled',
|
||||
'dom.indexedDB.enabled',
|
||||
'extensions.blocklist.url',
|
||||
'geo.wifi.logging.enabled',
|
||||
'geo.wifi.uri',
|
||||
'gfx.downloadable_fonts.woff2.enabled',
|
||||
'plugins.click_to_play',
|
||||
'media.autoplay.allow-muted',
|
||||
/* 68 */
|
||||
'browser.newtabpage.activity-stream.disableSnippets',
|
||||
'media.autoplay.enabled.user-gestures-needed',
|
||||
'offline-apps.allow_by_default',
|
||||
'plugins.click_to_play',
|
||||
'privacy.userContext.longPressBehavior',
|
||||
'toolkit.cosmeticAnimations.enabled',
|
||||
'toolkit.telemetry.hybridContent.enabled',
|
||||
'webgl.disable-extensions',
|
||||
/* 61-68 */
|
||||
'app.update.enabled',
|
||||
'browser.aboutHomeSnippets.updateUrl',
|
||||
'lightweightThemes.update.enabled',
|
||||
'security.csp.experimentalEnabled',
|
||||
/* F67 */
|
||||
'dom.event.highrestimestamp.enabled',
|
||||
'browser.newtabpage.activity-stream.asrouter.userprefs.cfr',
|
||||
/* 66 */
|
||||
'browser.chrome.errorReporter.enabled',
|
||||
'browser.chrome.errorReporter.submitUrl',
|
||||
'network.allow-experiments',
|
||||
/* 65 */
|
||||
'browser.urlbar.autocomplete.enabled',
|
||||
'browser.fixup.hide_user_pass',
|
||||
/* 64 */
|
||||
'browser.onboarding.enabled',
|
||||
'devtools.webide.autoinstallADBHelper',
|
||||
'devtools.webide.adbAddonURL',
|
||||
'security.csp.enable_violation_events',
|
||||
/* 63 */
|
||||
'browser.search.countryCode',
|
||||
'app.update.enabled',
|
||||
'shield.savant.enabled',
|
||||
'browser.chrome.favicons',
|
||||
'media.autoplay.enabled',
|
||||
'network.cookie.lifetime.days',
|
||||
'browser.ctrlTab.previews',
|
||||
/* 62 */
|
||||
'plugin.state.java',
|
||||
/* 61 */
|
||||
'browser.fixup.hide_user_pass',
|
||||
'browser.newtabpage.activity-stream.asrouter.userprefs.cfr',
|
||||
'browser.newtabpage.activity-stream.disableSnippets',
|
||||
'browser.onboarding.enabled',
|
||||
'browser.search.countryCode',
|
||||
'browser.urlbar.autocomplete.enabled',
|
||||
'devtools.webide.adbAddonURL',
|
||||
'devtools.webide.autoinstallADBHelper',
|
||||
'dom.event.highrestimestamp.enabled',
|
||||
'experiments.activeExperiment',
|
||||
'experiments.enabled',
|
||||
'experiments.manifest.uri',
|
||||
'experiments.supported',
|
||||
'experiments.activeExperiment',
|
||||
'lightweightThemes.update.enabled',
|
||||
'media.autoplay.enabled',
|
||||
'network.allow-experiments',
|
||||
'network.cookie.lifetime.days',
|
||||
'network.jar.block-remote-files',
|
||||
'network.jar.open-unsafe-types',
|
||||
/* 60 */
|
||||
'plugin.state.java',
|
||||
'security.csp.enable_violation_events',
|
||||
'security.csp.experimentalEnabled',
|
||||
'shield.savant.enabled',
|
||||
/* 60 or earlier */
|
||||
'browser.bookmarks.showRecentlyBookmarked',
|
||||
'browser.casting.enabled',
|
||||
'browser.crashReports.unsubmittedCheck.autoSubmit',
|
||||
'browser.formautofill.enabled',
|
||||
'browser.formfill.saveHttpsForms',
|
||||
'browser.fullscreen.animate',
|
||||
'browser.history.allowPopState',
|
||||
'browser.history.allowPushState',
|
||||
'browser.history.allowReplaceState',
|
||||
'browser.newtabpage.activity-stream.enabled',
|
||||
'browser.newtabpage.directory.ping',
|
||||
'browser.newtabpage.directory.source',
|
||||
'browser.newtabpage.enhanced',
|
||||
'browser.newtabpage.introShown',
|
||||
'extensions.shield-recipe-client.enabled',
|
||||
'extensions.shield-recipe-client.api_url',
|
||||
'browser.newtabpage.activity-stream.enabled',
|
||||
'dom.workers.enabled',
|
||||
/* 59 */
|
||||
'intl.locale.matchOS',
|
||||
'general.useragent.locale',
|
||||
'datareporting.healthreport.about.reportUrl',
|
||||
'dom.flyweb.enabled',
|
||||
'security.mixed_content.use_hsts',
|
||||
'security.mixed_content.send_hsts_priming',
|
||||
'network.http.referer.userControlPolicy',
|
||||
'security.xpconnect.plugin.unrestricted',
|
||||
'media.getusermedia.screensharing.allowed_domains',
|
||||
'camera.control.face_detection.enabled',
|
||||
'dom.disable_window_status_change',
|
||||
'dom.idle-observers-api.enabled',
|
||||
/* 58 */
|
||||
'browser.crashReports.unsubmittedCheck.autoSubmit',
|
||||
/* 57 */
|
||||
'social.whitelist',
|
||||
'social.toast-notifications.enabled',
|
||||
'social.shareDirectory',
|
||||
'social.remote-install.enabled',
|
||||
'social.directories',
|
||||
'social.share.activationPanelEnabled',
|
||||
'social.enabled',
|
||||
'media.eme.chromium-api.enabled',
|
||||
'devtools.webide.autoinstallFxdtAdapters',
|
||||
'browser.casting.enabled',
|
||||
'browser.bookmarks.showRecentlyBookmarked',
|
||||
/* 56 */
|
||||
'extensions.screenshots.system-disabled',
|
||||
'extensions.formautofill.experimental',
|
||||
/* 55 */
|
||||
'geo.security.allowinsecure',
|
||||
'browser.pocket.api',
|
||||
'browser.pocket.enabled',
|
||||
'browser.pocket.oAuthConsumerKey',
|
||||
'browser.pocket.site',
|
||||
'browser.polaris.enabled',
|
||||
'browser.safebrowsing.appRepURL',
|
||||
'browser.safebrowsing.enabled',
|
||||
'browser.safebrowsing.gethashURL',
|
||||
'browser.safebrowsing.malware.reportURL',
|
||||
'browser.safebrowsing.provider.google.appRepURL',
|
||||
'browser.safebrowsing.reportErrorURL',
|
||||
'browser.safebrowsing.reportGenericURL',
|
||||
'browser.safebrowsing.reportMalwareErrorURL',
|
||||
'browser.safebrowsing.reportMalwareMistakeURL',
|
||||
'browser.safebrowsing.reportMalwareURL',
|
||||
'browser.safebrowsing.reportPhishMistakeURL',
|
||||
'browser.safebrowsing.reportURL',
|
||||
'browser.safebrowsing.updateURL',
|
||||
'browser.search.showOneOffButtons',
|
||||
'browser.selfsupport.enabled',
|
||||
'browser.selfsupport.url',
|
||||
'browser.newtabpage.directory.ping',
|
||||
'browser.formfill.saveHttpsForms',
|
||||
'browser.formautofill.enabled',
|
||||
'dom.enable_user_timing',
|
||||
'dom.keyboardevent.code.enabled',
|
||||
'browser.sessionstore.privacy_level_deferred',
|
||||
'browser.tabs.animate',
|
||||
'browser.fullscreen.animate',
|
||||
/* 54 */
|
||||
'browser.safebrowsing.reportMalwareMistakeURL',
|
||||
'browser.safebrowsing.reportPhishMistakeURL',
|
||||
'media.eme.apiVisible',
|
||||
'dom.archivereader.enabled',
|
||||
/* 53 */
|
||||
'security.tls.unrestricted_rc4_fallback',
|
||||
'plugin.scan.Acrobat',
|
||||
'plugin.scan.Quicktime',
|
||||
'plugin.scan.WindowsMediaPlayer',
|
||||
'media.getusermedia.screensharing.allow_on_old_platforms',
|
||||
'dom.beforeAfterKeyboardEvent.enabled',
|
||||
/* 52 */
|
||||
'network.http.sendSecureXSiteReferrer',
|
||||
'media.gmp-eme-adobe.enabled',
|
||||
'media.gmp-eme-adobe.visible',
|
||||
'media.gmp-eme-adobe.autoupdate',
|
||||
'dom.telephony.enabled',
|
||||
'dom.battery.enabled',
|
||||
/* 51 */
|
||||
'media.block-play-until-visible',
|
||||
'dom.vr.oculus050.enabled',
|
||||
'network.http.spdy.enabled.v3-1',
|
||||
/* 50 */
|
||||
'browser.trackingprotection.gethashURL',
|
||||
'browser.trackingprotection.updateURL',
|
||||
'browser.urlbar.unifiedcomplete',
|
||||
'browser.usedOnWindows10.introURL',
|
||||
'plugins.update.notifyUser',
|
||||
'browser.safebrowsing.enabled',
|
||||
'security.ssl3.ecdhe_ecdsa_rc4_128_sha',
|
||||
'security.ssl3.ecdhe_rsa_rc4_128_sha',
|
||||
'security.ssl3.rsa_rc4_128_md5',
|
||||
'security.ssl3.rsa_rc4_128_sha',
|
||||
'plugins.update.url',
|
||||
/* 49 */
|
||||
'camera.control.autofocus_moving_callback.enabled',
|
||||
'camera.control.face_detection.enabled',
|
||||
'datareporting.healthreport.about.reportUrl',
|
||||
'datareporting.healthreport.about.reportUrlUnified',
|
||||
'datareporting.healthreport.documentServerURI',
|
||||
'datareporting.healthreport.service.enabled',
|
||||
'datareporting.policy.dataSubmissionEnabled.v2',
|
||||
'devtools.webide.autoinstallFxdtAdapters',
|
||||
'dom.archivereader.enabled',
|
||||
'dom.battery.enabled',
|
||||
'dom.beforeAfterKeyboardEvent.enabled',
|
||||
'dom.disable_image_src_set',
|
||||
'dom.disable_window_open_feature.scrollbars',
|
||||
'dom.disable_window_status_change',
|
||||
'dom.enable_user_timing',
|
||||
'dom.flyweb.enabled',
|
||||
'dom.idle-observers-api.enabled',
|
||||
'dom.keyboardevent.code.enabled',
|
||||
'dom.network.enabled',
|
||||
'dom.push.udp.wakeupEnabled',
|
||||
'dom.telephony.enabled',
|
||||
'dom.vr.oculus050.enabled',
|
||||
'dom.workers.enabled',
|
||||
'dom.workers.sharedWorkers.enabled',
|
||||
'extensions.formautofill.experimental',
|
||||
'extensions.screenshots.system-disabled',
|
||||
'extensions.shield-recipe-client.api_url',
|
||||
'extensions.shield-recipe-client.enabled',
|
||||
'full-screen-api.approval-required',
|
||||
'general.useragent.locale',
|
||||
'geo.security.allowinsecure',
|
||||
'intl.locale.matchOS',
|
||||
'loop.enabled',
|
||||
'loop.server',
|
||||
'loop.feedback.formURL',
|
||||
'loop.feedback.manualFormURL',
|
||||
'loop.facebook.appId',
|
||||
'loop.facebook.enabled',
|
||||
'loop.facebook.fallbackUrl',
|
||||
'loop.facebook.shareUrl',
|
||||
'loop.feedback.formURL',
|
||||
'loop.feedback.manualFormURL',
|
||||
'loop.logDomains',
|
||||
'dom.disable_window_open_feature.scrollbars',
|
||||
'dom.push.udp.wakeupEnabled',
|
||||
/* 48 */
|
||||
'browser.urlbar.unifiedcomplete',
|
||||
/* 47 */
|
||||
'toolkit.telemetry.unifiedIsOptIn',
|
||||
'datareporting.healthreport.about.reportUrlUnified',
|
||||
'browser.history.allowPopState',
|
||||
'browser.history.allowPushState',
|
||||
'browser.history.allowReplaceState',
|
||||
/* 46 */
|
||||
'datareporting.healthreport.service.enabled',
|
||||
'datareporting.healthreport.documentServerURI',
|
||||
'datareporting.policy.dataSubmissionEnabled.v2',
|
||||
'browser.safebrowsing.appRepURL',
|
||||
'browser.polaris.enabled',
|
||||
'browser.pocket.enabled',
|
||||
'browser.pocket.api',
|
||||
'browser.pocket.site',
|
||||
'browser.pocket.oAuthConsumerKey',
|
||||
/* 45 */
|
||||
'browser.sessionstore.privacy_level_deferred',
|
||||
/* 44 */
|
||||
'browser.safebrowsing.provider.google.appRepURL',
|
||||
'security.tls.insecure_fallback_hosts.use_static_list',
|
||||
'dom.workers.sharedWorkers.enabled',
|
||||
'dom.disable_image_src_set',
|
||||
/* 43 */
|
||||
'browser.safebrowsing.gethashURL',
|
||||
'browser.safebrowsing.updateURL',
|
||||
'browser.safebrowsing.malware.reportURL',
|
||||
'browser.trackingprotection.gethashURL',
|
||||
'browser.trackingprotection.updateURL',
|
||||
'loop.server',
|
||||
'media.block-play-until-visible',
|
||||
'media.eme.apiVisible',
|
||||
'media.eme.chromium-api.enabled',
|
||||
'media.getusermedia.screensharing.allow_on_old_platforms',
|
||||
'media.getusermedia.screensharing.allowed_domains',
|
||||
'media.gmp-eme-adobe.autoupdate',
|
||||
'media.gmp-eme-adobe.enabled',
|
||||
'media.gmp-eme-adobe.visible',
|
||||
'network.http.referer.userControlPolicy',
|
||||
'network.http.sendSecureXSiteReferrer',
|
||||
'network.http.spdy.enabled.http2draft',
|
||||
'network.http.spdy.enabled.v3-1',
|
||||
'network.websocket.enabled',
|
||||
'pageThumbs.enabled',
|
||||
'pfs.datasource.url',
|
||||
'browser.search.showOneOffButtons',
|
||||
/* 42 and earlier */
|
||||
'privacy.clearOnShutdown.passwords', // 42
|
||||
'full-screen-api.approval-required', // 42
|
||||
'browser.safebrowsing.reportErrorURL', // 41
|
||||
'browser.safebrowsing.reportGenericURL', // 41
|
||||
'browser.safebrowsing.reportMalwareErrorURL', // 41
|
||||
'browser.safebrowsing.reportMalwareURL', // 41
|
||||
'browser.safebrowsing.reportURL', // 41
|
||||
'plugins.enumerable_names', // 41
|
||||
'network.http.spdy.enabled.http2draft', // 41
|
||||
'camera.control.autofocus_moving_callback.enabled', // 37
|
||||
'privacy.donottrackheader.value', // 36
|
||||
'network.websocket.enabled', // 35
|
||||
'dom.network.enabled', // 31
|
||||
'pageThumbs.enabled', // 25
|
||||
'plugin.scan.Acrobat',
|
||||
'plugin.scan.Quicktime',
|
||||
'plugin.scan.WindowsMediaPlayer',
|
||||
'plugins.enumerable_names',
|
||||
'plugins.update.notifyUser',
|
||||
'plugins.update.url',
|
||||
'privacy.clearOnShutdown.passwords',
|
||||
'privacy.donottrackheader.value',
|
||||
'security.mixed_content.send_hsts_priming',
|
||||
'security.mixed_content.use_hsts',
|
||||
'security.ssl3.ecdhe_ecdsa_rc4_128_sha',
|
||||
'security.ssl3.ecdhe_rsa_rc4_128_sha',
|
||||
'security.ssl3.rsa_rc4_128_md5',
|
||||
'security.ssl3.rsa_rc4_128_sha',
|
||||
'security.tls.insecure_fallback_hosts.use_static_list',
|
||||
'security.tls.unrestricted_rc4_fallback',
|
||||
'security.xpconnect.plugin.unrestricted',
|
||||
'social.directories',
|
||||
'social.enabled',
|
||||
'social.remote-install.enabled',
|
||||
'social.share.activationPanelEnabled',
|
||||
'social.shareDirectory',
|
||||
'social.toast-notifications.enabled',
|
||||
'social.whitelist',
|
||||
'toolkit.telemetry.unifiedIsOptIn',
|
||||
|
||||
/* reset parrot: check your open about:config after running the script */
|
||||
'_user.js.parrot'
|
||||
]
|
||||
];
|
||||
|
||||
if("undefined" === typeof(Services)) {
|
||||
alert("about:config needs to be the active tab!");
|
||||
return;
|
||||
}
|
||||
console.clear();
|
||||
|
||||
let c = 0;
|
||||
for (let i = 0, len = ops.length; i < len; i++) {
|
||||
if (Services.prefs.prefHasUserValue(ops[i])) {
|
||||
Services.prefs.clearUserPref(ops[i]);
|
||||
if (!Services.prefs.prefHasUserValue(ops[i])) {
|
||||
console.log("reset", ops[i]);
|
||||
for (const sPname of aPREFS) {
|
||||
if (Services.prefs.prefHasUserValue(sPname)) {
|
||||
Services.prefs.clearUserPref(sPname);
|
||||
if (!Services.prefs.prefHasUserValue(sPname)) {
|
||||
console.info('reset', sPname);
|
||||
c++;
|
||||
} else { console.log("failed to reset", ops[i]); }
|
||||
} else console.warn('failed to reset', sPname);
|
||||
}
|
||||
}
|
||||
|
||||
focus();
|
||||
|
||||
let d = (c==1) ? " pref" : " prefs";
|
||||
if (c > 0) {
|
||||
alert("successfully reset " + c + d + "\n\nfor details check the Browser Console (Ctrl+Shift+J)");
|
||||
} else { alert("nothing to reset"); }
|
||||
const d = (c==1) ? ' pref' : ' prefs';
|
||||
alert(c ? 'successfully reset ' + c + d + "\n\nfor details check the console" : 'nothing to reset');
|
||||
|
||||
return 'all done';
|
||||
|
||||
})();
|
||||
|
@ -1,37 +1,223 @@
|
||||
/***
|
||||
This will reset the preferences that have been removed completely from the arkenfox user.js.
|
||||
This will reset the preferences that have been removed completely from the arkenfox user.js.
|
||||
|
||||
Last updated: 07-Apr-2021
|
||||
Last updated: 29-August-2021
|
||||
|
||||
For instructions see:
|
||||
https://github.com/arkenfox/user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
|
||||
For instructions see:
|
||||
https://github.com/arkenfox/user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
|
||||
***/
|
||||
|
||||
(function() {
|
||||
let ops = [
|
||||
(() => {
|
||||
|
||||
if ('undefined' === typeof(Services)) return alert('about:config needs to be the active tab!');
|
||||
|
||||
const aPREFS = [
|
||||
/* removed in arkenfox user.js */
|
||||
/* 52-alpha */
|
||||
/* 91 */
|
||||
'alerts.showFavicons',
|
||||
'dom.allow_cut_copy',
|
||||
'dom.battery.enabled',
|
||||
'dom.storage.enabled',
|
||||
'dom.vibrator.enabled',
|
||||
'general.warnOnAboutConfig',
|
||||
'gfx.direct2d.disabled',
|
||||
'layers.acceleration.disabled',
|
||||
'media.getusermedia.audiocapture.enabled',
|
||||
'media.getusermedia.browser.enabled',
|
||||
'media.getusermedia.screensharing.enabled',
|
||||
'media.media-capabilities.enabled',
|
||||
'security.insecure_connection_icon.enabled',
|
||||
'security.mixed_content.block_active_content',
|
||||
/* 79-90 */
|
||||
'browser.newtabpage.activity-stream.asrouter.providers.snippets',
|
||||
'browser.send_pings.require_same_host',
|
||||
'browser.urlbar.usepreloadedtopurls.enabled',
|
||||
'dom.IntersectionObserver.enabled',
|
||||
'extensions.screenshots.upload-disabled',
|
||||
'media.gmp-widevinecdm.visible',
|
||||
'network.http.redirection-limit',
|
||||
'privacy.partition.network_state',
|
||||
'security.ssl.enable_ocsp_stapling',
|
||||
'security.ssl3.dhe_rsa_aes_128_sha',
|
||||
'security.ssl3.dhe_rsa_aes_256_sha',
|
||||
'webgl.min_capability_mode',
|
||||
/* 69-78 */
|
||||
'browser.cache.disk_cache_ssl',
|
||||
'browser.search.geoip.url',
|
||||
'browser.search.region',
|
||||
'browser.sessionhistory.max_entries',
|
||||
'dom.push.connection.enabled',
|
||||
'dom.push.serverURL',
|
||||
'extensions.getAddons.discovery.api_url',
|
||||
'extensions.htmlaboutaddons.discover.enabled',
|
||||
'extensions.webservice.discoverURL',
|
||||
'intl.locale.requested',
|
||||
'intl.regional_prefs.use_os_locales',
|
||||
'media.block-autoplay-until-in-foreground',
|
||||
'middlemouse.paste',
|
||||
'plugin.sessionPermissionNow.intervalInMinutes',
|
||||
'privacy.usercontext.about_newtab_segregation.enabled',
|
||||
'security.insecure_connection_icon.pbmode.enabled',
|
||||
'security.insecure_connection_text.pbmode.enabled',
|
||||
'webgl.dxgl.enabled',
|
||||
/* 61-68 */
|
||||
'app.update.service.enabled',
|
||||
'app.update.silent',
|
||||
'app.update.staging.enabled',
|
||||
'browser.cache.disk.capacity',
|
||||
'browser.cache.disk.smart_size.enabled',
|
||||
'browser.cache.disk.smart_size.first_run',
|
||||
'browser.cache.offline.insecure.enable',
|
||||
'browser.contentblocking.enabled',
|
||||
'browser.eme.ui.enabled',
|
||||
'browser.laterrun.enabled',
|
||||
'browser.offline-apps.notify',
|
||||
'browser.rights.3.shown',
|
||||
'browser.safebrowsing.blockedURIs.enabled',
|
||||
'browser.safebrowsing.downloads.remote.block_dangerous',
|
||||
'browser.safebrowsing.downloads.remote.block_dangerous_host',
|
||||
'browser.safebrowsing.provider.google.gethashURL',
|
||||
'browser.safebrowsing.provider.google.reportMalwareMistakeURL',
|
||||
'browser.safebrowsing.provider.google.reportPhishMistakeURL',
|
||||
'browser.safebrowsing.provider.google.reportURL',
|
||||
'browser.safebrowsing.provider.google.updateURL',
|
||||
'browser.safebrowsing.provider.google4.dataSharing.enabled',
|
||||
'browser.safebrowsing.provider.google4.dataSharingURL',
|
||||
'browser.safebrowsing.provider.google4.gethashURL',
|
||||
'browser.safebrowsing.provider.google4.reportMalwareMistakeURL',
|
||||
'browser.safebrowsing.provider.google4.reportPhishMistakeURL',
|
||||
'browser.safebrowsing.provider.google4.reportURL',
|
||||
'browser.safebrowsing.provider.google4.updateURL',
|
||||
'browser.safebrowsing.provider.mozilla.gethashURL',
|
||||
'browser.safebrowsing.provider.mozilla.updateURL',
|
||||
'browser.safebrowsing.reportPhishURL',
|
||||
'browser.sessionhistory.max_total_viewers',
|
||||
'browser.sessionstore.max_windows_undo',
|
||||
'browser.slowStartup.maxSamples',
|
||||
'browser.slowStartup.notificationDisabled',
|
||||
'browser.slowStartup.samples',
|
||||
'browser.storageManager.enabled',
|
||||
'browser.urlbar.autoFill.typed',
|
||||
'browser.urlbar.filter.javascript',
|
||||
'browser.urlbar.maxHistoricalSearchSuggestions',
|
||||
'browser.urlbar.userMadeSearchSuggestionsChoice',
|
||||
'canvas.capturestream.enabled',
|
||||
'dom.allow_scripts_to_close_windows',
|
||||
'dom.disable_window_flip',
|
||||
'dom.forms.datetime',
|
||||
'dom.imagecapture.enabled',
|
||||
'dom.popup_maximum',
|
||||
'extensions.webextensions.keepStorageOnUninstall',
|
||||
'extensions.webextensions.keepUuidOnUninstall',
|
||||
'font.blacklist.underline_offset',
|
||||
'font.name.monospace.x-unicode',
|
||||
'font.name.monospace.x-western',
|
||||
'font.name.sans-serif.x-unicode',
|
||||
'font.name.sans-serif.x-western',
|
||||
'font.name.serif.x-unicode',
|
||||
'font.name.serif.x-western',
|
||||
'gfx.offscreencanvas.enabled',
|
||||
'javascript.options.shared_memory',
|
||||
'layout.css.font-loading-api.enabled',
|
||||
'media.gmp-gmpopenh264.autoupdate',
|
||||
'media.gmp-gmpopenh264.enabled',
|
||||
'media.gmp-manager.updateEnabled',
|
||||
'media.gmp-manager.url',
|
||||
'media.gmp-manager.url.override',
|
||||
'media.gmp-widevinecdm.autoupdate',
|
||||
'media.gmp.trial-create.enabled',
|
||||
'media.navigator.video.enabled',
|
||||
'media.peerconnection.ice.tcp',
|
||||
'media.peerconnection.identity.enabled',
|
||||
'media.peerconnection.identity.timeout',
|
||||
'media.peerconnection.turn.disable',
|
||||
'media.peerconnection.use_document_iceservers',
|
||||
'media.peerconnection.video.enabled',
|
||||
'network.auth.subresource-img-cross-origin-http-auth-allow',
|
||||
'network.cookie.leave-secure-alone',
|
||||
'network.cookie.same-site.enabled',
|
||||
'network.dnsCacheEntries',
|
||||
'network.dnsCacheExpiration',
|
||||
'network.http.fast-fallback-to-IPv4',
|
||||
'network.proxy.autoconfig_url.include_path',
|
||||
'offline-apps.quota.warn',
|
||||
'pdfjs.enableWebGL',
|
||||
'plugin.default.state',
|
||||
'plugin.defaultXpi.state',
|
||||
'plugin.scan.plid.all',
|
||||
'privacy.trackingprotection.annotate_channels',
|
||||
'privacy.trackingprotection.lower_network_priority',
|
||||
'privacy.trackingprotection.pbmode.enabled',
|
||||
'privacy.trackingprotection.ui.enabled',
|
||||
'security.data_uri.block_toplevel_data_uri_navigations',
|
||||
'security.insecure_field_warning.contextual.enabled',
|
||||
'security.insecure_password.ui.enabled',
|
||||
'security.tls.version.fallback-limit',
|
||||
'services.blocklist.addons.collection',
|
||||
'services.blocklist.gfx.collection',
|
||||
'services.blocklist.onecrl.collection',
|
||||
'services.blocklist.plugins.collection',
|
||||
'services.blocklist.signing.enforced',
|
||||
'services.blocklist.update_enabled',
|
||||
'signon.autofillForms.http',
|
||||
'signon.storeWhenAutocompleteOff',
|
||||
'toolkit.telemetry.cachedClientID',
|
||||
'urlclassifier.trackingTable',
|
||||
'xpinstall.whitelist.required',
|
||||
/* 60 or lower */
|
||||
'browser.migrate.automigrate.enabled',
|
||||
'browser.search.geoip.timeout',
|
||||
'browser.search.reset.enabled',
|
||||
'browser.search.reset.whitelist',
|
||||
/* 54-alpha */
|
||||
'browser.migrate.automigrate.enabled',
|
||||
'browser.stopReloadAnimation.enabled',
|
||||
'browser.tabs.insertRelatedAfterCurrent',
|
||||
'browser.tabs.loadDivertedInBackground',
|
||||
'browser.tabs.loadInBackground',
|
||||
'browser.tabs.selectOwnerOnClose',
|
||||
'browser.urlbar.clickSelectsAll',
|
||||
'browser.urlbar.doubleClickSelectsAll',
|
||||
'device.storage.enabled',
|
||||
'dom.keyboardevent.dispatch_during_composition',
|
||||
'dom.presentation.controller.enabled',
|
||||
'dom.presentation.discoverable',
|
||||
'dom.presentation.discovery.enabled',
|
||||
'dom.presentation.enabled',
|
||||
'dom.presentation.receiver.enabled',
|
||||
'dom.presentation.session_transport.data_channel.enable',
|
||||
'dom.vr.oculus.enabled',
|
||||
'dom.vr.openvr.enabled',
|
||||
'dom.vr.osvr.enabled',
|
||||
'extensions.pocket.api',
|
||||
'extensions.pocket.oAuthConsumerKey',
|
||||
'extensions.pocket.site',
|
||||
'general.useragent.compatMode.firefox',
|
||||
'geo.wifi.xhr.timeout',
|
||||
'gfx.layerscope.enabled',
|
||||
'media.flac.enabled',
|
||||
'media.mediasource.enabled',
|
||||
'media.mediasource.mp4.enabled',
|
||||
'media.mediasource.webm.audio.enabled',
|
||||
'media.mediasource.webm.enabled',
|
||||
'media.mp4.enabled',
|
||||
'media.ogg.enabled',
|
||||
'media.ogg.flac.enabled',
|
||||
'media.opus.enabled',
|
||||
'media.raw.enabled',
|
||||
'media.wave.enabled',
|
||||
'media.webm.enabled',
|
||||
'media.webspeech.recognition.enable',
|
||||
'media.wmf.amd.vp9.enabled',
|
||||
'media.wmf.enabled',
|
||||
'media.wmf.vp9.enabled',
|
||||
'network.dns.blockDotOnion',
|
||||
'network.stricttransportsecurity.preloadlist',
|
||||
'security.block_script_with_wrong_mime',
|
||||
'security.fileuri.strict_origin_policy',
|
||||
'security.sri.enable',
|
||||
'services.sync.enabled',
|
||||
'ui.submenuDelay',
|
||||
'webextensions.storage.sync.enabled',
|
||||
'webextensions.storage.sync.serverURL',
|
||||
/* 55-alpha */
|
||||
'dom.keyboardevent.dispatch_during_composition', // default is false anyway
|
||||
'dom.vr.oculus.enabled', // covered by dom.vr.enabled
|
||||
'dom.vr.openvr.enabled', // ditto
|
||||
'dom.vr.osvr.enabled', // ditto
|
||||
'extensions.pocket.api', // covered by extensions.pocket.enabled
|
||||
'extensions.pocket.oAuthConsumerKey', // ditto
|
||||
'extensions.pocket.site', // ditto
|
||||
/* 57-alpha */
|
||||
'geo.wifi.xhr.timeout', // covered by geo.enabled
|
||||
'browser.search.geoip.timeout', // ditto
|
||||
'media.webspeech.recognition.enable', // default is false anyway
|
||||
'gfx.layerscope.enabled', // default is false anyway
|
||||
/* 58-alpha */
|
||||
// excluding these e10 settings
|
||||
// 'browser.tabs.remote.autostart',
|
||||
// 'browser.tabs.remote.autostart.2',
|
||||
@ -47,222 +233,28 @@
|
||||
// 'dom.ipc.plugins.sandbox-level.default',
|
||||
// 'dom.ipc.plugins.sandbox-level.flash',
|
||||
// 'security.sandbox.logging.enabled',
|
||||
'dom.presentation.controller.enabled',
|
||||
'dom.presentation.discoverable',
|
||||
'dom.presentation.discovery.enabled',
|
||||
'dom.presentation.enabled',
|
||||
'dom.presentation.receiver.enabled',
|
||||
'dom.presentation.session_transport.data_channel.enable',
|
||||
/* 59-alpha */
|
||||
'browser.stopReloadAnimation.enabled',
|
||||
'browser.tabs.insertRelatedAfterCurrent',
|
||||
'browser.tabs.loadDivertedInBackground',
|
||||
'browser.tabs.loadInBackground',
|
||||
'browser.tabs.selectOwnerOnClose',
|
||||
'browser.urlbar.clickSelectsAll',
|
||||
'browser.urlbar.doubleClickSelectsAll',
|
||||
'media.flac.enabled',
|
||||
'media.mediasource.enabled',
|
||||
'media.mediasource.mp4.enabled',
|
||||
'media.mediasource.webm.audio.enabled',
|
||||
'media.mediasource.webm.enabled',
|
||||
'media.mp4.enabled',
|
||||
'media.ogg.enabled',
|
||||
'media.ogg.flac.enabled',
|
||||
'media.opus.enabled',
|
||||
'media.raw.enabled',
|
||||
'media.wave.enabled',
|
||||
'media.webm.enabled',
|
||||
'media.wmf.amd.vp9.enabled',
|
||||
'media.wmf.enabled',
|
||||
'media.wmf.vp9.enabled',
|
||||
'ui.submenuDelay',
|
||||
/* 60-beta - these were all at default anyway */
|
||||
'device.storage.enabled',
|
||||
'general.useragent.compatMode.firefox',
|
||||
'network.dns.blockDotOnion',
|
||||
'network.stricttransportsecurity.preloadlist',
|
||||
'security.block_script_with_wrong_mime',
|
||||
'security.fileuri.strict_origin_policy',
|
||||
'security.sri.enable',
|
||||
/* 61-beta */
|
||||
'browser.laterrun.enabled',
|
||||
'browser.offline-apps.notify',
|
||||
'browser.rights.3.shown',
|
||||
'browser.slowStartup.maxSamples',
|
||||
'browser.slowStartup.notificationDisabled',
|
||||
'browser.slowStartup.samples',
|
||||
'browser.storageManager.enabled',
|
||||
'dom.allow_scripts_to_close_windows',
|
||||
'dom.disable_window_flip',
|
||||
'network.http.fast-fallback-to-IPv4',
|
||||
'offline-apps.quota.warn',
|
||||
'services.blocklist.signing.enforced',
|
||||
/* 62-beta */
|
||||
'browser.urlbar.autoFill.typed',
|
||||
'security.tls.version.fallback-limit',
|
||||
/* 63-beta */
|
||||
'extensions.webextensions.keepStorageOnUninstall',
|
||||
'extensions.webextensions.keepUuidOnUninstall',
|
||||
'privacy.trackingprotection.ui.enabled',
|
||||
/* 64-beta */
|
||||
'browser.eme.ui.enabled',
|
||||
'browser.sessionstore.max_windows_undo',
|
||||
'network.auth.subresource-img-cross-origin-http-auth-allow',
|
||||
'media.peerconnection.ice.tcp',
|
||||
'media.peerconnection.identity.enabled',
|
||||
'media.peerconnection.identity.timeout',
|
||||
'media.peerconnection.turn.disable',
|
||||
'media.peerconnection.use_document_iceservers',
|
||||
'media.peerconnection.video.enabled',
|
||||
'media.navigator.video.enabled',
|
||||
/* 65-beta */
|
||||
'browser.contentblocking.enabled',
|
||||
'browser.urlbar.maxHistoricalSearchSuggestions',
|
||||
/* 67-beta */
|
||||
'app.update.service.enabled',
|
||||
'app.update.silent',
|
||||
'app.update.staging.enabled',
|
||||
'browser.cache.disk.capacity',
|
||||
'browser.cache.disk.smart_size.enabled',
|
||||
'browser.cache.disk.smart_size.first_run',
|
||||
'browser.cache.offline.insecure.enable',
|
||||
'browser.safebrowsing.downloads.remote.url',
|
||||
'browser.safebrowsing.provider.google.reportMalwareMistakeURL',
|
||||
'browser.safebrowsing.provider.google.reportPhishMistakeURL',
|
||||
'browser.safebrowsing.provider.google.reportURL',
|
||||
'browser.safebrowsing.provider.google4.dataSharing.enabled',
|
||||
'browser.safebrowsing.provider.google4.dataSharingURL',
|
||||
'browser.safebrowsing.provider.google4.reportMalwareMistakeURL',
|
||||
'browser.safebrowsing.provider.google4.reportPhishMistakeURL',
|
||||
'browser.safebrowsing.provider.google4.reportURL',
|
||||
'browser.safebrowsing.reportPhishURL',
|
||||
'browser.sessionhistory.max_total_viewers',
|
||||
'browser.urlbar.filter.javascript',
|
||||
'canvas.capturestream.enabled',
|
||||
'dom.imagecapture.enabled',
|
||||
'dom.popup_maximum',
|
||||
'gfx.offscreencanvas.enabled',
|
||||
'javascript.options.shared_memory',
|
||||
'media.gmp-gmpopenh264.autoupdate',
|
||||
'media.gmp-gmpopenh264.enabled',
|
||||
'media.gmp-manager.updateEnabled',
|
||||
'media.gmp-manager.url',
|
||||
'media.gmp-manager.url.override',
|
||||
'media.gmp.trial-create.enabled',
|
||||
'media.gmp-widevinecdm.autoupdate',
|
||||
'network.cookie.leave-secure-alone',
|
||||
'network.cookie.same-site.enabled',
|
||||
'network.dnsCacheEntries',
|
||||
'network.dnsCacheExpiration',
|
||||
'network.proxy.autoconfig_url.include_path',
|
||||
'pdfjs.enableWebGL',
|
||||
'plugin.default.state',
|
||||
'plugin.defaultXpi.state',
|
||||
'plugin.scan.plid.all',
|
||||
'security.data_uri.block_toplevel_data_uri_navigations',
|
||||
'security.insecure_field_warning.contextual.enabled',
|
||||
'security.insecure_password.ui.enabled',
|
||||
'signon.autofillForms.http',
|
||||
'signon.storeWhenAutocompleteOff',
|
||||
'xpinstall.whitelist.required',
|
||||
/* 67-beta: Blocklist, SB & TP cleanup: these were all inactive */
|
||||
'browser.safebrowsing.downloads.remote.block_dangerous',
|
||||
'browser.safebrowsing.downloads.remote.block_dangerous_host',
|
||||
'browser.safebrowsing.blockedURIs.enabled',
|
||||
'browser.safebrowsing.provider.google.gethashURL',
|
||||
'browser.safebrowsing.provider.google.updateURL',
|
||||
'browser.safebrowsing.provider.google4.gethashURL',
|
||||
'browser.safebrowsing.provider.google4.updateURL',
|
||||
'browser.safebrowsing.provider.mozilla.gethashURL',
|
||||
'browser.safebrowsing.provider.mozilla.updateURL',
|
||||
'browser.urlbar.userMadeSearchSuggestionsChoice',
|
||||
'privacy.trackingprotection.annotate_channels',
|
||||
'privacy.trackingprotection.enabled',
|
||||
'privacy.trackingprotection.lower_network_priority',
|
||||
'privacy.trackingprotection.pbmode.enabled',
|
||||
'services.blocklist.addons.collection',
|
||||
'services.blocklist.gfx.collection',
|
||||
'services.blocklist.onecrl.collection',
|
||||
'services.blocklist.plugins.collection',
|
||||
'services.blocklist.update_enabled',
|
||||
'urlclassifier.trackingTable',
|
||||
/* 68-beta */
|
||||
'dom.forms.datetime',
|
||||
'font.blacklist.underline_offset',
|
||||
'font.name.monospace.x-unicode',
|
||||
'font.name.monospace.x-western',
|
||||
'font.name.sans-serif.x-unicode',
|
||||
'font.name.sans-serif.x-western',
|
||||
'font.name.serif.x-unicode',
|
||||
'font.name.serif.x-western',
|
||||
'layout.css.font-loading-api.enabled',
|
||||
'toolkit.telemetry.cachedClientID',
|
||||
/* 69-beta */
|
||||
'plugin.sessionPermissionNow.intervalInMinutes',
|
||||
/* 70-beta */
|
||||
'browser.cache.disk_cache_ssl',
|
||||
'browser.sessionhistory.max_entries',
|
||||
'dom.push.connection.enabled',
|
||||
'dom.push.serverURL',
|
||||
'extensions.getAddons.discovery.api_url',
|
||||
'extensions.htmlaboutaddons.discover.enabled',
|
||||
'extensions.webservice.discoverURL',
|
||||
'intl.locale.requested',
|
||||
'intl.regional_prefs.use_os_locales',
|
||||
'privacy.usercontext.about_newtab_segregation.enabled',
|
||||
'security.insecure_connection_icon.pbmode.enabled',
|
||||
'security.insecure_connection_text.pbmode.enabled',
|
||||
'webgl.dxgl.enabled',
|
||||
/* 71-beta */
|
||||
'media.block-autoplay-until-in-foreground',
|
||||
'middlemouse.paste',
|
||||
/* 75-beta */
|
||||
'browser.search.geoip.url',
|
||||
'browser.search.region',
|
||||
/* 79-beta */
|
||||
'browser.urlbar.usepreloadedtopurls.enabled',
|
||||
/* 82-beta */
|
||||
'dom.IntersectionObserver.enabled',
|
||||
'extensions.screenshots.upload-disabled',
|
||||
'privacy.partition.network_state',
|
||||
'security.ssl3.dhe_rsa_aes_128_sha',
|
||||
'security.ssl3.dhe_rsa_aes_256_sha',
|
||||
/* 84-beta */
|
||||
'browser.newtabpage.activity-stream.asrouter.providers.snippets',
|
||||
/* 85-beta */
|
||||
'network.http.redirection-limit',
|
||||
/* 86-beta */
|
||||
'media.gmp-widevinecdm.visible',
|
||||
/* 87-beta */
|
||||
'browser.send_pings.require_same_host',
|
||||
/* 88-beta */
|
||||
'webgl.min_capability_mode',
|
||||
/* reset parrot: check your open about:config after running the script */
|
||||
'_user.js.parrot'
|
||||
]
|
||||
];
|
||||
|
||||
if("undefined" === typeof(Services)) {
|
||||
alert("about:config needs to be the active tab!");
|
||||
return;
|
||||
}
|
||||
console.clear();
|
||||
|
||||
let c = 0;
|
||||
for (let i = 0, len = ops.length; i < len; i++) {
|
||||
if (Services.prefs.prefHasUserValue(ops[i])) {
|
||||
Services.prefs.clearUserPref(ops[i]);
|
||||
if (!Services.prefs.prefHasUserValue(ops[i])) {
|
||||
console.log("reset", ops[i]);
|
||||
for (const sPname of aPREFS) {
|
||||
if (Services.prefs.prefHasUserValue(sPname)) {
|
||||
Services.prefs.clearUserPref(sPname);
|
||||
if (!Services.prefs.prefHasUserValue(sPname)) {
|
||||
console.info('reset', sPname);
|
||||
c++;
|
||||
} else { console.log("failed to reset", ops[i]); }
|
||||
} else console.warn('failed to reset', sPname);
|
||||
}
|
||||
}
|
||||
|
||||
focus();
|
||||
|
||||
let d = (c==1) ? " pref" : " prefs";
|
||||
if (c > 0) {
|
||||
alert("successfully reset " + c + d + "\n\nfor details check the Browser Console (Ctrl+Shift+J)");
|
||||
} else { alert("nothing to reset"); }
|
||||
const d = (c==1) ? ' pref' : ' prefs';
|
||||
alert(c ? 'successfully reset ' + c + d + "\n\nfor details check the console" : 'nothing to reset');
|
||||
|
||||
return 'all done';
|
||||
|
||||
})();
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
/*** arkenfox user.js troubleshooter.js v1.6.3 ***/
|
||||
|
||||
(function() {
|
||||
|
66
updater.sh
66
updater.sh
@ -2,7 +2,7 @@
|
||||
|
||||
## arkenfox user.js updater for macOS and Linux
|
||||
|
||||
## version: 3.0
|
||||
## version: 3.2
|
||||
## Author: Pat Johnson (@overdodactyl)
|
||||
## Additional contributors: @earthlng, @ema-pe, @claustromaniac
|
||||
|
||||
@ -41,9 +41,9 @@ ESR=false
|
||||
|
||||
# Download method priority: curl -> wget
|
||||
DOWNLOAD_METHOD=''
|
||||
if [[ $(command -v 'curl') ]]; then
|
||||
if command -v curl >/dev/null; then
|
||||
DOWNLOAD_METHOD='curl --max-redirs 3 -so'
|
||||
elif [[ $(command -v 'wget') ]]; then
|
||||
elif command -v wget >/dev/null; then
|
||||
DOWNLOAD_METHOD='wget --max-redirect 3 --quiet -O'
|
||||
else
|
||||
echo -e "${RED}This script requires curl or wget.\nProcess aborted${NC}"
|
||||
@ -51,7 +51,7 @@ else
|
||||
fi
|
||||
|
||||
|
||||
show_banner () {
|
||||
show_banner() {
|
||||
echo -e "${BBLUE}
|
||||
############################################################################
|
||||
#### ####
|
||||
@ -103,13 +103,13 @@ Optional Arguments:
|
||||
# File Handling #
|
||||
#########################
|
||||
|
||||
download_file () { # expects URL as argument ($1)
|
||||
download_file() { # expects URL as argument ($1)
|
||||
declare -r tf=$(mktemp)
|
||||
|
||||
$DOWNLOAD_METHOD "${tf}" "$1" && echo "$tf" || echo '' # return the temp-filename or empty string on error
|
||||
}
|
||||
|
||||
open_file () { # expects one argument: file_path
|
||||
open_file() { # expects one argument: file_path
|
||||
if [ "$(uname)" == 'Darwin' ]; then
|
||||
open "$1"
|
||||
elif [ "$(uname -s | cut -c -5)" == "Linux" ]; then
|
||||
@ -119,11 +119,11 @@ open_file () { # expects one argument: file_path
|
||||
fi
|
||||
}
|
||||
|
||||
readIniFile () { # expects one argument: absolute path of profiles.ini
|
||||
readIniFile() { # expects one argument: absolute path of profiles.ini
|
||||
declare -r inifile="$1"
|
||||
|
||||
# tempIni will contain: [ProfileX], Name=, IsRelative= and Path= (and Default= if present) of the only (if) or the selected (else) profile
|
||||
if [ $(grep -c '^\[Profile' "${inifile}") -eq "1" ]; then ### only 1 profile found
|
||||
if [ "$(grep -c '^\[Profile' "${inifile}")" -eq "1" ]; then ### only 1 profile found
|
||||
tempIni="$(grep '^\[Profile' -A 4 "${inifile}")"
|
||||
else
|
||||
echo -e "Profiles found:\n––––––––––––––––––––––––––––––"
|
||||
@ -150,7 +150,7 @@ readIniFile () { # expects one argument: absolute path of profiles.ini
|
||||
[[ ${pathisrel} == "1" ]] && PROFILE_PATH="$(dirname "${inifile}")/${PROFILE_PATH}"
|
||||
}
|
||||
|
||||
getProfilePath () {
|
||||
getProfilePath() {
|
||||
declare -r f1=~/Library/Application\ Support/Firefox/profiles.ini
|
||||
declare -r f2=~/.mozilla/firefox/profiles.ini
|
||||
|
||||
@ -175,8 +175,8 @@ getProfilePath () {
|
||||
#########################
|
||||
|
||||
# Returns the version number of a updater.sh file
|
||||
get_updater_version () {
|
||||
echo $(sed -n '5 s/.*[[:blank:]]\([[:digit:]]*\.[[:digit:]]*\)/\1/p' "$1")
|
||||
get_updater_version() {
|
||||
echo "$(sed -n '5 s/.*[[:blank:]]\([[:digit:]]*\.[[:digit:]]*\)/\1/p' "$1")"
|
||||
}
|
||||
|
||||
# Update updater.sh
|
||||
@ -184,14 +184,14 @@ get_updater_version () {
|
||||
# Args:
|
||||
# -d: New version will not be looked for and update will not occur
|
||||
# -u: Check for update, if available, execute without asking
|
||||
update_updater () {
|
||||
[ $UPDATE = 'no' ] && return 0 # User signified not to check for updates
|
||||
update_updater() {
|
||||
[ "$UPDATE" = 'no' ] && return 0 # User signified not to check for updates
|
||||
|
||||
declare -r tmpfile="$(download_file 'https://raw.githubusercontent.com/arkenfox/user.js/master/updater.sh')"
|
||||
[ -z "${tmpfile}" ] && echo -e "${RED}Error! Could not download updater.sh${NC}" && return 1 # check if download failed
|
||||
|
||||
if [[ $(get_updater_version "$SCRIPT_FILE") < $(get_updater_version "${tmpfile}") ]]; then
|
||||
if [ $UPDATE = 'check' ]; then
|
||||
if [ "$UPDATE" = 'check' ]; then
|
||||
echo -e "There is a newer version of updater.sh available. ${RED}Update and execute Y/N?${NC}"
|
||||
read -p "" -n 1 -r
|
||||
echo -e "\n\n"
|
||||
@ -211,11 +211,11 @@ update_updater () {
|
||||
#########################
|
||||
|
||||
# Returns version number of a user.js file
|
||||
get_userjs_version () {
|
||||
[ -e $1 ] && echo "$(sed -n '4p' "$1")" || echo "Not detected."
|
||||
get_userjs_version() {
|
||||
[ -e "$1" ] && echo "$(sed -n '4p' "$1")" || echo "Not detected."
|
||||
}
|
||||
|
||||
add_override () {
|
||||
add_override() {
|
||||
input=$1
|
||||
if [ -f "$input" ]; then
|
||||
echo "" >> user.js
|
||||
@ -235,27 +235,27 @@ add_override () {
|
||||
fi
|
||||
}
|
||||
|
||||
remove_comments () { # expects 2 arguments: from-file and to-file
|
||||
sed -e 's/^[[:space:]]*\/\/.*$//' -e '/^\/\*/,/\*\//d' -e '/^[[:space:]]*$/d' -e 's/);[[:space:]]*\/\/.*/);/' "$1" > "$2"
|
||||
remove_comments() { # expects 2 arguments: from-file and to-file
|
||||
sed -e '/^\/\*.*\*\/[[:space:]]*$/d' -e '/^\/\*/,/\*\//d' -e 's|^[[:space:]]*//.*$||' -e '/^[[:space:]]*$/d' -e 's|);[[:space:]]*//.*|);|' "$1" > "$2"
|
||||
}
|
||||
|
||||
# Applies latest version of user.js and any custom overrides
|
||||
update_userjs () {
|
||||
update_userjs() {
|
||||
declare -r newfile="$(download_file 'https://raw.githubusercontent.com/arkenfox/user.js/master/user.js')"
|
||||
[ -z "${newfile}" ] && echo -e "${RED}Error! Could not download user.js${NC}" && return 1 # check if download failed
|
||||
|
||||
echo -e "Please observe the following information:
|
||||
Firefox profile: ${ORANGE}$(pwd)${NC}
|
||||
Available online: ${ORANGE}$(get_userjs_version $newfile)${NC}
|
||||
Available online: ${ORANGE}$(get_userjs_version "$newfile")${NC}
|
||||
Currently using: ${ORANGE}$(get_userjs_version user.js)${NC}\n\n"
|
||||
|
||||
if [ $CONFIRM = 'yes' ]; then
|
||||
if [ "$CONFIRM" = 'yes' ]; then
|
||||
echo -e "This script will update to the latest user.js file and append any custom configurations from user-overrides.js. ${RED}Continue Y/N? ${NC}"
|
||||
read -p "" -n 1 -r
|
||||
echo -e "\n"
|
||||
if [[ $REPLY =~ ^[Nn]$ ]]; then
|
||||
echo -e "${RED}Process aborted${NC}"
|
||||
rm $newfile
|
||||
rm "$newfile"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
@ -269,7 +269,7 @@ update_userjs () {
|
||||
# backup user.js
|
||||
mkdir -p userjs_backups
|
||||
local bakname="userjs_backups/user.js.backup.$(date +"%Y-%m-%d_%H%M")"
|
||||
[ $BACKUP = 'single' ] && bakname='userjs_backups/user.js.backup'
|
||||
[ "$BACKUP" = 'single' ] && bakname='userjs_backups/user.js.backup'
|
||||
cp user.js "$bakname" &>/dev/null
|
||||
|
||||
mv "${newfile}" user.js
|
||||
@ -295,19 +295,19 @@ update_userjs () {
|
||||
past_nocomments='userjs_diffs/past_userjs.txt'
|
||||
current_nocomments='userjs_diffs/current_userjs.txt'
|
||||
|
||||
remove_comments $pastuserjs $past_nocomments
|
||||
remove_comments user.js $current_nocomments
|
||||
remove_comments "$pastuserjs" "$past_nocomments"
|
||||
remove_comments user.js "$current_nocomments"
|
||||
|
||||
diffname="userjs_diffs/diff_$(date +"%Y-%m-%d_%H%M").txt"
|
||||
diff=$(diff -w -B -U 0 $past_nocomments $current_nocomments)
|
||||
if [ ! -z "$diff" ]; then
|
||||
diff=$(diff -w -B -U 0 "$past_nocomments" "$current_nocomments")
|
||||
if [ -n "$diff" ]; then
|
||||
echo "$diff" > "$diffname"
|
||||
echo -e "Status: ${GREEN}A diff file was created:${NC} ${PWD}/${diffname}"
|
||||
else
|
||||
echo -e "Warning: ${ORANGE}Your new user.js file appears to be identical. No diff file was created.${NC}"
|
||||
[ $BACKUP = 'multiple' ] && rm $bakname &>/dev/null
|
||||
[ "$BACKUP" = 'multiple' ] && rm "$bakname" &>/dev/null
|
||||
fi
|
||||
rm $past_nocomments $current_nocomments $pastuserjs &>/dev/null
|
||||
rm "$past_nocomments" "$current_nocomments" "$pastuserjs" &>/dev/null
|
||||
fi
|
||||
|
||||
[ "$VIEW" = true ] && open_file "${PWD}/user.js"
|
||||
@ -319,7 +319,7 @@ update_userjs () {
|
||||
|
||||
if [ $# != 0 ]; then
|
||||
# Display usage if first argument is -help or --help
|
||||
if [ $1 = '--help' ] || [ $1 = '-help' ]; then
|
||||
if [ "$1" = '--help' ] || [ "$1" = '-help' ]; then
|
||||
usage
|
||||
else
|
||||
while getopts ":hp:ludsno:bcvre" opt; do
|
||||
@ -363,7 +363,7 @@ if [ $# != 0 ]; then
|
||||
r)
|
||||
tfile="$(download_file 'https://raw.githubusercontent.com/arkenfox/user.js/master/user.js')"
|
||||
[ -z "${tfile}" ] && echo -e "${RED}Error! Could not download user.js${NC}" && exit 1 # check if download failed
|
||||
mv $tfile "${tfile}.js"
|
||||
mv "$tfile" "${tfile}.js"
|
||||
echo -e "${ORANGE}Warning: user.js was saved to temporary file ${tfile}.js${NC}"
|
||||
open_file "${tfile}.js"
|
||||
exit 0
|
||||
@ -382,7 +382,7 @@ if [ $# != 0 ]; then
|
||||
fi
|
||||
|
||||
show_banner
|
||||
update_updater $@
|
||||
update_updater "$@"
|
||||
|
||||
getProfilePath # updates PROFILE_PATH or exits on error
|
||||
cd "$PROFILE_PATH" && update_userjs
|
||||
|
Reference in New Issue
Block a user