Compare commits

..

135 Commits
57.0 ... 59.0

Author SHA1 Message Date
c62bff5c70 end of v59 2018-04-04 10:14:15 +00:00
3bae3ed5ba move 2711 to 2600s
2711 is about web extension data and does not fit in the 2700s is all about websites' persistent data, i.e items that sanitizing and Storage Manager deal with. Dumping in 2600's which is getting a revamp later
2018-03-30 16:20:56 +00:00
aa91ea1680 4000: FPI indexedDB info 2018-03-27 23:03:53 +00:00
d244198438 RFP: CTRL key fix backported to 59.0.2 2018-03-27 17:03:36 +00:00
871e7ed87b minor edits, settings info 2018-03-27 10:08:20 +13:00
48901d156a 2621: add [SETTING-ESR] 2018-03-26 21:03:53 +00:00
8b4e6c95aa xpinstall.whitelist.required, fixes #375 2018-03-26 20:23:06 +00:00
fd1aa74ff3 Options> and [settings] (#388)
* Options> and [settings]

While I'm at it, I'm changing the 21 instances of
- `[SETTING-56+]` to just `[SETTING]`
- `[SETTING-ESR]` to `[SETTING-ESR52]` because we'll leave those in until 62 (yes I know they may apply to earlier ESRs, but people should be upgraded). Thus no ambiguity with ESR60 vs ESR52 users for the overlap
2018-03-27 08:49:39 +13:00
b3e92ab7cc fixup // default syntax 2018-03-26 19:44:15 +00:00
30fbaba4df 2203: undo sh*t
This is so wrong: It is better to inform users that 3 **must** be used than rely on zero info as well as removing useful info on what the values do. All future issues with this will be directed to earthlng. Remove RFP info as RFP users should know this stuff if they turned it on. Non RFP users, who we told they can bypass it, will not have a reference to RFP now. Enforce will now be banned as a word because, "reasons".
2018-03-26 19:33:46 +00:00
72e1858926 how did this get left behind 2018-03-26 17:13:46 +00:00
3ad6ed465e 2200s: more tweaks 2018-03-27 06:04:31 +13:00
3fcad90996 2200s: tweaks 2018-03-27 05:01:30 +13:00
383b8ca943 revamp 2400s: fixes #371 2018-03-26 20:34:02 +13:00
6a98aa7ba0 2750+2730: enable appcache + storage #379 2018-03-25 12:59:49 +00:00
2037449fbd 2750: rethinking it #379
add `browser.storageManager.enabled` back but enforce it as true - otherwise people may never pick up on the fact we dropped it and may never reset it, and never see their shiny new UI section. When it's deprecated, *then* we can remove it
2018-03-25 10:56:49 +00:00
e18bd0f32c 2750: stop hiding Storage Manager UI #379
pref will be removed, 99% sure it was just a pref used internally to hide it from stable during testing in beta/nightly - see https://bugzilla.mozilla.org/show_bug.cgi?id=1428306. Makes zero sense to hide this new UI section since we will be turning SM on anyway (the section is important for end users to exist and be working esp thru QuotaManager and Storage v2 changes etc).
2018-03-25 10:50:52 +00:00
715fff06cf clean up 2202+2203 #371 2018-03-25 10:07:27 +00:00
3675a68009 2201+2205=>2400's #371
new numbers 2401 and 2404 do not exist anymore in the user.js so safe to use
2018-03-25 09:53:52 +00:00
062dd6c023 0500s: System Add-ons not system extensions
they're still called System Add-ons: https://firefox-source-docs.mozilla.org/toolkit/mozapps/extensions/addon-manager/SystemAddons.html
Thanks!
2018-03-21 04:53:53 +13:00
bc17b4e450 0500s: shield->normandy info, fixes #381 2018-03-20 15:29:37 +00:00
682e12fe57 4500: RFP ctrl key info
Sorry, the patch for 59 was backed out, so RFP users will have to put up with CTRL key issues until 60 lands
2018-03-20 12:54:10 +00:00
6cb27ca78c 0351: [setting] info 2018-03-20 05:47:04 +00:00
c38ae56232 0333: [setting] info 2018-03-20 05:42:05 +00:00
04f1449003 0512: shield pref name changes 60+
https://bugzilla.mozilla.org/show_bug.cgi?id=1436113
2018-03-20 03:57:18 +00:00
53a69ff5bc [SETTING] fixups 2018-03-19 14:13:00 +00:00
e8c02278eb 2676: forgot FF version 2018-03-17 06:36:08 +00:00
457611f079 59-alpha release 2018-03-17 05:06:15 +00:00
09aca71822 2676 fixup 2018-03-17 05:32:40 +01:00
f90193ab76 1600s: vimeo reference fixes #373 2018-03-17 02:56:36 +00:00
ffced9b4c0 2676: disable CSP security violation events 2018-03-17 02:27:39 +00:00
0b3395b520 2516: disable PointerEvents 2018-03-17 01:53:23 +00:00
d4a20165ef 0330: telemetry fixup 2018-03-14 15:08:33 +00:00
089f0826cf 0330: more telemetry 2018-03-14 15:00:13 +00:00
b83d53e681 bugzilla ref changes fixups #375 2018-03-14 14:03:04 +00:00
14456b5a29 bugzilla ref changes #375
note: picked up a leading space on 2206. Please double check for any errors or missed opportunities (I scanned it three times), 1221 is about the only one that's a bit messy I think
2018-03-15 02:22:58 +13:00
517e40703f reference: http->https 2018-03-14 11:19:09 +00:00
7f7282a975 59 deprecated tweaks 2018-03-14 11:05:37 +00:00
6fd415eab2 59 RFP Alternatives 2018-03-13 19:26:39 +00:00
d4083e6a3e 59 deprecated/removed prefs [part 2]
Note: I moved the (part`x`) bit to the end of the bugzilla from previous commit as I like the https* bit to all be in line = visually easier to parse IMO
2018-03-13 18:56:22 +00:00
3192027f52 59 deprecated/removed prefs [part 1] 2018-03-14 05:52:14 +13:00
2a402310cc fixup: missing line break 2018-03-13 09:23:17 +00:00
1469e13df8 section 0700 #368
This is a start to reducing section 2600 (which I renamed it to just miscellaneous). We can always revisit this new section and add to it down the track if required. Note: added a second ref [2] under 0703. Note: re-numbered & re-positioned deprecated prefs for SPDY
2018-03-13 09:04:54 +00:00
92585ecd93 browser.link.open_newwindow #371
adding this back in (so it is not missing for release changes), section will get a makeover, see linked issue
2018-03-13 08:00:20 +00:00
205d64ab29 4500: RFP keyboard ctrl key 2018-03-08 00:54:47 +00:00
3812aed9e9 Update troubleshooter.js 2018-03-05 14:19:34 +01:00
a83f5a0f5f Merge pull request #370 from claustromaniac/patch-2
Update updater.bat
2018-03-02 12:19:43 +01:00
19c40eeb18 fixup 2018-03-02 05:10:11 +00:00
61d2b46a02 5000: identity.fxaccounts.enabled, fixes #366 2018-03-02 05:09:29 +00:00
b93c7e026c revamp 5000 fixes #360 2018-03-02 16:53:39 +13:00
ec687cad75 remove 5020 #360
"remove 5020 because the values we set are the default values in Mac + Windows. Linux sets it the other way around: false+true instead of true+false"
2018-03-02 03:13:39 +00:00
6b691ae7e3 remove 5016 #360
covered by 5015 and only designed as a temporary pref AFAIK until issues with its timing and use (too distracting) are sorted
2018-03-02 02:39:45 +00:00
40da3653d3 remove 5007 #360
the default value is 3 anyway, and there it has a UI checkbox setting - don't ask me why a checkbox which only allows two values (2 or 3)
2018-03-01 21:12:40 +00:00
77a5894fa0 remove 5021* #360
These are all at default values, no need to enforce. As for removing them, we're de-cluttering the section and these just aren't that important. Anyone who wants to play with tab ordering/focus/etc could probably use an extension (API's?) and/or easily find these and look them up
2018-03-01 20:57:45 +00:00
11bcf46063 Update updater.bat 2018-03-01 19:15:10 +00:00
2dd2f5febe 0409: it is now 0201: see previous commit
whoops .. missed removing this part: overworked, underpaid, poor pants needs a beer
2018-03-01 12:48:31 +00:00
2de13258ff 4609 + 4612: move back to 0200s
geolocation blocking via RFP will be removed (see https://bugzilla.mozilla.org/show_bug.cgi?id=1441295), and since either way you look at it (those who use RFP or not) the user.js blocks geo, so we might as well move this stuff back to section 0200
2018-03-01 12:26:10 +00:00
40391a26a2 2629 - link added
link [1] is the ticket where the pref was initially added in FF42 with default `false`. The new link details the changes to the pref since then.
2018-03-01 12:12:24 +01:00
50186412e4 2621 - default info added
default is true in all current versions (ESR, Release, Beta, Nightly) and OSes
2018-03-01 12:09:09 +01:00
9892c3cbb7 4500: RFP canvas
1376865 was back ported to 59, so canvas prompt fatigue will be reduced. Note: the default for non-prompts is the same as if you clicked "Don't Allow" - i.e it serves up a 10x10px white square
2018-03-01 04:32:12 +00:00
887e93a4f2 4500: RFP WebGL stuff 2018-02-28 12:19:36 +00:00
7f1a82365c 4500: RFP UA spoof stuff
Cleaning up the UA spoof stuff in the sticky, as a ticket was just closed (52 is now a temporary hard-coded value: 1418672 - I guess they're running out of time), so also cleaning up the info, and consistent layout

Two issues: The code to determine the ESR number is out of whack (by one) since the next ESR is 60. 59 stable is almost here. So they have decided to hard-code the value as 52, for now. The second issue is that Aurora/Nightly are ahead of stable/ESR and can thus unmask themselves as Aurora/Nightly. The hard-coded value for now also solves this.

If you follow the sticky for RFP, you will see there is a ticket for using the update channel information (eg stable, beta, dev, nightly etc) to determine when and how calculate the version spoof in future, and they'll also rejig the numbering algorithm to account for ESR being out by one. These are tickets https://bugzilla.mozilla.org/show_bug.cgi?id=1418162 and https://bugzilla.mozilla.org/show_bug.cgi?id=1428111
2018-02-28 12:10:05 +00:00
8996071cd0 start 59 commits 2018-02-27 13:56:08 +00:00
cc166b8091 4500 RFP keyboard stuff 2018-02-27 12:47:06 +00:00
0260176fef 4500: RFP canvas stuff 2018-02-27 11:59:37 +00:00
09e2b181e4 4500 RFP stuff 2018-02-27 11:31:03 +00:00
4dafbb89df 0330: missing comma 2018-02-24 10:54:16 +00:00
5e08ad8c60 0330: use data:, for toolkit.telemetry.server
see 3d5276484a (commitcomment-27760142)
2018-02-24 10:53:04 +00:00
6366ab8afc Merge pull request #365 from claustromaniac/patch-1
Fix updater URLs before someone bitches about it
2018-02-24 08:07:52 +01:00
2980073bca increased revision number
OK that's it. This time it's for reals.
2018-02-23 07:02:11 +00:00
e8b9f72885 Fix updater URLs before someone bitches about it
/raw/master/ URLs are no longer working on my end. 

That's it.

Yes, really.
2018-02-23 06:47:38 +00:00
b502317caf Merge pull request #364 from ghacksuserjs/earthlng-patch-1
default values cleanup
2018-02-19 12:34:48 +00:00
5385b8c4ab remove 5017: ui.submenuDelay #360 #337 2018-02-19 12:24:28 +00:00
17fe261170 default values cleanup
These default values are the same in all OSes and all current Firefox versions (ESR, Release, Beta, Nightly).
Apart from alerts.showFavicons these defaults are most likely never gonna change
2018-02-19 11:49:40 +01:00
3d5276484a 0370 fixup
data: works perfectly fine here. No need to use https and no need to connect to localhost because something could be listening there.
data is the fastest and best solution.
2018-02-19 11:40:53 +01:00
542b814814 remove 5024+5025: media.* #360 2018-02-17 02:19:20 +00:00
0473c73860 2420 + 2421 2018-02-16 18:39:01 +01:00
a6fd4d1db1 2421: baseline JIT update info 2018-02-13 07:13:59 +00:00
95251e98da spelling mistake 2018-02-08 15:33:05 +00:00
08a5410b88 1407: restart info duplicity 2018-02-07 00:49:58 +00:00
93a8f89191 Merge pull request #356 from ghacksuserjs/earthlng-patch-1
1600 cleanup and header-rewrite
2018-02-07 00:11:47 +00:00
4fdf322193 CSRF acronym 2018-02-06 23:57:34 +00:00
ca11a88189 minor edits 2018-02-06 23:50:30 +00:00
a290b3ad3d 1600 cleanup and header-rewrite 2018-02-06 20:09:11 +01:00
d924c01518 ESR deprecated rewording 2018-02-06 01:10:45 +00:00
1738f9efb1 58-alpha release 2018-02-04 00:20:36 +00:00
3ef5ba3ac7 v1.4
- removed `network.cookie.thirdparty.sessionOnly` because it can't break sites
- added `permissions.default.shortcuts`
2018-02-03 14:21:57 +01:00
2969ab5b13 added 2305: default permission Notifications 2018-02-03 03:56:16 +00:00
3405bae6d8 added 2632: block sites overriding FF KB shortcuts
Note: I tested the value of 1 when changing from 2-block to make sure that it actually changed to allow in the panel. Am keeping my eye on the delete and backspace keys and will remove the line when it is fixed
2018-02-03 03:38:06 +00:00
a4eaf9494e added 4612: default permission location 2018-02-03 02:32:51 +00:00
ea6e9be787 added 2024: default permissions camera/mic 2018-02-03 02:17:20 +00:00
0ebe5d0fa8 1405: WOFF2 info
https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face - see Compat table
2018-01-31 13:57:34 +00:00
ff77f7260c remove 2513: Presentaion API fixes #325 2018-01-29 14:37:36 +00:00
93c3457d18 2427: js shared memory
MZ are flipping and a flopping on the value for a while now, lets enforce as false, specially since Spectre
2018-01-29 13:35:20 +00:00
bc371c8c9d Update user.js 2018-01-29 14:05:13 +01:00
622b70aa37 whoops.. relocate old 1108 to 2600's not 2400s 2018-01-29 12:55:01 +00:00
c83670f708 1100's: goodbye e10s section 2018-01-30 01:25:14 +13:00
c399bb1d2d Update README.md 2018-01-25 04:25:39 +13:00
0a11a87fd0 Update README.md 2018-01-25 04:06:00 +13:00
91521dbc84 1106: fix mistake
default is 1! https://dxr.mozilla.org/mozilla-release/source/modules/libpref/init/all.js#3327

>1 breaks extensions apparently: https://github.com/ghacksuserjs/ghacks-user.js/issues/346
2018-01-24 00:31:01 +01:00
14c1620994 0205: intl.locale.requested FF59+ 2018-01-22 18:49:39 +13:00
0da73d606b 0351: crash reports pref name change 2018-01-22 10:13:28 +13:00
6a0f162d64 Update troubleshooter.js
dom.idle-observers-api.enabled not used anymore since at least FF38
security.xpconnect.plugin.unrestricted not used anymore since at least FF10
2018-01-19 11:06:02 +01:00
038201fb07 Updater for Windows v4.3
Changes:
- The script doesn't touch the `user.js` file until it really has to.
- The merge function is a bit smarter parsing files, at no significant cost.
- Fixed a minor issue with the version check.
- Minor syntactic changes here and there.
- creates timestamped backup files rather than always overwriting user.js.bak.
(use -singlebackup if you prefer a single backup file)
2018-01-18 17:17:47 +01:00
91c8da5f12 2706->2702 merge: 3rd party cookies + sessionOnly 2018-01-18 20:26:49 +13:00
22198d420a forgot to update the showhelp function 2018-01-18 01:18:05 -03:00
6becf50fe6 4500: RFP keyboard events FF59+ 2018-01-18 15:55:57 +13:00
4fb3040042 replaced -multibackups with -singlebackup
also minor changes to the merge function.
2018-01-17 12:30:02 -03:00
5005376742 0417: disable SB data sharing 2018-01-17 17:33:45 +13:00
48f95f2ac7 2706: set 3rd party HTTP cookies as session-only 2018-01-17 17:21:06 +13:00
e5c14eb700 tidy up info on prefs that require a restart
this is not all prefs, just some that we already documented
2018-01-17 16:40:39 +13:00
7a3810f6ca Update troubleshooter.js 2018-01-16 16:52:24 +01:00
c8d7694fd3 I really don't like the online editor 2018-01-16 11:13:07 -03:00
343f77c5e9 minor fix on the version check
'IF !_line! GEQ 4 (' is not reliable.
2018-01-16 10:46:57 -03:00
a0ec17955d tiny change 2018-01-16 01:27:36 -03:00
e195aceb54 Updater 4.3
Changes:
	-The script doesn't touch the user.js file until it really has to.
	-The merge function is a bit smarter parsing files, at no significant cost. See examples below.
	-Minor syntactic changes here and there.
Additions:
	-New -multiBackups argument. I personally intend to use it to compare files and quickly review changes.
2018-01-15 22:15:30 -03:00
6882a64bf2 troubleshooter v1.2 2018-01-15 20:19:34 +01:00
806d6edc6d 1211+1212: clarify things better, fixes #334 2018-01-16 06:51:21 +13:00
d1ab8fd10c troubleshooter v1.1 2018-01-15 17:06:22 +01:00
db97478cd1 1106: number of processes default 2018-01-16 04:11:31 +13:00
48ec3da18d 0000: about:config warning
Ready... Steady... turn off about:config warning... GO!! Welcome to Firefox prefs 101 :)
2018-01-15 05:32:51 +13:00
8c35bf5d11 1212: note about pointlessness of soft-fail 2018-01-14 10:41:16 +01:00
a3bffb83bd Update troubleshooter.js
https://github.com/ghacksuserjs/ghacks-user.js/issues/339
2018-01-14 09:41:30 +01:00
b30b988137 1211+1212: OCSP info tweaking, fixes #334 2018-01-12 05:26:42 +13:00
f820ecbacb 2420: asm.js info tweak, fixes #335 2018-01-12 05:08:36 +13:00
3acef78f59 4500: RFP UA spoof add 1404608 info (OS spoof) 2018-01-11 12:44:52 +13:00
ac16b9c77b Update troubleshooter.js
adding 'privacy.trackingprotection.enabled'. see https://github.com/ghacksuserjs/ghacks-user.js/issues/327
2018-01-09 16:20:06 +01:00
1069915372 Create troubleshooter.js 2018-01-09 16:03:46 +01:00
978e51b515 1603: add warning, fixes #332 2018-01-08 02:24:16 +13:00
c5374b60d8 workers/service workers uM workaround #326 2018-01-06 12:09:30 +13:00
2a2b80902a fixes/info to issues in FF58+59
FYI, the bugzilla for the fix in the header about cookies being needed for extensions + IDB is https://bugzilla.mozilla.org/show_bug.cgi?id=1406675
2018-01-05 12:23:56 +13:00
d82791a933 1241->active: block mixed passive content #326 2018-01-05 09:02:59 +13:00
d89e9834ff Update README.md 2018-01-05 00:29:24 +13:00
04c7ed94da add license 2018-01-02 13:30:59 +13:00
c82d6f70fe start 58 commits 2018-01-02 12:56:16 +13:00
4 changed files with 810 additions and 640 deletions

View File

@ -6,14 +6,14 @@ The `ghacks user.js` is a **template**, which, as provided, aims to provide as m
Everyone, experts included, should at least read the [implementation](https://github.com/ghacksuserjs/ghacks-user.js/wiki/1.3-Implementation) wiki page, as it contains important information regarding a few `ghacks user.js` settings.
Sitemap: [Releases](https://github.com/ghacksuserjs/ghacks-user.js/releases), [changelogs](https://github.com/ghacksuserjs/ghacks-user.js/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Achangelog), [Wiki](https://github.com/ghacksuserjs/ghacks-user.js/wiki), [stickies](https://github.com/ghacksuserjs/ghacks-user.js/issues?q=is%3Aissue+is%3Aopen+label%3A%22sticky+topic%22)
Sitemap: [Releases](https://github.com/ghacksuserjs/ghacks-user.js/releases), [changelogs](https://github.com/ghacksuserjs/ghacks-user.js/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Achangelog), [Wiki](https://github.com/ghacksuserjs/ghacks-user.js/wiki), [stickies](https://github.com/ghacksuserjs/ghacks-user.js/issues?q=is%3Aissue+is%3Aopen+label%3A%22sticky+topic%22). [diffs](https://github.com/ghacksuserjs/ghacks-user.js/issues?q=is%3Aissue+label%3Adiffs)
### ![](https://github.com/ghacksuserjs/ghacks-user.js/blob/master/wikipiki/bullet01.png) acknowledgments
Literally thousands of sources, references and suggestions. That said...
* Martin Brinkmann at [ghacks](https://www.ghacks.net/) <sup>1</sup>
* The ghacks community and commentators
* [12bytes](http://12bytes.org/tech/firefoxgecko-configuration-guide-for-privacy-and-performance-buffs)
* [12bytes](http://12bytes.org/tech/firefox/firefoxgecko-configuration-guide-for-privacy-and-performance-buffs)
* The 12bytes article now uses this user.js and supplements it with an additonal JS hosted right [here](https://github.com/atomGit/Firefox-user.js) at github
<sup>1</sup> The ghacks user.js was an independent project by [Thorin-Oakenpants](https://github.com/Thorin-Oakenpants) started in early 2015 and was [first published](https://www.ghacks.net/2015/08/18/a-comprehensive-list-of-firefox-privacy-and-security-settings/) at ghacks in August 2015. With Martin Brinkmann's blessing, it will keep the ghacks name.

View File

@ -0,0 +1,216 @@
/*** ghacks-user.js troubleshooter.js v1.5 ***/
(function() {
if("undefined" === typeof(Services)) {
alert("about:config needs to be the active tab!");
return;
}
function getMyList(arr) {
let aRet = [];
let dummy = 0;
for (let i = 0, len = arr.length; i < len; i++) {
if (Services.prefs.prefHasUserValue(arr[i])) {
dummy = Services.prefs.getPrefType(arr[i]);
switch (dummy) {
case 32: // string (see https://dxr.mozilla.org/mozilla-central/source/modules/libpref/nsIPrefBranch.idl#31)
dummy = Services.prefs.getCharPref(arr[i]);
aRet.push({'name':arr[i],'value': dummy,'type':32});
break;
case 64: // int
dummy = Services.prefs.getIntPref(arr[i]);
aRet.push({'name':arr[i],'value': dummy,'type':64});
break;
case 128: // boolean
dummy = Services.prefs.getBoolPref(arr[i]);
aRet.push({'name':arr[i],'value': dummy,'type':128});
break;
default:
console.log("error detecting pref-type for '"+arr[i]+"' !");
}
}
}
return aRet;
}
function reapply(arr) {
for (let i = 0, len = arr.length; i < len; i++) {
switch (arr[i].type) {
case 32: // string
Services.prefs.setCharPref(arr[i].name, arr[i].value);
break;
case 64: // int
Services.prefs.setIntPref(arr[i].name, arr[i].value);
break;
case 128: // boolean
Services.prefs.setBoolPref(arr[i].name, arr[i].value);
break;
default:
console.log("error re-appyling value for '"+arr[i].name+"' !"); // should never happen
}
}
}
function myreset(arr) {
for (let i = 0, len = arr.length; i < len; i++) {
Services.prefs.clearUserPref(arr[i].name);
}
}
let ops = [
/* 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',
'dom.indexedDB.enabled',
'dom.storage.enabled',
'browser.storageManager.enabled',
'dom.storageManager.enabled',
/* Workers, Web + Push Notifications */
'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.contextmenu.enabled',
'dom.IntersectionObserver.enabled',
'dom.popup_allowed_events',
'full-screen-api.enabled',
'geo.wifi.uri',
'intl.accept_languages',
'javascript.options.asmjs',
'javascript.options.wasm',
'permissions.default.shortcuts',
'security.csp.experimentalEnabled',
/* Hardware */
'dom.vr.enabled',
'media.ondevicechange.enabled',
/* Audio + Video */
'dom.webaudio.enabled',
'media.autoplay.enabled',
/* Forms */
'browser.formfill.enable',
'signon.autofillForms',
'signon.formlessCapture.enabled',
/* HTTPS */
'security.cert_pinning.enforcement_level',
'security.family_safety.mode',
'security.mixed_content.use_hsts',
'security.OCSP.require',
'security.pki.sha1_enforcement_level',
'security.ssl.require_safe_negotiation',
'security.ssl.treat_unsafe_negotiation_as_broken',
'security.ssl3.dhe_rsa_aes_128_sha',
'security.ssl3.dhe_rsa_aes_256_sha',
'security.ssl3.ecdhe_ecdsa_aes_128_sha',
'security.ssl3.ecdhe_rsa_aes_128_sha',
'security.ssl3.rsa_aes_128_sha',
'security.ssl3.rsa_aes_256_sha',
'security.ssl3.rsa_des_ede3_sha',
'security.tls.enable_0rtt_data',
'security.tls.version.max',
'security.tls.version.min',
/* Plugins + Flash */
'plugin.default.state',
'plugin.defaultXpi.state',
'plugin.sessionPermissionNow.intervalInMinutes',
'plugin.state.flash',
/* 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',
'last.one.without.comma'
]
// reset prefs that set the same value as FFs default value
let aTEMP = getMyList(ops);
myreset(aTEMP);
reapply(aTEMP);
const aBACKUP = getMyList(ops);
//console.log(aBACKUP.length, "user-set prefs from our list detected and their values stored.");
let myArr = aBACKUP;
let found = false;
let aDbg = [];
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.")) {
aDbg = myArr;
reapply(aBACKUP);
myreset(myArr.slice(0, parseInt(myArr.length/2)));
while (myArr.length >= 2) {
alert("NOW TEST AGAIN !");
if (confirm("if the problem still exists click OK, otherwise click cancel.")) {
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 {
myArr = myArr.slice(0, parseInt(myArr.length/2));
aDbg = myArr;
if (myArr.length == 1) { found = true; break; }
}
reapply(aBACKUP);
myreset(myArr.slice(0, parseInt(myArr.length/2))); // reset half of the remaining prefs
}
reapply(aBACKUP);
}
else {
reapply(aBACKUP);
return;
}
if (found) {
alert("narrowed it down to:\n\n"+myArr[0].name+"\n");
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);
}
}
})();

View File

@ -3,7 +3,7 @@ TITLE ghacks user.js updater
REM ## ghacks-user.js updater for Windows
REM ## author: @claustromaniac
REM ## version: 4.2
REM ## version: 4.4
REM ## instructions: https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.3-Updater-Scripts
SET _myname=%~n0
@ -16,6 +16,7 @@ IF /I "%~1"=="-logp" (SET _log=1 & SET _logp=1)
IF /I "%~1"=="-multioverrides" (SET _multi=1)
IF /I "%~1"=="-merge" (SET _merge=1)
IF /I "%~1"=="-updatebatch" (SET _updateb=1)
IF /I "%~1"=="-singlebackup" (SET _singlebackup=1)
SHIFT
GOTO parse
:endparse
@ -30,7 +31,6 @@ IF DEFINED _updateb (
DEL /F "[updated]!_myname!.bat.old"
CALL :message "Script updated^!"
TIMEOUT 3 >nul
CLS
GOTO begin
)
REM ## Phase 1 ##
@ -41,15 +41,13 @@ IF DEFINED _updateb (
REM Uncomment the next line and comment the powershell call for testing.
REM COPY /B /V /Y "!_myname!.bat" "[updated]!_myname!.bat"
(
powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/ghacksuserjs/ghacks-user.js/raw/master/updater.bat', '[updated]!_myname!.bat')"
powershell -Command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/updater.bat', '[updated]!_myname!.bat')"
) >nul 2>&1
IF EXIST "[updated]!_myname!.bat" (
START /min CMD /C "[updated]!_myname!.bat" !_myparams!
EXIT /B
) ELSE (
CALL :message "Failed. Make sure PowerShell is allowed internet access."
TIMEOUT 120 >nul
EXIT /B
)
) ELSE (
IF "!_myname!"=="[updated]" (
@ -67,23 +65,24 @@ IF DEFINED _updateb (
COPY /B /V /Y "!_myname!.bat" "!_myname:~9!.bat"
START CMD /C "!_myname:~9!.bat" !_myparams!
)
EXIT /B
)
EXIT /B
)
:begin
CLS
ECHO:
ECHO:
ECHO: ########################################
ECHO: #### user.js Updater for Windows ####
ECHO: #### by claustromaniac ####
ECHO: #### v4.2 ####
ECHO: #### v4.4 ####
ECHO: ########################################
ECHO:
SET /A "_line=0"
IF NOT EXIST user.js (
CALL :message "user.js not detected in the current directory."
) ELSE (
FOR /F "skip=1 tokens=1,2 delims=:" %%G IN (user.js) DO (
FOR /F "skip=1 tokens=1,* delims=:" %%G IN (user.js) DO (
SET /A "_line+=1"
IF !_line! GEQ 4 (GOTO exitloop)
IF !_line! EQU 1 (SET _name=%%H)
@ -91,15 +90,11 @@ IF NOT EXIST user.js (
IF !_line! EQU 3 (SET _version=%%G)
)
:exitloop
IF !_line! GEQ 4 (
IF NOT "!_name!"=="" (
IF /I NOT "!_name!"=="!_name:ghacks=!" (
CALL :message "ghacks user.js !_version:~2!,!_date!"
) ELSE (
CALL :message "Current user.js version not recognised."
)
) ELSE (
CALL :message "Current user.js version not recognised."
)
CALL :message "!_name! !_version:~2!,!_date!"
) ELSE (CALL :message "Current user.js version not recognised.")
) ELSE (CALL :message "Current user.js version not recognised.")
)
ECHO:
IF NOT DEFINED _ua (
@ -121,19 +116,14 @@ IF DEFINED _log (
:log
SET _log=2
ECHO:##################################################################
CALL :message "%date%, %time%"
)
IF EXIST user.js.old.bak (DEL /F user.js.old.bak)
IF EXIST user.js (
IF EXIST user.js.bak (REN user.js.bak user.js.old.bak)
REN user.js user.js.bak
CALL :message "Current user.js file backed up."
ECHO: %date%, %time%
)
IF EXIST user.js.new (DEL /F "user.js.new")
CALL :message "Retrieving latest user.js file from github repository..."
(
powershell -Command "(New-Object Net.WebClient).DownloadFile('https://github.com/ghacksuserjs/ghacks-user.js/raw/master/user.js', 'user.js')"
powershell -Command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/user.js', 'user.js.new')"
) >nul 2>&1
IF EXIST user.js (
IF EXIST user.js.new (
IF DEFINED _multi (
FORFILES /P user.js-overrides /M *.js >nul 2>&1
IF NOT ERRORLEVEL 1 (
@ -141,47 +131,48 @@ IF EXIST user.js (
CALL :message "Merging..."
COPY /B /V /Y user.js-overrides\*.js user-overrides-merged.js
CALL :merge user-overrides-merged.js
COPY /B /V /Y user.js+user-overrides-merged.js user.js
CALL :merge user.js
COPY /B /V /Y user.js.new+user-overrides-merged.js user.js.new
CALL :merge user.js.new
) ELSE (
CALL :message "Appending..."
COPY /B /V /Y user.js+"user.js-overrides\*.js" user.js
COPY /B /V /Y user.js.new+"user.js-overrides\*.js" user.js.new
)
) ELSE (CALL :message "No override files found.")
ECHO:
) ELSE (
IF EXIST "user-overrides.js" (
COPY /B /V /Y user.js+"user-overrides.js" "user.js"
COPY /B /V /Y user.js.new+"user-overrides.js" "user.js.new"
IF DEFINED _merge (
CALL :message "Merging user-overrides.js..."
CALL :merge user.js
CALL :merge user.js.new
) ELSE (
CALL :message "user-overrides.js appended."
)
) ELSE (CALL :message "user-overrides.js not found.")
ECHO:
)
CALL :message "Handling backups..."
SET "changed="
IF EXIST user.js.bak (
FC user.js.bak user.js >nul && SET "changed=false" || SET "changed=true"
IF EXIST user.js (
FC user.js.new user.js >nul && SET "_changed=false" || SET "_changed=true"
)
IF "!changed!"=="true" (
IF EXIST user.js.old.bak DEL /F user.js.old.bak
IF "!_changed!"=="true" (
CALL :message "Backing up..."
IF DEFINED _singlebackup (
MOVE /Y user.js user.js.bak >nul
) ELSE (
MOVE /Y user.js "user-backup-!date:/=-!_!time::=.!.js" >nul
)
REN user.js.new user.js
CALL :message "Update complete."
) ELSE (
IF "!changed!"=="false" (
DEL /F user.js.bak
IF EXIST user.js.old.bak REN user.js.old.bak user.js.bak
IF "!_changed!"=="false" (
DEL /F user.js.new >nul
CALL :message "Update completed without changes."
) ELSE (CALL :message "Update complete.")
) ELSE (
REN user.js.new user.js
CALL :message "Update complete."
)
)
ECHO:
) ELSE (
IF EXIST user.js.bak (REN user.js.bak user.js)
IF EXIST user.js.old.bak (REN user.js.old.bak user.js.bak)
CALL :message "Update failed. Make sure PowerShell is allowed internet access."
ECHO: No changes were made.
ECHO: No changes were made.
)
IF NOT DEFINED _log (
IF NOT DEFINED _ua (PAUSE)
@ -200,27 +191,27 @@ REM ############ Merge function ############
:merge
SETLOCAL DisableDelayedExpansion
(
FOR /F "tokens=1,* delims=," %%G IN ('FINDSTR /B /I /C:"user_pref" "%~1"') DO (SET "%%G=%%H")
FOR /F tokens^=2^,^*^ delims^=^'^" %%G IN ('FINDSTR /B /R /C:"user_pref.*\)[ ]*;" "%~1"') DO (IF NOT "%%H"=="" (SET "%%G=%%H"))
FOR /F "tokens=1,* delims=:" %%I IN ('FINDSTR /N "^" "%~1"') DO (
IF ""=="%%J" (
ECHO:
SET "_temp=%%J"
SETLOCAL EnableDelayedExpansion
IF NOT "!_temp:~0,9!"=="user_pref" (
ENDLOCAL & ECHO:%%J
) ELSE (
FOR /F "delims=," %%K IN ("%%J") DO (
IF NOT [user_pref("_user.js.parrot"]==[%%K] (
IF DEFINED %%K (
SETLOCAL EnableDelayedExpansion
FOR /F "delims=" %%L IN ("!%%K!") DO (
ENDLOCAL
IF NOT "%%L"=="ALREADY MERGED" (
ECHO:%%K,%%L
SET "%%K=ALREADY MERGED"
IF "!_temp:;=!"=="!_temp!" (
ENDLOCAL & ECHO:%%J
) ELSE (
ENDLOCAL
FOR /F tokens^=2^ delims^=^'^" %%K IN ("%%J") DO (
IF NOT "_user.js.parrot"=="%%K" (
IF DEFINED %%K (
SETLOCAL EnableDelayedExpansion
FOR /F "delims=" %%L IN ("!%%K!") DO (
ENDLOCAL & ECHO:user_pref("%%K"%%L
SET "%%K="
)
)
) ELSE (
ECHO:%%J
)
) ELSE (
ECHO:%%J
) ELSE (ECHO:%%J)
)
)
)
@ -231,7 +222,7 @@ ENDLOCAL
GOTO :EOF
REM ############### Help ##################
:showhelp
MODE 80,43
MODE 80,46
CLS
CALL :message "Available arguments (case-insensitive):"
CALL :message " -log"
@ -239,7 +230,7 @@ ECHO: Write the console output to a logfile (user.js-update-log.txt)
CALL :message " -logP"
ECHO: Like -log, but also open the logfile after updating.
CALL :message " -merge"
ECHO: Merge overrides instead of appending them. One-line comments and
ECHO: Merge overrides instead of appending them. Single-line comments and
ECHO: _user.js.parrot lines are appended normally. Overrides for inactive
ECHO: user.js prefs will be appended. When -Merge and -MultiOverrides are used
ECHO: together, a user-overrides-merged.js file is also generated in the root
@ -254,11 +245,13 @@ ECHO: instead of the default user-overrides.js file. Files are appended in
ECHO: alphabetical order.
CALL :message " -unattended"
ECHO: Run without user input.
CALL :message " -singleBackup"
ECHO: Use a single backup file and overwrite it on new updates, instead of
ECHO: cumulative backups. This was the default behaviour before v4.3.
CALL :message " -updatebatch"
ECHO: Update the script itself on execution, before the normal routine.
CALL :message ""
PAUSE
CLS
MODE 80,25
GOTO :begin
REM #####################################

1105
user.js

File diff suppressed because it is too large Load Diff