Compare commits

...

306 Commits

Author SHA1 Message Date
Thorin-Oakenpants
457611f079 59-alpha release 2018-03-17 05:06:15 +00:00
earthlng
09aca71822 2676 fixup 2018-03-17 05:32:40 +01:00
Thorin-Oakenpants
f90193ab76 1600s: vimeo reference fixes #373 2018-03-17 02:56:36 +00:00
Thorin-Oakenpants
ffced9b4c0 2676: disable CSP security violation events 2018-03-17 02:27:39 +00:00
Thorin-Oakenpants
0b3395b520 2516: disable PointerEvents 2018-03-17 01:53:23 +00:00
Thorin-Oakenpants
d4a20165ef 0330: telemetry fixup 2018-03-14 15:08:33 +00:00
Thorin-Oakenpants
089f0826cf 0330: more telemetry 2018-03-14 15:00:13 +00:00
Thorin-Oakenpants
b83d53e681 bugzilla ref changes fixups #375 2018-03-14 14:03:04 +00:00
Thorin-Oakenpants
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
Thorin-Oakenpants
517e40703f reference: http->https 2018-03-14 11:19:09 +00:00
Thorin-Oakenpants
7f7282a975 59 deprecated tweaks 2018-03-14 11:05:37 +00:00
Thorin-Oakenpants
6fd415eab2 59 RFP Alternatives 2018-03-13 19:26:39 +00:00
Thorin-Oakenpants
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
earthlng
3192027f52 59 deprecated/removed prefs [part 1] 2018-03-14 05:52:14 +13:00
Thorin-Oakenpants
2a402310cc fixup: missing line break 2018-03-13 09:23:17 +00:00
Thorin-Oakenpants
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
Thorin-Oakenpants
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
Thorin-Oakenpants
205d64ab29 4500: RFP keyboard ctrl key 2018-03-08 00:54:47 +00:00
earthlng
3812aed9e9 Update troubleshooter.js 2018-03-05 14:19:34 +01:00
earthlng
a83f5a0f5f Merge pull request #370 from claustromaniac/patch-2
Update updater.bat
2018-03-02 12:19:43 +01:00
Thorin-Oakenpants
19c40eeb18 fixup 2018-03-02 05:10:11 +00:00
Thorin-Oakenpants
61d2b46a02 5000: identity.fxaccounts.enabled, fixes #366 2018-03-02 05:09:29 +00:00
Thorin-Oakenpants
b93c7e026c revamp 5000 fixes #360 2018-03-02 16:53:39 +13:00
Thorin-Oakenpants
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
Thorin-Oakenpants
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
Thorin-Oakenpants
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
Thorin-Oakenpants
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
claustromaniac
11bcf46063 Update updater.bat 2018-03-01 19:15:10 +00:00
Thorin-Oakenpants
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
Thorin-Oakenpants
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
earthlng
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
earthlng
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
Thorin-Oakenpants
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
Thorin-Oakenpants
887e93a4f2 4500: RFP WebGL stuff 2018-02-28 12:19:36 +00:00
Thorin-Oakenpants
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
Thorin-Oakenpants
8996071cd0 start 59 commits 2018-02-27 13:56:08 +00:00
Thorin-Oakenpants
cc166b8091 4500 RFP keyboard stuff 2018-02-27 12:47:06 +00:00
Thorin-Oakenpants
0260176fef 4500: RFP canvas stuff 2018-02-27 11:59:37 +00:00
Thorin-Oakenpants
09e2b181e4 4500 RFP stuff 2018-02-27 11:31:03 +00:00
Thorin-Oakenpants
4dafbb89df 0330: missing comma 2018-02-24 10:54:16 +00:00
Thorin-Oakenpants
5e08ad8c60 0330: use data:, for toolkit.telemetry.server
see 3d5276484a (commitcomment-27760142)
2018-02-24 10:53:04 +00:00
earthlng
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
claustromaniac
2980073bca increased revision number
OK that's it. This time it's for reals.
2018-02-23 07:02:11 +00:00
claustromaniac
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
Thorin-Oakenpants
b502317caf Merge pull request #364 from ghacksuserjs/earthlng-patch-1
default values cleanup
2018-02-19 12:34:48 +00:00
Thorin-Oakenpants
5385b8c4ab remove 5017: ui.submenuDelay #360 #337 2018-02-19 12:24:28 +00:00
earthlng
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
earthlng
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
Thorin-Oakenpants
542b814814 remove 5024+5025: media.* #360 2018-02-17 02:19:20 +00:00
earthlng
0473c73860 2420 + 2421 2018-02-16 18:39:01 +01:00
Thorin-Oakenpants
a6fd4d1db1 2421: baseline JIT update info 2018-02-13 07:13:59 +00:00
Thorin-Oakenpants
95251e98da spelling mistake 2018-02-08 15:33:05 +00:00
Thorin-Oakenpants
08a5410b88 1407: restart info duplicity 2018-02-07 00:49:58 +00:00
Thorin-Oakenpants
93a8f89191 Merge pull request #356 from ghacksuserjs/earthlng-patch-1
1600 cleanup and header-rewrite
2018-02-07 00:11:47 +00:00
Thorin-Oakenpants
4fdf322193 CSRF acronym 2018-02-06 23:57:34 +00:00
Thorin-Oakenpants
ca11a88189 minor edits 2018-02-06 23:50:30 +00:00
earthlng
a290b3ad3d 1600 cleanup and header-rewrite 2018-02-06 20:09:11 +01:00
Thorin-Oakenpants
d924c01518 ESR deprecated rewording 2018-02-06 01:10:45 +00:00
Thorin-Oakenpants
1738f9efb1 58-alpha release 2018-02-04 00:20:36 +00:00
earthlng
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
Thorin-Oakenpants
2969ab5b13 added 2305: default permission Notifications 2018-02-03 03:56:16 +00:00
Thorin-Oakenpants
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
Thorin-Oakenpants
a4eaf9494e added 4612: default permission location 2018-02-03 02:32:51 +00:00
Thorin-Oakenpants
ea6e9be787 added 2024: default permissions camera/mic 2018-02-03 02:17:20 +00:00
Thorin-Oakenpants
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
Thorin-Oakenpants
ff77f7260c remove 2513: Presentaion API fixes #325 2018-01-29 14:37:36 +00:00
Thorin-Oakenpants
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
earthlng
bc371c8c9d Update user.js 2018-01-29 14:05:13 +01:00
Thorin-Oakenpants
622b70aa37 whoops.. relocate old 1108 to 2600's not 2400s 2018-01-29 12:55:01 +00:00
Thorin-Oakenpants
c83670f708 1100's: goodbye e10s section 2018-01-30 01:25:14 +13:00
Thorin-Oakenpants
c399bb1d2d Update README.md 2018-01-25 04:25:39 +13:00
Thorin-Oakenpants
0a11a87fd0 Update README.md 2018-01-25 04:06:00 +13:00
earthlng
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
Thorin-Oakenpants
14c1620994 0205: intl.locale.requested FF59+ 2018-01-22 18:49:39 +13:00
Thorin-Oakenpants
0da73d606b 0351: crash reports pref name change 2018-01-22 10:13:28 +13:00
earthlng
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
earthlng
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
Thorin-Oakenpants
91c8da5f12 2706->2702 merge: 3rd party cookies + sessionOnly 2018-01-18 20:26:49 +13:00
claustromaniac
22198d420a forgot to update the showhelp function 2018-01-18 01:18:05 -03:00
Thorin-Oakenpants
6becf50fe6 4500: RFP keyboard events FF59+ 2018-01-18 15:55:57 +13:00
claustromaniac
4fb3040042 replaced -multibackups with -singlebackup
also minor changes to the merge function.
2018-01-17 12:30:02 -03:00
Thorin-Oakenpants
5005376742 0417: disable SB data sharing 2018-01-17 17:33:45 +13:00
Thorin-Oakenpants
48f95f2ac7 2706: set 3rd party HTTP cookies as session-only 2018-01-17 17:21:06 +13:00
Thorin-Oakenpants
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
earthlng
7a3810f6ca Update troubleshooter.js 2018-01-16 16:52:24 +01:00
claustromaniac
c8d7694fd3 I really don't like the online editor 2018-01-16 11:13:07 -03:00
claustromaniac
343f77c5e9 minor fix on the version check
'IF !_line! GEQ 4 (' is not reliable.
2018-01-16 10:46:57 -03:00
claustromaniac
a0ec17955d tiny change 2018-01-16 01:27:36 -03:00
claustromaniac
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
earthlng
6882a64bf2 troubleshooter v1.2 2018-01-15 20:19:34 +01:00
Thorin-Oakenpants
806d6edc6d 1211+1212: clarify things better, fixes #334 2018-01-16 06:51:21 +13:00
earthlng
d1ab8fd10c troubleshooter v1.1 2018-01-15 17:06:22 +01:00
Thorin-Oakenpants
db97478cd1 1106: number of processes default 2018-01-16 04:11:31 +13:00
Thorin-Oakenpants
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
earthlng
8c35bf5d11 1212: note about pointlessness of soft-fail 2018-01-14 10:41:16 +01:00
earthlng
a3bffb83bd Update troubleshooter.js
https://github.com/ghacksuserjs/ghacks-user.js/issues/339
2018-01-14 09:41:30 +01:00
Thorin-Oakenpants
b30b988137 1211+1212: OCSP info tweaking, fixes #334 2018-01-12 05:26:42 +13:00
Thorin-Oakenpants
f820ecbacb 2420: asm.js info tweak, fixes #335 2018-01-12 05:08:36 +13:00
Thorin-Oakenpants
3acef78f59 4500: RFP UA spoof add 1404608 info (OS spoof) 2018-01-11 12:44:52 +13:00
earthlng
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
earthlng
1069915372 Create troubleshooter.js 2018-01-09 16:03:46 +01:00
Thorin-Oakenpants
978e51b515 1603: add warning, fixes #332 2018-01-08 02:24:16 +13:00
Thorin-Oakenpants
c5374b60d8 workers/service workers uM workaround #326 2018-01-06 12:09:30 +13:00
Thorin-Oakenpants
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
Thorin-Oakenpants
d82791a933 1241->active: block mixed passive content #326 2018-01-05 09:02:59 +13:00
Thorin-Oakenpants
d89e9834ff Update README.md 2018-01-05 00:29:24 +13:00
Thorin-Oakenpants
04c7ed94da add license 2018-01-02 13:30:59 +13:00
Thorin-Oakenpants
c82d6f70fe start 58 commits 2018-01-02 12:56:16 +13:00
earthlng
dd29583735 Update .gitattributes 2017-12-30 19:33:25 +01:00
earthlng
e3ad7055dd prefsCleaner 1.2
- Search string made case-sensitive, because Firefox preferences are.
- The script now uses regex, which allows it to understand `user.js` files formatted using single quotes, spaces and/or tabs in `user_pref` lines.

Trade-off: it can no longer reset preferences that include some special characters in their names. Not an issue for now, just something to remember.

See full discussion [here](https://github.com/ghacksuserjs/ghacks-user.js/pull/321).
2017-12-30 19:25:57 +01:00
claustromaniac
c1c368bce9 1.2
- Search string made case-sensitive, because Firefox preferences are.
- The script now uses regex, which allows it to understand user.js files formatted using single quotes, spaces, or tabs.

Trade-off: it can no longer reset preferences that include some special characters in their names. Not an issue for now, just something to remember.
2017-12-29 20:14:08 +00:00
earthlng
73f03c449f Merge pull request #322 from ghacksuserjs/2700-renumber
2700's section revamp #235
2017-12-27 16:49:00 +01:00
Thorin-Oakenpants
31ec621d3f typos 2017-12-27 20:23:27 +13:00
Thorin-Oakenpants
8f02a5bc40 2720->2730 reference 2017-12-27 20:21:54 +13:00
Thorin-Oakenpants
73811e49be 2700's section revamp #235 2017-12-27 20:13:41 +13:00
earthlng
d7ab2f83e4 updates to prefsCleaner + updater.bat
Daily round of tweaks
2017-12-27 05:01:21 +01:00
earthlng
c0f9e6ab2b Update prefsCleaner.bat 2017-12-27 04:59:24 +01:00
claustromaniac
7cd2c650cb fix for previous commit
Take it or leave it. Up to you, as always.
2017-12-27 03:32:58 +00:00
claustromaniac
a1f10513ea 1.2 2017-12-26 20:06:41 +00:00
claustromaniac
74f18db85a 1.1 2017-12-26 20:04:57 +00:00
claustromaniac
2ad3fbdbd3 Update updater.bat 2017-12-26 19:37:39 +00:00
claustromaniac
68a44bcbb4 cosmetic fix
for calls to :message before the script begins logging (with -log)
2017-12-26 17:29:11 +00:00
earthlng
1f15e287fb Updater for Windows 4.1 2017-12-26 00:30:49 +01:00
earthlng
65b64f44b6 Update updater.bat 2017-12-26 00:16:27 +01:00
claustromaniac
643206a3da autoparrot - second try 2017-12-25 15:30:09 +00:00
claustromaniac
05ac6dd0ec autoparrot 2017-12-25 08:18:41 +00:00
claustromaniac
daff5f6fa6 cosmetic fix + formatting
the fix in question just removes the extra space in the version + date output (line 91)
2017-12-25 03:48:39 +00:00
claustromaniac
018fb2a321 cosmetic stuff 2017-12-25 03:33:36 +00:00
claustromaniac
4f22afac7f rewording 2017-12-25 00:51:56 +00:00
claustromaniac
94bbb6bab4 minor change 2017-12-24 16:55:17 +00:00
claustromaniac
b9266bba1d 4.1
- added missing -unattended switch to the list of switches
- other minor changes
2017-12-24 16:49:33 +00:00
Thorin-Oakenpants
68efac4cc8 url change 2017-12-24 16:30:53 +13:00
Thorin-Oakenpants
db5706d949 url change 2017-12-24 16:29:36 +13:00
Thorin-Oakenpants
3ffdd67904 url change 2017-12-24 16:29:18 +13:00
Thorin-Oakenpants
83de87b18d url change 2017-12-24 16:28:58 +13:00
Thorin-Oakenpants
99016960fa url change 2017-12-24 16:28:33 +13:00
Thorin-Oakenpants
52efb2af7a url change 2017-12-24 16:27:47 +13:00
Thorin-Oakenpants
dbe0056c95 4500: canvas site permissions 2017-12-23 03:32:02 +13:00
Thorin-Oakenpants
987c996cce Update README.md 2017-12-22 02:04:37 +13:00
Thorin-Oakenpants
a1cae1ae74 Update README.md 2017-12-22 02:03:42 +13:00
Thorin-Oakenpants
0938d7bab2 add license 2017-12-22 02:02:57 +13:00
earthlng
490d81657f Update README.md 2017-12-19 18:37:24 +01:00
earthlng
4170529e39 Add files via upload 2017-12-19 17:31:49 +01:00
earthlng
ffae671b27 Delete prefsCleaner.bat 2017-12-19 17:29:36 +01:00
earthlng
48861e57e1 Add files via upload 2017-12-19 17:26:58 +01:00
earthlng
b74b79f11c Delete prefsCleaner.bat 2017-12-19 17:26:39 +01:00
earthlng
13534e33bc Add files via upload 2017-12-19 17:25:14 +01:00
earthlng
148daa94cf Delete updater2.bat 2017-12-19 17:24:36 +01:00
earthlng
88b08d4ac5 Delete updater.bat 2017-12-19 17:24:19 +01:00
earthlng
ea76ea91af Add files via upload 2017-12-19 17:22:32 +01:00
earthlng
8af0d4fa7a Update .gitattributes 2017-12-18 17:27:51 +01:00
earthlng
877d6a5af2 Delete test.bat 2017-12-18 16:58:02 +01:00
earthlng
e0cd64391c Create test.bat 2017-12-18 16:56:28 +01:00
earthlng
464ffcd7e6 Update .gitattributes 2017-12-18 16:54:38 +01:00
earthlng
16e8d6ca7a Update updater.bat 2017-12-18 16:48:15 +01:00
earthlng
21b21d2adb Update .gitattributes 2017-12-18 16:44:36 +01:00
earthlng
6973bb459c FIND instead of MORE
to keep TABS intact
2017-12-18 16:33:21 +01:00
earthlng
1571e067e7 convert to CRLF on the fly
MORE also converts TABs to spaces, by default to 8 but I changed it to 4
2017-12-18 16:01:46 +01:00
earthlng
1789fd902b Delete test.bat 2017-12-18 15:39:01 +01:00
earthlng
8f4ab83301 Create test.bat 2017-12-18 15:38:18 +01:00
earthlng
eeef37154d Update updater.bat 2017-12-18 15:10:35 +01:00
earthlng
be563241d6 Update updater.bat 2017-12-18 15:10:18 +01:00
earthlng
002780df8c Convert BAT line-endings to CRLF 2017-12-18 15:07:20 +01:00
claustromaniac
901670fffc Convert BAT line-endings to CRLF
LF is messing with calls to :message in the updater, at least on my end.
2017-12-18 12:26:03 +00:00
earthlng
3a403cd120 Updater for Windows v4.0
Fixes:
	- Merge function:
		*no longer has the potential to truncate super long lines. (8KB per line still IS the max!)
		*no more issues with exclamation marks in user_pref lines.

Improvements:
	- Overall better performance due to ECHO syntax changes.
	- Merge function on steroids! Faster than ever

Changes, Additions, Substractions:
	- Leading spaces are no longer ignored by the merge function. Lines to be merged must begin with user_pref.
	- Added header with name, author, version.
	- Added help sub-menu.
	- Added special message when no override files are found when using -multiOverrides.
	- Formatting changes.
2017-12-17 17:13:18 +01:00
claustromaniac
25321e7262 4.0? 2017-12-17 15:59:55 +00:00
claustromaniac
ca947c6ae4 4.0b3 - ignore the previous commit lol 2017-12-17 15:02:52 +00:00
claustromaniac
c9f62822a6 4.0b3
- Fix for empty lines.
- Went back to using FIND in the main loop for the good reasons stated by @earthing
2017-12-17 15:01:06 +00:00
claustromaniac
240bcbfbee 4.0b2
Not all issues fixed yet.
2017-12-17 13:46:39 +00:00
earthlng
1262edee61 tiny issues
space instead of TAB, missing quotation marks and suppressing the error message when no *.js files are found in the OR-folder
2017-12-17 13:02:34 +01:00
claustromaniac
2f5ae9b294 v4.0b
Fixes:
	- Merge function:
		*no longer has the potential to truncate super long lines.
		*no more issues with exclamation marks in user_pref lines.

Improvements:
	- Overall better performance due to ECHO syntax changes.
	- Merge function on steroids! Faster than ever, and no longer generates temporary files at all. As it always should have been.

Changes, Additions, Substractions:
	- Leading spaces are no longer ignored by the merge function. Lines to be merged must begin with user_pref.
	- Added header with name, author, version.
	- Added help sub-menu.
	- Added special message when no override files are found when using -multiOverrides.
	- Formatting changes.
2017-12-16 17:55:08 +00:00
earthlng
fbd9f344af prefs.js cleaner for Windows v1.0
thanks @claustromaniac!
2017-12-15 21:11:53 +01:00
Thorin-Oakenpants
323da46204 4500: RFP warn if language set to non en-US
fixes #304
2017-12-16 05:21:08 +13:00
earthlng
28f06b41e3 Merge pull request #309 from claustromaniac/master
Updater for Windows 3.2
2017-12-10 15:55:15 +01:00
claustromaniac
77ca6af2d9 I said 3.2.
I'm not me if I don't miss something.
2017-12-10 01:20:39 +00:00
claustromaniac
e663b8a968 3.2
Prevent issues handling the script when the name includes spaces.

+ Formatting.
2017-12-09 16:49:42 +00:00
Thorin-Oakenpants
f8ec9cebdd fix url 2017-12-09 10:31:09 +13:00
Thorin-Oakenpants
24df3274f1 fix url 2017-12-09 10:29:29 +13:00
Thorin-Oakenpants
f5a4ec0cbd fix url 2017-12-09 10:28:58 +13:00
Thorin-Oakenpants
abbbf8ef0e fix url 2017-12-09 10:28:28 +13:00
Thorin-Oakenpants
b9c8329778 fix url 2017-12-09 10:27:58 +13:00
Thorin-Oakenpants
8f68ee3e9e fix url 2017-12-09 10:27:21 +13:00
Thorin-Oakenpants
4d2c26790f wiki link changes 2017-12-09 07:51:35 +13:00
Thorin-Oakenpants
ab492c58c3 0850a: remove cruff 2017-12-09 07:05:15 +13:00
Thorin-Oakenpants
4fc7490405 comment out three items see #308 2017-12-09 06:20:16 +13:00
Thorin-Oakenpants
11b0b779b8 fixes #308 2017-12-09 06:13:40 +13:00
Thorin-Oakenpants
4ae5967e09 Update ghacks-clear-all-up-to-57-[the-rest-inactive].js 2017-12-09 02:02:04 +13:00
Thorin-Oakenpants
ebd233bf6e Create ghacks-clear-all-up-to-57-[the-rest-active].js 2017-12-09 02:00:56 +13:00
Thorin-Oakenpants
f2ed64c576 Update ghacks-clear-all-up-to-57-[the-rest-inactive].js 2017-12-09 01:58:27 +13:00
Thorin-Oakenpants
f09c860d96 clear inactive: move parrot to end 2017-12-09 01:33:38 +13:00
Thorin-Oakenpants
753c4695a6 oophs 2017-12-09 01:28:50 +13:00
Thorin-Oakenpants
7655648174 clear removed: move parrot to end 2017-12-09 01:28:16 +13:00
Thorin-Oakenpants
f8472fe501 clear deprecated: move parrot to end 2017-12-09 01:27:05 +13:00
Thorin-Oakenpants
d82475a7c3 clear RFP-alts: move parrot to end 2017-12-09 01:25:14 +13:00
Thorin-Oakenpants
008257283b 2508: hardware acceleration #244
I guess we can revisit this when Tor ESR59 lands or even later when WebRender is fully implemented. For now, users can override it if they wish
2017-12-09 00:56:53 +13:00
earthlng
d9e935de3c syntax fix 2017-12-08 12:47:31 +01:00
Thorin-Oakenpants
e73eeefa64 Update ghacks-clear-all-up-to-57-[the-rest-inactive].js 2017-12-08 21:01:28 +13:00
Thorin-Oakenpants
744944a9ab Create ghacks-clear-all-up-to-57-[the-rest-inactive].js 2017-12-08 20:26:49 +13:00
Thorin-Oakenpants
5631fadd4a Update ghacks-clear-all-up-to-57-[RFP-alternatives].js 2017-12-08 19:38:08 +13:00
Thorin-Oakenpants
ea54827582 Create ghacks-clear-all-up-to-57-[RFP-alternatives].js 2017-12-08 19:24:32 +13:00
Thorin-Oakenpants
28ba2a705a Create ghacks-clear-all-up-to-57-[deprecated].js 2017-12-08 19:14:53 +13:00
Thorin-Oakenpants
a9def5992f Create ghacks-clear-all-up-to-57-[removed].js 2017-12-08 19:13:45 +13:00
Thorin-Oakenpants
9aa9752dc4 Update README.md 2017-12-08 00:07:18 +13:00
Thorin-Oakenpants
eb2a9b2493 Update README.md 2017-12-07 23:35:58 +13:00
Thorin-Oakenpants
60cfacadb3 Update README.md 2017-12-07 23:20:11 +13:00
Thorin-Oakenpants
85e633dc60 Update README.md 2017-12-07 23:18:15 +13:00
Thorin-Oakenpants
61aeaa4714 Update README.md 2017-12-07 23:10:21 +13:00
Thorin-Oakenpants
b802ecb18f Update README.md 2017-12-07 23:09:19 +13:00
Thorin-Oakenpants
9b5d4521d1 Update README.md 2017-12-07 23:01:40 +13:00
Thorin-Oakenpants
8f34f8e0ff Update user.js 2017-12-07 17:12:13 +13:00
Thorin-Oakenpants
f683383ba3 Update user.js 2017-12-07 17:10:31 +13:00
Thorin-Oakenpants
83aa56e353 Update README.md 2017-12-07 16:52:51 +13:00
Thorin-Oakenpants
467b3d8602 1273: FF59+ show HTTP with negative indicator #305 2017-12-07 14:08:23 +13:00
earthlng
183a62448f 1110: updated URL 2017-12-03 19:01:24 +01:00
earthlng
ac751a74f2 Updater for Windows 3.1
more polishing and some changes to prevent potential issues when the user closes the console window too soon.
2017-12-03 16:17:24 +01:00
claustromaniac
457ef9ec2f 3.1 tidy up 2017-12-03 15:07:15 +00:00
claustromaniac
a6c93b3982 Revert "3.1"
This reverts commit ccaf06973b.
2017-12-03 15:04:41 +00:00
claustromaniac
ccaf06973b 3.1
Minor change suggested by earthing.
2017-12-03 15:01:45 +00:00
claustromaniac
ce3c077d06 3.1 2017-12-03 13:35:41 +00:00
Thorin-Oakenpants
edec5cc366 Update README.md 2017-12-03 06:35:08 +13:00
claustromaniac
8a99bb350c 3.1a2 2017-12-01 01:05:24 -03:00
claustromaniac
fc47792df2 3.1a1 2017-11-30 22:17:58 +00:00
claustromaniac
e5d00be8f0 Revert "3.1a1"
This reverts commit ac7ad78d1d.
2017-11-30 22:11:42 +00:00
claustromaniac
ac7ad78d1d 3.1a1
Just added a few lines to make batch updates more visible - which helps with testing.
2017-11-30 18:22:18 +00:00
Thorin-Oakenpants
cf6f614f5b 2706: Storage API => active, disabled #281 2017-11-30 14:12:53 +13:00
claustromaniac
00e17281dc Updater 3.1a
-updatebatch now will (or at least should):
*Download new batch and name it [updater]*.bat
*Open that script in a new CMD window.
*Exit

The [updated]*.bat script should:
*Copy itself overwriting the original batch (without renaming).
*Start that script in a new CMD instance.
*Exit.

The new script, with the original name, should:
*Delete the [updated]*.bat script
*Begin the normal script routine.

@earthing do you think I should still rename the scripts to .old or something before overwriting/deleting?
2017-11-30 00:10:01 +00:00
earthlng
9a4982ec0e updater.bat v3.0 FINAL
THE REAL FUCKING DEAL this time - finally! THANKS @claustromaniac !!
2017-11-29 23:23:57 +01:00
earthlng
0a97660506 updater.bat v3.0 FINAL
THE REAL FUCKING DEAL this time - finally! THANKS @claustromaniac !!
2017-11-29 23:20:00 +01:00
claustromaniac
3737b65f53 Fixed issue with commented-out user_pref lines
It ended up being a mixture of the previous commit and the fix. It writes a temporary file on the go that only holds preferences, and generates the target file at once at the end. It's slower than before, but it works.
2017-11-29 16:15:20 +00:00
claustromaniac
635cacfe54 Replace PING with TIMEOUT
Otherwise earthing's nosy firewall bitches about it.
2017-11-29 15:49:21 +00:00
claustromaniac
a126a32109 Revert "2nd merge optimisation"
This reverts commit c9e7f1ccfa.
2017-11-29 15:18:23 +00:00
claustromaniac
c9e7f1ccfa 2nd merge optimisation
While I figure out a fix for the missing characters...

Enclosing the whole merging loop in parentheses and replacing the source file with the entire output at once is more efficient than appending individual lines with >>%~2. The script doesn't have to wait for the HD to continue processing.
2017-11-29 12:08:15 +00:00
claustromaniac
ff9370b714 fix for hiding powershell output
Everything in a line after a powershell call is considered as being called from PowerShell.

>nul didn't work because of that. Enclosing the line in brackets should fix it.
2017-11-29 04:56:33 +00:00
claustromaniac
b1fd2ba48b minor fix
What would we want a warning that we can't get to read for?
2017-11-29 04:50:01 +00:00
claustromaniac
bdf69cd198 misc
To account for the possibility of the user running the script silently in the background. PAUSE would leave an instance in memory doing nothing indefinitely.

I was going to use TIMEOUT but PING performs better.
2017-11-29 04:33:02 +00:00
Thorin-Oakenpants
22695f464b 2303->2700s serviceWorker cache #235 2017-11-29 16:21:17 +13:00
Thorin-Oakenpants
44e129ea3d 1830: ref for DRM / EME 2017-11-29 13:32:48 +13:00
claustromaniac
6ff3d1eb36 Fix for the self-update feature and misc
Also minor but significant improvement to the merge function: it no longer writes temp files to the disk while processing data.
2017-11-28 21:53:20 +00:00
earthlng
a389572243 loops forever - fuck it 2017-11-28 18:33:31 +01:00
earthlng
51d98fac09 last attempt
if this doesn't work I'll remove the damn -updatebatch part for good
2017-11-28 18:27:55 +01:00
earthlng
d71321027b updater.bat v3.0 the real deal
updater auto-update part - let's give this a shot - volunteers?
2017-11-28 18:17:47 +01:00
earthlng
ed4c9202b9 updater.bat v3.0 the real deal
hopefully :fingers_crossed:
2017-11-28 18:15:14 +01:00
earthlng
5b931b06e8 updater.bat auto-update part 2017-11-28 17:34:14 +01:00
earthlng
d3eda589bb Update updater.bat 2017-11-28 17:32:32 +01:00
Thorin-Oakenpants
0be33e2408 4700: UA Spoof fix ref link 2017-11-28 13:53:15 +13:00
Thorin-Oakenpants
eba3470a81 2700: header fiddling 2017-11-28 13:32:49 +13:00
earthlng
1c997693ff merging improvements
- keeps all user.js.parrot lines intact
- keeps empty lines intact
- fix for keeping `!` and `^` in non-"user_pref" lines intact

+ some other minor changes + streamlining
2017-11-27 14:02:12 +01:00
Thorin-Oakenpants
76b24fa6aa 2700: header formatting 2017-11-27 10:22:55 +13:00
Thorin-Oakenpants
3b95e04b56 2700: header info 2017-11-27 10:14:55 +13:00
earthlng
3ec7dae496 Update updater.bat
merge functionality and some cleanup
2017-11-26 21:47:30 +01:00
earthlng
a269e53f88 Update updater.bat
- multioverrides support
- formatting changes
2017-11-26 15:57:32 +01:00
earthlng
1789fea4f1 updater.sh - next attempt
... at fixing the script path detection. should hopefully fix #264 (comment)
2017-11-25 18:58:10 +01:00
earthlng
679ca59233 Update updater.sh 2017-11-25 18:56:49 +01:00
Thorin-Oakenpants
82d20c328d 4000: PSA on FPI #281 2017-11-26 03:23:35 +13:00
earthlng
41a55ad5f2 Update updater.sh 2017-11-25 14:37:25 +01:00
earthlng
2c1e4ae542 updater.sh - next attempt
... at fixing the script path detection. should hopefully fix https://github.com/ghacksuserjs/ghacks-user.js/issues/264#issuecomment-346891526
2017-11-25 14:31:17 +01:00
Thorin-Oakenpants
910d4e2e59 2700s: numbers fixup
stop overworking me guys! crssi - thanks!
2017-11-25 23:35:14 +13:00
Thorin-Oakenpants
2bf9e6a773 0103: fixup lets try that again 2017-11-25 22:14:28 +13:00
Thorin-Oakenpants
d279839ba6 0103: fixup - thanks Forsaked 2017-11-25 22:11:49 +13:00
Thorin-Oakenpants
98bb8ad203 Update ghacks-clear-57-[changes-only].js 2017-11-25 17:33:32 +13:00
Thorin-Oakenpants
a281090cdc Delete test.js 2017-11-25 17:30:53 +13:00
Thorin-Oakenpants
44316934f3 release date & version fixup
You had it right the first time earthlng. Eg Start commits for 55-beta date shown is 9-July. 55-alpha release is dated 18-Aug and we drop the "-beta" part (look inside the release downloads). Start commits for 56-beta date shown is 12-Sept. 56-alpha release is dated 2-Oct and we drop the "-beta" part. And because you created the 57-alpha release before you reversed the date+version, that too is all good.
2017-11-25 16:47:12 +13:00
Thorin-Oakenpants
18048832da various => 2700 section #235
section 2700 will get a revamp, so not worried about numbering for now. Slight header tweak until we revamp
2017-11-25 16:12:29 +13:00
Thorin-Oakenpants
497f6ed58c 0103: home page #277 2017-11-25 15:33:07 +13:00
earthlng
63b924f101 Create ghacks-clear-57-[changes-only].js
https://github.com/ghacksuserjs/ghacks-user.js/issues/276
https://github.com/ghacksuserjs/ghacks-user.js/wiki/1.6-Bulk-Pref-Resetting-%5BScratchpad%5D
2017-11-20 15:35:52 +01:00
earthlng
e1e40847e0 ooops, that's not how Pants usually does it
nobody saw that, right?
2017-11-20 14:01:57 +01:00
earthlng
5743fe303c 57 release 2017-11-20 13:55:02 +01:00
earthlng
89e0aed652 4600: redundant prefs due to RFP 2017-11-20 13:49:19 +01:00
earthlng
59ae0b1028 2706: *.storageManager.enabled;false => inactive
Controls the visibility of the "Options>Privacy & Security>Site Data" section.
I'd prefer to remove this completely because it only adds to the confusion about all the different storage types.
This is just an extension for localStorage (2705) with 3 methods: estimate(), persist() and persisted(). A site can ask for permission (?) to persist data which when granted basically just means that "Storage will not be cleared except by explicit user action" whereas otherwise when not persisted "Storage may be cleared by the UA under storage pressure." - I don't see a problem with that.
We'll keep 2706 inactive for now but might remove it in a future commit.
2017-11-20 13:11:55 +01:00
earthlng
69c278c3ba 2630: accessibility.force_disabled => 1
Prevent accessibility services from accessing your browser
2017-11-20 11:26:03 +01:00
earthlng
4290b4e882 Merge pull request #275 from claustromaniac/claustromaniac-patch-1
Just some polishing
2017-11-19 22:32:06 +01:00
claustromaniac
efcaa3de8a Just some polishing 2017-11-19 17:41:19 +00:00
earthlng
cdeb0abe79 update to v2.0
https://github.com/ghacksuserjs/ghacks-user.js/issues/264#issuecomment-345462158

- It can now handle read-only files.
- it is somewhat more explicit regarding what it's doing in some circumstances. For example, it now informs the user when no changes are made.
- It now accepts two parameters: `-unattended` and `-log`
- Minor improvements here and there.
2017-11-19 08:58:47 +01:00
Thorin-Oakenpants
450adab519 2706: Storage API => active false #273
Sorry, but AFAIK, with this enabled it clears web extension storage when clear "offsite website data" is checked on close or manually (which we do in the user.js). Note also that even with this enabled, the UI settings are disabled, and the data-on-disk calculation never finishes, so at this point, its a bit useless to enable it until we figure that out. Will be back in 7 days
2017-11-19 08:21:18 +13:00
earthlng
500c129d48 fix for profile detection
this should now work no matter how the script is called (including symlinks) on both Mac and Linux.
+ Storing and restoring the original working directory to prevent problems in certain circumstances.
2017-11-18 13:39:29 +01:00
Thorin-Oakenpants
7ae034a23c 2706: Storage API => inactive 2017-11-18 18:01:01 +13:00
earthlng
754ec610d1 typo 2017-11-17 15:48:39 +01:00
earthlng
fe752c8be3 Create updater.bat
thanks @claustromaniac
2017-11-17 15:45:16 +01:00
earthlng
da3ba2a97f Create updater.sh
thanks @overdodactyl !!
2017-11-17 15:26:27 +01:00
Thorin-Oakenpants
22e51e2a08 0506: disable PingCenter telemetry 2017-11-17 04:06:04 +13:00
earthlng
c6d55296fb typo
used to be 2021 not 2012, see 908a8d66f4
2017-11-16 06:46:35 +01:00
Thorin-Oakenpants
f89bb3f1c2 9999: deprecated FF57 2017-11-16 17:03:08 +13:00
Thorin-Oakenpants
64a6eb794a 0850f: disable local search history in locationbar
kinda moot considering 0860 disables all search history :) Added for completeness so users can tweak their awesomebar to their little hearts content
2017-11-16 16:27:54 +13:00
Thorin-Oakenpants
fe46ea79ce 4500: RFP MediaDevices API FF59+ 2017-11-15 16:03:42 +13:00
Thorin-Oakenpants
d256908a5f 0330: telemetry changes 58+ #271 2017-11-15 13:51:20 +13:00
Thorin-Oakenpants
dedfbf04b6 5008: syntax fixup 2017-11-14 10:00:31 +13:00
Thorin-Oakenpants
e080becba5 2610: permissions.manager.defaultsUrl #259
FYI: https://bugzilla.mozilla.org/show_bug.cgi?id=506446 - FF35
2017-11-12 00:14:36 +13:00
Thorin-Oakenpants
76bc2bce25 5008: open bookmarks in a new tab 2017-11-11 23:04:30 +13:00
Thorin-Oakenpants
7f4a671b09 fixup spacing 2017-11-09 12:15:02 +13:00
Thorin-Oakenpants
b373fe2a58 5014: download button visibility 2017-11-09 10:54:52 +13:00
Thorin-Oakenpants
95f1d6ecf6 0514: activity stream fixup
`browser.newtabpage.activity-stream.aboutHome.enabled` is not needed, as it is controlled by `browser.newtabpage.activity-stream.enabled`
2017-11-09 10:31:08 +13:00
Thorin-Oakenpants
3028a7a61a 5025: another media type 2017-11-09 07:58:21 +13:00
Thorin-Oakenpants
06d9d61558 0514: more activity stream 2017-11-09 07:05:08 +13:00
Thorin-Oakenpants
1dd683c81f 0330: more telemetry pings 2017-11-09 03:13:42 +13:00
Thorin-Oakenpants
2c56d90a6f Create test.js 2017-11-01 02:28:23 +13:00
Thorin-Oakenpants
df01fb87ce 2300: *workers info fixup
"Push and web notifications require service workers, which in turn require workers." - this is clearly not (or no longer) true. See #256 where workers are disabled, but service workers enabled, and service workers create IDB entries on Youtube
2017-10-31 20:17:26 +13:00
Thorin-Oakenpants
ce66da10a4 start 57 commits 2017-10-31 16:51:44 +13:00
Thorin-Oakenpants
e1034faf1f readme: extension cookie exceptions 2017-10-31 16:29:46 +13:00
Thorin-Oakenpants
d4cfd1e885 4500: canvas extraction 967895 2017-10-29 05:11:43 +13:00
Thorin-Oakenpants
6cdfd1a443 Add files via upload 2017-10-09 17:24:42 +13:00
Thorin-Oakenpants
ca16792723 4600s: add ref to old numbers 2017-10-06 21:44:19 +13:00
Thorin-Oakenpants
6e2479dc0f 0210 tweak 2017-10-04 07:53:12 +13:00
earthlng
bbb29237cc 4609 + 02xx cleanup
Only `geo.enabled` is covered by RFP, keep the other prefs under 0200 and do some cleanup

- 0202: the /en-US/ in link [2] is necessary for the anchor to work!
- `browser.search.geoip.timeout;1` is unnecessary when `browser.search.geoip.url` is empty string:
https://dxr.mozilla.org/mozilla-central/source/toolkit/components/search/nsSearchService.js#576
2017-10-03 17:37:50 +02:00
earthlng
fec0c99287 4608 - remove media.webspeech.recognition.enable
the 2nd part of the Web Speech API, SpeechRecognition, is not yet implemented on Desktop Firefox:

https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition#Browser_compatibility

> * [2] Can be enabled via the `media.webspeech.recognition.enable` flag in about:config **on mobile**. **Not implemented at all on Desktop Firefox** — see [bug 1248897](https://bugzilla.mozilla.org/show_bug.cgi?id=1248897).
2017-10-03 17:00:11 +02:00
Thorin-Oakenpants
258e8ff805 4700 fixup
remove mention of ESR, fix current TBB platform as 32bit - not that it matters, it's all inactive
2017-10-02 17:53:24 +13:00
Thorin-Oakenpants
a74170e2b0 5005: clipboard.autocopy #109
this is a linux only pref, does nothing in Windows or Mac, as per tagging convention => [LINUX]. Here's a 15 year old ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=160200 .. enjoy! PS: Trying to find an autocopy text (excluding form fields) that auto trims, auto removes multi-spaces, auto trims, and auto removes double blank lines .. I had one, but its legacy. Best I can find is https://addons.mozilla.org/en-US/firefox/addon/autocopy-webextension/ - a wee timer in options lets you control when you copy (that's ok), but it gives a notification every time which is annoying as f - anyone got any ideas
2017-10-02 11:46:34 +13:00
16 changed files with 2124 additions and 554 deletions

16
.gitattributes vendored
View File

@@ -1,8 +1,14 @@
* text=auto
## * text=auto
*.js text
*.md text
*.yml text
*.txt text
*.js text=auto
*.md text=auto
*.yml text=auto
*.txt text=auto
*.sh text=auto
*.bat eol=crlf
*.png binary
.gitattributes export-ignore
*.yml export-ignore
wikipiki export-ignore

View File

@@ -2,36 +2,20 @@
A `user.js` is a configuration file that can control hundreds of Firefox settings. For a more technical breakdown and explanation, you can read more on the [overview](https://github.com/ghacksuserjs/ghacks-user.js/wiki/1.1-Overview) wiki page.
### ![](https://github.com/ghacksuserjs/ghacks-user.js/blob/master/wikipiki/bullet01.png) ghacks user.js
The [ghacks user.js](https://github.com/ghacksuserjs/ghacks-user.js/blob/master/user.js) is a template, which, as provided, aims (![](https://github.com/ghacksuserjs/ghacks-user.js/blob/master/wikipiki/exclamation.png) with [extensions](https://github.com/ghacksuserjs/ghacks-user.js/wiki/Appendix-B:-Extensions) <sup>1</sup> ) to provide as much privacy and enhanced security as possible, and to reduce tracking and fingerprinting as much as possible - while minimizing any loss of functionality and breakage (but it will happen).
The `ghacks user.js` is a **template**, which, as provided, aims to provide as much privacy and enhanced security as possible, and to reduce tracking and fingerprinting as much as possible - while minimizing any loss of functionality and breakage (but it will happen).
We aim to INFORM and give you CHOICES. No one size fits all, so customize it! And not all sites have the same requirements, so use [profiles](https://github.com/ghacksuserjs/ghacks-user.js/wiki/2.3-Concurrent-Profiles) with custom versions. We won't set you wrong.
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.
INFORMATION IS POWER. So you can make informed decisions to better protect yourself online, we aim to be:
* Accessible (provide information and simpler, less-technical descriptions if possible)
* Accountable (provide reputable references/sources, [test sites](https://github.com/ghacksuserjs/ghacks-user.js/wiki/Appendix-C:-Test-Sites), dispel bad advice)
* Change trackable (yay! we're on github now, with commits)
* Compatible (including a [deprecated section](https://github.com/ghacksuserjs/ghacks-user.js/issues/123), [releases](https://github.com/ghacksuserjs/ghacks-user.js/releases))
* Comprehensive (including enforcing defaults and future-proofing)
* Current and up-to-date with stable (including [changelogs](https://github.com/ghacksuserjs/ghacks-user.js/search?q=label%3Achangelog&type=Issues&utf8=%E2%9C%93))
* Detailed (preference versioning, hidden preference information, explanations, and more)
* Easy to use and discuss (sections, sub-sections, numbering)
* Helpful (including a [wiki](https://github.com/ghacksuserjs/ghacks-user.js/wiki) with features such as [extensions](https://github.com/ghacksuserjs/ghacks-user.js/wiki/Appendix-B:-Extensions), [user scripts](https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.1-User-Scripts), [references](https://github.com/ghacksuserjs/ghacks-user.js/wiki/Appendix-D:-References) and more)
* Innovative (formatting, special tags, and future plans such as branches)
### ![](https://github.com/ghacksuserjs/ghacks-user.js/blob/master/wikipiki/bullet01.png) usage
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 default settings we use. The rest of the [wiki](https://github.com/ghacksuserjs/ghacks-user.js/wiki) is helpful as well.
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>2</sup>
* 100% genuine super-nice all-around good guy
* Martin Brinkmann at [ghacks](https://www.ghacks.net/) <sup>1</sup>
* The ghacks community and commentators
* Special mentions to [earthlng](https://github.com/earthlng), Tom Hawack, Just me, Conker, Rockin Jerry, Ainatar, Parker Lewis
* [12bytes](http://12bytes.org/articles/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> ![](https://github.com/ghacksuserjs/ghacks-user.js/blob/master/wikipiki/exclamation.png) Important: We HIGHLY recommend using uBlock Origin, uMatrix and a cookie extension. Section 0400, if modified, allows Tracking Protection and Safe Browsing to be disabled. Do this at your own risk. See the [implementation](https://github.com/ghacksuserjs/ghacks-user.js/wiki/1.3-Implementation) wiki page for more.
<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.
<sup>2</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. It was kept up-to-date and expanded by the original author with three major updates and articles. With Martin Brinkmann's blessing, it will keep the ghacks name.
### ![](https://github.com/ghacksuserjs/ghacks-user.js/blob/master/wikipiki/bullet01.png) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

113
prefsCleaner.bat Normal file
View File

@@ -0,0 +1,113 @@
@ECHO OFF
TITLE prefs.js cleaner
REM ### prefs.js cleaner for Windows
REM ## author: @claustromaniac
REM ## version: 1.2
SETLOCAL EnableDelayedExpansion
:begin
ECHO:
ECHO:
ECHO ########################################
ECHO #### prefs.js cleaner for Windows ####
ECHO #### by claustromaniac ####
ECHO #### v1.2 ####
ECHO ########################################
ECHO:
CALL :message "This script should be run from your Firefox profile directory."
ECHO It will remove any entries from prefs.js that also exist in user.js.
CALL :message "This will allow inactive preferences to be reset to their default values."
ECHO This Firefox profile shouldn't be in use during the process.
CALL :message ""
TIMEOUT 1 /nobreak >nul
CHOICE /C SHE /N /M "Start [S] Help [H] Exit [E]"
CLS
IF ERRORLEVEL 3 (EXIT /B)
IF ERRORLEVEL 2 (GOTO :showhelp)
IF NOT EXIST "user.js" (CALL :abort "user.js not found in the current directory." 30)
IF NOT EXIST "prefs.js" (CALL :abort "prefs.js not found in the current directory." 30)
CALL :FFcheck
CALL :message "Backing up prefs.js..."
COPY /B /V /Y prefs.js "prefs-backup-!date:/=-!_!time::=.!.js"
CALL :message "Cleaning prefs.js..."
CALL :cleanup
CLS
CALL :message "All done^!"
TIMEOUT 5 >nul
EXIT /B
REM ########## Abort Function ###########
:abort
CALL :message %1
TIMEOUT %~2 >nul
EXIT
REM ########## Message Function #########
:message
SETLOCAL DisableDelayedExpansion
ECHO:
ECHO: %~1
ECHO:
ENDLOCAL
GOTO :EOF
REM ####### Firefox Check Function ######
:FFcheck
TASKLIST /FI "IMAGENAME eq firefox.exe" 2>NUL | FIND /I /N "firefox.exe">NUL
IF NOT ERRORLEVEL 1 (
CLS
CALL :message "Firefox is still running."
ECHO If you're not currently using this profile you can continue, otherwise
CALL :message "close Firefox first^!"
ECHO:
PAUSE
CLS
CALL :message "Resuming..."
TIMEOUT 5 /nobreak >nul
)
GOTO :EOF
REM ######### Cleanup Function ##########
:cleanup
SETLOCAL DisableDelayedExpansion
(
FOR /F "tokens=1,* delims=:" %%G IN ('FINDSTR /N "^" prefs.js') DO (
SET "_line=%%H"
SETLOCAL EnableDelayedExpansion
IF /I "user_pref"=="!_line:~0,9!" (
FOR /F tokens^=2^ delims^=^" %%I IN ("!_line:.=\.!") DO (
FINDSTR /R /C:"user_pref[ ]*\([ ]*[\"']%%I[\"'][ ]*," user.js >nul
IF ERRORLEVEL 1 (ECHO:!_line!)
)
) ELSE (
ECHO:!_line!
)
ENDLOCAL
)
)>tempcleanedprefs
ENDLOCAL
MOVE /Y tempcleanedprefs prefs.js
GOTO :EOF
REM ############### Help ##################
:showhelp
MODE 80,34
CLS
CALL :message "This script creates a backup of your prefs.js file before doing anything."
ECHO It should be safe, but you can follow these steps if something goes wrong:
ECHO:
CALL :message " 1. Make sure Firefox is closed."
ECHO 2. Delete prefs.js in your profile folder.
CALL :message " 3. Delete Invalidprefs.js if you have one in the same folder."
ECHO 4. Rename or copy your latest backup to prefs.js.
CALL :message " 5. Run Firefox and see if you notice anything wrong with it."
ECHO 6. If you do notice something wrong, especially with your extensions,
CALL :message " and/or with the UI, go to about:support, and restart Firefox with"
ECHO add-ons disabled. Then, restart it again normally, and see if the
CALL :message " problems were solved."
ECHO:
CALL :message "If you are able to identify the cause of your issues, please bring it up"
ECHO on ghacks-user.js GitHub repository.
ECHO:
ECHO:
PAUSE
CLS
GOTO :begin
REM #####################################

View File

@@ -0,0 +1,61 @@
/***
For instructions see:
https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
***/
(function() {
let ops = [
/* --- 57-alpha --- */
/* commented out */
'browser.storageManager.enabled',
'dom.storageManager.enabled',
/* removed from the user.js */
'browser.search.geoip.timeout',
'geo.wifi.xhr.timeout',
'gfx.layerscope.enabled',
'media.webspeech.recognition.enable',
/* moved to RFP ALTERNATIVES */
'dom.w3c_touch_events.enabled',
'media.video_stats.enabled',
/* moved to DEPRECATED/REMOVED */
'browser.bookmarks.showRecentlyBookmarked',
'browser.casting.enabled',
'devtools.webide.autoinstallFxdtAdapters',
'media.eme.chromium-api.enabled',
'social.directories',
'social.enabled',
'social.remote-install.enabled',
'social.share.activationPanelEnabled',
'social.shareDirectory',
'social.toast-notifications.enabled',
'social.whitelist',
/* 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"); }
})();

View File

@@ -0,0 +1,60 @@
/***
This will reset the preferences that are under sections 4600 & 4700 in the ghacks user.js
up to and including release 57-alpha. These are the prefs that are no longer necessary,
or they conlfict with, privacy.resistFingerprinting if you have that enabled.
For instructions see:
https://github.com/ghacksuserjs/ghacks-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',
'geo.enabled',
'media.video_stats.enabled',
'dom.w3c_touch_events.enabled',
/* 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"); }
})();

View File

@@ -0,0 +1,167 @@
/***
This will reset the preferences that have been deprecated by Mozilla
and used in the ghacks user.js up to and including release 57-alpha
It is in reverse order, so feel free to remove sections that do not apply
For instructions see:
https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
***/
(function() {
let ops = [
/* deprecated */
/* ESR52.x users can remove sections 53-57 but it is not
crucial as your user.js will reinstate them */
/* 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.selfsupport.enabled',
'browser.selfsupport.url',
'browser.newtabpage.directory.ping',
'browser.formfill.saveHttpsForms',
'browser.formautofill.enabled',
'dom.enable_user_timing',
'dom.keyboardevent.code.enabled',
'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',
/* End of ESR52.x section */
/* 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.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 */
'loop.enabled',
'loop.server',
'loop.feedback.formURL',
'loop.feedback.manualFormURL',
'loop.facebook.appId',
'loop.facebook.enabled',
'loop.facebook.fallbackUrl',
'loop.facebook.shareUrl',
'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',
'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
/* 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"); }
})();

View File

@@ -0,0 +1,63 @@
/***
This will reset the preferences that have been removed completely
from the ghacks user.js up to and including release 57-alpha
For instructions see:
https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
***/
(function() {
let ops = [
/* removed in ghacks user.js v52-57 */
/* 52-alpha */
'browser.search.reset.enabled',
'browser.search.reset.whitelist',
/* 54-alpha */
'browser.migrate.automigrate.enabled',
'services.sync.enabled',
'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
/* 56-alpha: none */
/* 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
/* 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"); }
})();

View File

@@ -0,0 +1,409 @@
/***
This will reset EVERYTHING that is ACTIVE in the ghacks user.js
release 57-alpha master, but excludes the following:
- prefs removed since publishing on github
- e10s section 1100
- privacy.resistFingerprinting alternatives sections 4600 & 4700
- deprecated section 9999
It does not matter if you clear everything, as a restart will reapply your user.js
Total 477 prefs from 57-alpha master: 118 inactive, 359 active
These have been broken into two scripts for convenience
For instructions see:
https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
***/
(function() {
let ops = [
/* 359 ACTIVE prefs in 57-alpha master */
'accessibility.force_disabled',
'alerts.showFavicons',
'app.update.auto',
'app.update.service.enabled',
'app.update.silent',
'app.update.staging.enabled',
'beacon.enabled',
'breakpad.reportURL',
'browser.aboutHomeSnippets.updateUrl',
'browser.backspace_action',
'browser.bookmarks.max_backups',
'browser.cache.disk.capacity',
'browser.cache.disk.enable',
'browser.cache.disk.smart_size.enabled',
'browser.cache.disk.smart_size.first_run',
'browser.cache.disk_cache_ssl',
'browser.cache.frecency_experiment',
'browser.cache.offline.enable',
'browser.crashReports.unsubmittedCheck.autoSubmit',
'browser.crashReports.unsubmittedCheck.enabled',
'browser.ctrlTab.previews',
'browser.display.use_document_fonts',
'browser.download.folderList',
'browser.download.forbid_open_with',
'browser.download.hide_plugins_without_extensions',
'browser.download.manager.addToRecentDocs',
'browser.download.useDownloadDir',
'browser.eme.ui.enabled',
'browser.fixup.alternate.enabled',
'browser.fixup.hide_user_pass',
'browser.formfill.enable',
'browser.helperApps.deleteTempFileOnExit',
'browser.laterrun.enabled',
'browser.library.activity-stream.enabled',
'browser.link.open_newwindow',
'browser.link.open_newwindow.restriction',
'browser.newtab.preload',
'browser.newtabpage.activity-stream.enabled',
'browser.newtabpage.directory.source',
'browser.newtabpage.enabled',
'browser.newtabpage.enhanced',
'browser.newtabpage.introShown',
'browser.offline-apps.notify',
'browser.onboarding.enabled',
'browser.pagethumbnails.capturing_disabled',
'browser.ping-centre.telemetry',
'browser.rights.3.shown',
'browser.safebrowsing.downloads.remote.enabled',
'browser.safebrowsing.downloads.remote.url',
'browser.safebrowsing.provider.google.reportMalwareMistakeURL',
'browser.safebrowsing.provider.google.reportPhishMistakeURL',
'browser.safebrowsing.provider.google.reportURL',
'browser.safebrowsing.provider.google4.reportMalwareMistakeURL',
'browser.safebrowsing.provider.google4.reportPhishMistakeURL',
'browser.safebrowsing.provider.google4.reportURL',
'browser.safebrowsing.reportPhishURL',
'browser.search.countryCode',
'browser.search.geoip.url',
'browser.search.geoSpecificDefaults',
'browser.search.geoSpecificDefaults.url',
'browser.search.region',
'browser.search.suggest.enabled',
'browser.search.update',
'browser.send_pings',
'browser.send_pings.require_same_host',
'browser.sessionhistory.max_entries',
'browser.sessionstore.interval',
'browser.sessionstore.max_tabs_undo',
'browser.sessionstore.max_windows_undo',
'browser.sessionstore.privacy_level',
'browser.sessionstore.resume_from_crash',
'browser.shell.checkDefaultBrowser',
'browser.shell.shortcutFavicons',
'browser.slowStartup.maxSamples',
'browser.slowStartup.notificationDisabled',
'browser.slowStartup.samples',
'browser.ssl_override_behavior',
'browser.startup.homepage_override.mstone',
'browser.tabs.closeWindowWithLastTab',
'browser.tabs.crashReporting.sendReport',
'browser.tabs.insertRelatedAfterCurrent',
'browser.tabs.loadDivertedInBackground',
'browser.tabs.loadInBackground',
'browser.tabs.selectOwnerOnClose',
'browser.tabs.warnOnClose',
'browser.tabs.warnOnCloseOtherTabs',
'browser.tabs.warnOnOpen',
'browser.taskbar.lists.enabled',
'browser.taskbar.lists.frequent.enabled',
'browser.taskbar.lists.recent.enabled',
'browser.taskbar.lists.tasks.enabled',
'browser.taskbar.previews.enable',
'browser.uitour.enabled',
'browser.uitour.url',
'browser.urlbar.autoFill',
'browser.urlbar.autoFill.typed',
'browser.urlbar.clickSelectsAll',
'browser.urlbar.decodeURLsOnCopy',
'browser.urlbar.doubleClickSelectsAll',
'browser.urlbar.filter.javascript',
'browser.urlbar.maxHistoricalSearchSuggestions',
'browser.urlbar.oneOffSearches',
'browser.urlbar.speculativeConnect.enabled',
// 'browser.urlbar.suggest.bookmark', // this may not get reset by your user.js - see issue #308
// 'browser.urlbar.suggest.history', // ditto
// 'browser.urlbar.suggest.openpage', // ditto
'browser.urlbar.suggest.searches',
'browser.urlbar.trimURLs',
'browser.urlbar.usepreloadedtopurls.enabled',
'browser.urlbar.userMadeSearchSuggestionsChoice',
'browser.xul.error_pages.expert_bad_cert',
'camera.control.face_detection.enabled',
'canvas.capturestream.enabled',
'captivedetect.canonicalURL',
'datareporting.healthreport.about.reportUrl',
'datareporting.healthreport.uploadEnabled',
'datareporting.policy.dataSubmissionEnabled',
'device.storage.enabled',
'devtools.chrome.enabled',
'devtools.debugger.remote-enabled',
'devtools.webide.autoinstallADBHelper',
'devtools.webide.enabled',
'dom.allow_cut_copy',
'dom.allow_scripts_to_close_windows',
'dom.caches.enabled',
'dom.disable_beforeunload',
'dom.disable_window_flip',
'dom.disable_window_move_resize',
'dom.disable_window_open_feature.close',
'dom.disable_window_open_feature.location',
'dom.disable_window_open_feature.menubar',
'dom.disable_window_open_feature.minimizable',
'dom.disable_window_open_feature.personalbar',
'dom.disable_window_open_feature.resizable',
'dom.disable_window_open_feature.status',
'dom.disable_window_open_feature.titlebar',
'dom.disable_window_open_feature.toolbar',
'dom.disable_window_status_change',
'dom.event.clipboardevents.enabled',
'dom.flyweb.enabled',
'dom.idle-observers-api.enabled',
'dom.imagecapture.enabled',
'dom.IntersectionObserver.enabled',
'dom.ipc.plugins.flash.subprocess.crashreporter.enabled',
'dom.ipc.plugins.reportCrashURL',
'dom.popup_allowed_events',
'dom.popup_maximum',
'dom.push.connection.enabled',
'dom.push.enabled',
'dom.push.serverURL',
'dom.push.userAgentID',
'dom.serviceWorkers.enabled',
'dom.vibrator.enabled',
'dom.webaudio.enabled',
'dom.webnotifications.enabled',
'dom.webnotifications.serviceworker.enabled',
'dom.workers.enabled',
'experiments.activeExperiment',
'experiments.enabled',
'experiments.manifest.uri',
'experiments.supported',
'extensions.autoDisableScopes',
'extensions.blocklist.enabled',
'extensions.blocklist.url',
'extensions.enabledScopes',
'extensions.formautofill.addresses.enabled',
'extensions.formautofill.available',
'extensions.formautofill.creditCards.enabled',
'extensions.formautofill.heuristics.enabled',
'extensions.getAddons.cache.enabled',
'extensions.getAddons.showPane',
'extensions.pocket.enabled',
'extensions.shield-recipe-client.api_url',
'extensions.shield-recipe-client.enabled',
'extensions.update.autoUpdateDefault',
'extensions.webcompat-reporter.enabled',
'extensions.webextensions.keepStorageOnUninstall',
'extensions.webextensions.keepUuidOnUninstall',
'extensions.webservice.discoverURL',
'font.blacklist.underline_offset',
'full-screen-api.enabled',
'general.useragent.compatMode.firefox',
'general.useragent.locale',
'general.warnOnAboutConfig',
'geo.wifi.uri',
'gfx.downloadable_fonts.enabled',
'gfx.downloadable_fonts.woff2.enabled',
'gfx.font_rendering.graphite.enabled',
'gfx.font_rendering.opentype_svg.enabled',
'gfx.offscreencanvas.enabled',
'intl.accept_languages',
'intl.locale.matchOS',
'intl.regional_prefs.use_os_locales',
'javascript.options.asmjs',
'javascript.options.wasm',
'javascript.use_us_english_locale',
'keyword.enabled',
'layers.acceleration.disabled',
'layout.css.font-loading-api.enabled',
'layout.css.visited_links_enabled',
'layout.spellcheckDefault',
'lightweightThemes.update.enabled',
'mathml.disabled',
'media.autoplay.enabled',
'media.block-autoplay-until-in-foreground',
'media.eme.enabled',
'media.getusermedia.audiocapture.enabled',
'media.getusermedia.browser.enabled',
'media.getusermedia.screensharing.allowed_domains',
'media.getusermedia.screensharing.enabled',
'media.gmp-gmpopenh264.autoupdate',
'media.gmp-gmpopenh264.enabled',
'media.gmp-manager.updateEnabled',
'media.gmp-manager.url',
'media.gmp-manager.url.override',
'media.gmp-provider.enabled',
'media.gmp-widevinecdm.autoupdate',
'media.gmp-widevinecdm.enabled',
'media.gmp-widevinecdm.visible',
'media.gmp.trial-create.enabled',
'media.navigator.enabled',
'media.navigator.video.enabled',
'media.ondevicechange.enabled',
'media.peerconnection.enabled',
'media.peerconnection.ice.default_address_only',
'media.peerconnection.ice.no_host',
'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',
'middlemouse.contentLoadURL',
'network.allow-experiments',
'network.auth.subresource-img-cross-origin-http-auth-allow',
'network.captive-portal-service.enabled',
'network.cookie.cookieBehavior',
'network.cookie.leave-secure-alone',
'network.cookie.thirdparty.sessionOnly',
'network.dns.blockDotOnion',
'network.dns.disablePrefetch',
'network.dns.disablePrefetchFromHTTPS',
'network.http.altsvc.enabled',
'network.http.altsvc.oe',
'network.http.redirection-limit',
'network.http.referer.hideOnionSource',
'network.http.referer.spoofSource',
'network.http.referer.trimmingPolicy',
'network.http.referer.userControlPolicy',
'network.http.referer.XOriginPolicy',
'network.http.referer.XOriginTrimmingPolicy',
'network.http.sendRefererHeader',
'network.http.spdy.enabled',
'network.http.spdy.enabled.deps',
'network.http.spdy.enabled.http2',
'network.http.speculative-parallel-limit',
'network.IDN_show_punycode',
'network.jar.block-remote-files',
'network.jar.open-unsafe-types',
'network.manage-offline-status',
'network.predictor.enable-prefetch',
'network.predictor.enabled',
'network.prefetch-next',
'network.protocol-handler.external.ms-windows-store',
'network.proxy.autoconfig_url.include_path',
'network.proxy.socks_remote_dns',
'network.stricttransportsecurity.preloadlist',
'offline-apps.allow_by_default',
'pdfjs.disabled',
'pdfjs.enableWebGL',
'permissions.manager.defaultsUrl',
'plugin.default.state',
'plugin.defaultXpi.state',
'plugin.scan.plid.all',
'plugin.sessionPermissionNow.intervalInMinutes',
'plugins.click_to_play',
'privacy.clearOnShutdown.cache',
'privacy.clearOnShutdown.cookies',
'privacy.clearOnShutdown.downloads',
'privacy.clearOnShutdown.formdata',
'privacy.clearOnShutdown.history',
'privacy.clearOnShutdown.offlineApps',
'privacy.clearOnShutdown.sessions',
'privacy.clearOnShutdown.siteSettings',
'privacy.cpd.cache',
'privacy.cpd.cookies',
'privacy.cpd.formdata',
'privacy.cpd.history',
'privacy.cpd.offlineApps',
'privacy.cpd.passwords',
'privacy.cpd.sessions',
'privacy.cpd.siteSettings',
'privacy.donottrackheader.enabled',
'privacy.firstparty.isolate',
'privacy.firstparty.isolate.restrict_opener_access',
'privacy.resistFingerprinting',
'privacy.sanitize.sanitizeOnShutdown',
'privacy.sanitize.timeSpan',
'privacy.trackingprotection.ui.enabled',
'security.ask_for_password',
'security.block_script_with_wrong_mime',
'security.cert_pinning.enforcement_level',
'security.csp.enable',
'security.csp.experimentalEnabled',
'security.data_uri.block_toplevel_data_uri_navigations',
'security.dialog_enable_delay',
'security.family_safety.mode',
'security.fileuri.strict_origin_policy',
'security.insecure_field_warning.contextual.enabled',
'security.insecure_password.ui.enabled',
'security.mixed_content.block_active_content',
'security.mixed_content.send_hsts_priming',
'security.mixed_content.use_hsts',
'security.OCSP.enabled',
'security.OCSP.require',
'security.password_lifetime',
'security.pki.sha1_enforcement_level',
'security.sri.enable',
'security.ssl.disable_session_identifiers',
'security.ssl.enable_ocsp_stapling',
'security.ssl.errorReporting.automatic',
'security.ssl.errorReporting.enabled',
'security.ssl.errorReporting.url',
'security.ssl.treat_unsafe_negotiation_as_broken',
'security.tls.enable_0rtt_data',
'security.tls.version.fallback-limit',
'security.tls.version.max',
'security.tls.version.min',
'security.xpconnect.plugin.unrestricted',
'services.blocklist.signing.enforced',
'services.blocklist.update_enabled',
'signon.autofillForms',
'signon.autofillForms.http',
'signon.formlessCapture.enabled',
'signon.storeWhenAutocompleteOff',
'startup.homepage_override_url',
'startup.homepage_welcome_url',
'startup.homepage_welcome_url.additional',
'toolkit.telemetry.archive.enabled',
'toolkit.telemetry.bhrPing.enabled',
'toolkit.telemetry.cachedClientID',
'toolkit.telemetry.enabled',
'toolkit.telemetry.firstShutdownPing.enabled',
'toolkit.telemetry.newProfilePing.enabled',
'toolkit.telemetry.server',
'toolkit.telemetry.shutdownPingSender.enabled',
'toolkit.telemetry.unified',
'toolkit.telemetry.updatePing.enabled',
'ui.submenuDelay',
'ui.use_standins_for_native_colors',
'view_source.tab',
'webchannel.allowObject.urlWhitelist',
'webgl.disable-extensions',
'webgl.disable-fail-if-major-performance-caveat',
'webgl.disabled',
'webgl.dxgl.enabled',
'webgl.enable-debug-renderer-info',
'webgl.enable-webgl2',
'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;
}
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"); }
})();

View File

@@ -0,0 +1,167 @@
/***
This will reset EVERYTHING that is INACTIVE in the ghacks user.js
release 57-alpha master, but excludes the following:
- prefs removed since publishing on github
- e10s section 1100
- privacy.resistFingerprinting alternatives sections 4600 & 4700
- deprecated section 9999
It does not matter if you clear everything, as a restart will reapply your user.js
Total 477 prefs from 57-alpha master: 118 inactive, 359 active
These have been broken into two scripts for convenience
For instructions see:
https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
***/
(function() {
let ops = [
/* 118 INACTIVE prefs in 57-alpha master */
'accessibility.typeaheadfind',
'app.update.enabled',
'browser.cache.memory.capacity',
'browser.cache.memory.enable',
'browser.chrome.favicons',
'browser.chrome.site_icons',
'browser.download.autohideButton',
'browser.privatebrowsing.autostart',
'browser.safebrowsing.allowOverride',
'browser.safebrowsing.blockedURIs.enabled',
'browser.safebrowsing.downloads.enabled',
'browser.safebrowsing.downloads.remote.block_dangerous',
'browser.safebrowsing.downloads.remote.block_dangerous_host',
'browser.safebrowsing.downloads.remote.block_potentially_unwanted',
'browser.safebrowsing.downloads.remote.block_uncommon',
'browser.safebrowsing.malware.enabled',
'browser.safebrowsing.phishing.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.sessionhistory.max_total_viewers',
'browser.startup.page',
'browser.stopReloadAnimation.enabled',
'browser.storageManager.enabled',
'browser.tabs.loadBookmarksInTabs',
'browser.urlbar.autocomplete.enabled',
'browser.urlbar.maxRichResults',
'clipboard.autocopy',
'dom.event.contextmenu.enabled',
'dom.indexedDB.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',
'dom.storage.enabled',
'dom.storageManager.enabled',
'dom.vr.enabled',
'extensions.screenshots.disabled',
'extensions.systemAddon.update.url',
'extensions.update.enabled',
'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',
'font.system.whitelist',
'full-screen-api.warning.delay',
'full-screen-api.warning.timeout',
'general.autoScroll',
'geo.wifi.logging.enabled',
'gfx.direct2d.disabled',
'javascript.options.baselinejit',
'javascript.options.ion',
'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',
'network.cookie.lifetime.days',
'network.cookie.lifetimePolicy',
'network.dns.disableIPv6',
'network.dnsCacheEntries',
'network.dnsCacheExpiration',
'network.http.fast-fallback-to-IPv4',
'offline-apps.quota.warn',
'permissions.memory_only',
'places.history.enabled',
'plugin.state.flash',
'privacy.clearOnShutdown.openWindows',
'privacy.cpd.downloads',
'privacy.cpd.openWindows',
'privacy.resistFingerprinting.block_mozAddonManager',
'privacy.trackingprotection.annotate_channels',
'privacy.trackingprotection.enabled',
'privacy.trackingprotection.lower_network_priority',
'privacy.trackingprotection.pbmode.enabled',
'privacy.usercontext.about_newtab_segregation.enabled',
'privacy.userContext.enabled',
'privacy.userContext.longPressBehavior',
'privacy.userContext.ui.enabled',
'privacy.window.maxInnerHeight',
'privacy.window.maxInnerWidth',
'reader.parse-on-load.enabled',
'security.mixed_content.block_display_content',
'security.nocertdb',
'security.ssl.require_safe_negotiation',
'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',
'services.blocklist.addons.collection',
'services.blocklist.gfx.collection',
'services.blocklist.onecrl.collection',
'services.blocklist.plugins.collection',
'signon.rememberSignons',
'svg.disabled',
'toolkit.cosmeticAnimations.enabled',
'urlclassifier.trackingTable',
'xpinstall.signatures.required',
/* 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"); }
})();

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);
}
}
})();

257
updater.bat Normal file
View File

@@ -0,0 +1,257 @@
@ECHO OFF & SETLOCAL EnableDelayedExpansion
TITLE ghacks user.js updater
REM ## ghacks-user.js updater for Windows
REM ## author: @claustromaniac
REM ## version: 4.4
REM ## instructions: https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.3-Updater-Scripts
SET _myname=%~n0
SET _myparams=%*
:parse
IF "%~1"=="" (GOTO endparse)
IF /I "%~1"=="-unattended" (SET _ua=1)
IF /I "%~1"=="-log" (SET _log=1)
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
IF DEFINED _updateb (
REM The normal flow here goes from phase 1 to phase 2 and then phase 3.
IF NOT "!_myname:~0,9!"=="[updated]" (
IF EXIST "[updated]!_myname!.bat" (
REM ## Phase 3 ##: The new script, with the original name, will:
REM * Delete the [updated]*.bat script
REM * Begin the normal routine
REN "[updated]!_myname!.bat" "[updated]!_myname!.bat.old"
DEL /F "[updated]!_myname!.bat.old"
CALL :message "Script updated^!"
TIMEOUT 3 >nul
GOTO begin
)
REM ## Phase 1 ##
REM * Download new batch and name it [updated]*.bat
REM * Start that script in a new CMD window
REM * Exit
CALL :message "Updating script..."
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://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!
) ELSE (
CALL :message "Failed. Make sure PowerShell is allowed internet access."
TIMEOUT 120 >nul
)
) ELSE (
IF "!_myname!"=="[updated]" (
CALL :message "The [updated] label is reserved. Rename this script and try again."
TIMEOUT 300 >nul
) ELSE (
REM ## Phase 2 ##: The [updated]*.bat script will:
REM * Copy itself overwriting the original batch
REM * Start that script in a new CMD instance
REM * Exit
IF EXIST "!_myname:~9!.bat" (
REN "!_myname:~9!.bat" "!_myname:~9!.bat.old"
DEL /F "!_myname:~9!.bat.old"
)
COPY /B /V /Y "!_myname!.bat" "!_myname:~9!.bat"
START CMD /C "!_myname:~9!.bat" !_myparams!
)
)
EXIT /B
)
:begin
CLS
ECHO:
ECHO:
ECHO: ########################################
ECHO: #### user.js Updater for Windows ####
ECHO: #### by claustromaniac ####
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,* delims=:" %%G IN (user.js) DO (
SET /A "_line+=1"
IF !_line! GEQ 4 (GOTO exitloop)
IF !_line! EQU 1 (SET _name=%%H)
IF !_line! EQU 2 (SET _date=%%H)
IF !_line! EQU 3 (SET _version=%%G)
)
:exitloop
IF NOT "!_name!"=="" (
IF /I NOT "!_name!"=="!_name:ghacks=!" (
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 (
CALL :message "This batch should be run from your Firefox profile directory."
ECHO: It will download the latest version of ghacks user.js from github and then
CALL :message "append any of your own changes from user-overrides.js to it."
CALL :message "Visit the wiki for more detailed information."
ECHO:
TIMEOUT 1 /nobreak >nul
CHOICE /C SHE /N /M "Start [S] Help [H] Exit [E]"
CLS
IF ERRORLEVEL 3 (EXIT /B)
IF ERRORLEVEL 2 (GOTO :showhelp)
)
IF DEFINED _log (
CALL :log >>user.js-update-log.txt 2>&1
IF DEFINED _logp (START user.js-update-log.txt)
EXIT /B
:log
SET _log=2
ECHO:##################################################################
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://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/user.js', 'user.js.new')"
) >nul 2>&1
IF EXIST user.js.new (
IF DEFINED _multi (
FORFILES /P user.js-overrides /M *.js >nul 2>&1
IF NOT ERRORLEVEL 1 (
IF DEFINED _merge (
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.new+user-overrides-merged.js user.js.new
CALL :merge user.js.new
) ELSE (
CALL :message "Appending..."
COPY /B /V /Y user.js.new+"user.js-overrides\*.js" user.js.new
)
) ELSE (CALL :message "No override files found.")
) ELSE (
IF EXIST "user-overrides.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.new
) ELSE (
CALL :message "user-overrides.js appended."
)
) ELSE (CALL :message "user-overrides.js not found.")
)
IF EXIST user.js (
FC user.js.new user.js >nul && SET "_changed=false" || SET "_changed=true"
)
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.new >nul
CALL :message "Update completed without changes."
) ELSE (
REN user.js.new user.js
CALL :message "Update complete."
)
)
) ELSE (
CALL :message "Update failed. Make sure PowerShell is allowed internet access."
ECHO: No changes were made.
)
IF NOT DEFINED _log (
IF NOT DEFINED _ua (PAUSE)
)
EXIT /B
REM ########### Message Function ###########
:message
SETLOCAL DisableDelayedExpansion
IF NOT "2"=="%_log%" (ECHO:)
ECHO: %~1
IF NOT "2"=="%_log%" (ECHO:)
ENDLOCAL
GOTO :EOF
REM ############ Merge function ############
:merge
SETLOCAL DisableDelayedExpansion
(
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 (
SET "_temp=%%J"
SETLOCAL EnableDelayedExpansion
IF NOT "!_temp:~0,9!"=="user_pref" (
ENDLOCAL & ECHO:%%J
) ELSE (
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)
)
)
)
)
)>updatertempfile
MOVE /Y updatertempfile "%~1" >nul
ENDLOCAL
GOTO :EOF
REM ############### Help ##################
:showhelp
MODE 80,46
CLS
CALL :message "Available arguments (case-insensitive):"
CALL :message " -log"
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. 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
ECHO: directory for quick reference. It contains only the merged data from
ECHO: override files and can be safely discarded after updating, or used as the
ECHO: new user-overrides.js. When there are conflicting records for the same
ECHO: pref, the value of the last one declared will be used. Visit the wiki
ECHO: for usage examples and more detailed information.
CALL :message " -multiOverrides"
ECHO: Use any and all .js files in a user.js-overrides sub-folder as overrides
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
MODE 80,25
GOTO :begin
REM #####################################

58
updater.sh Normal file
View File

@@ -0,0 +1,58 @@
#!/bin/bash
### ghacks-user.js updater for Mac/Linux
## author: @overdodactyl
## version: 1.2
ghacksjs="https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/user.js"
echo -e "\nThis script should be run from your Firefox profile directory.\n"
currdir=$(pwd)
## get the full path of this script (readlink for Linux, greadlink for Mac with coreutils installed)
sfp=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null || greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null)
## fallback for Macs without coreutils
if [ -z "$sfp" ]; then sfp=${BASH_SOURCE[0]}; fi
## change directory to the Firefox profile directory
cd "$(dirname "${sfp}")"
echo -e "Updating the user.js for Firefox profile:\n$(pwd)\n"
if [ -e user.js ]; then
echo "Your current user.js file for this profile will be backed up and the latest ghacks version from github will take its place."
echo -e "\nIf currently using the ghacks user.js, please compare versions:"
echo " Available online: $(curl -s ${ghacksjs} | sed -n '4p')"
echo " Currently using: $(sed -n '4p' user.js)"
else
echo "A user.js file does not exist in this profile. If you continue, the latest ghacks version from github will be downloaded."
fi
echo -e "\nIf a user-overrides.js file exists in this profile, it will be appended to the user.js.\n"
read -p "Continue Y/N? " -n 1 -r
echo -e "\n\n"
if [[ $REPLY =~ ^[Yy]$ ]]; then
if [ -e user.js ]; then
# backup current user.js
bakfile="user.js.backup.$(date +"%Y-%m-%d_%H%M")"
mv user.js "${bakfile}" && echo "Your previous user.js file was backed up: ${bakfile}"
fi
# download latest ghacks user.js
echo "downloading latest ghacks user.js file"
curl -O ${ghacksjs} && echo "ghacks user.js has been downloaded"
if [ -e user-overrides.js ]; then
echo "user-overrides.js file found"
cat user-overrides.js >> user.js && echo "user-overrides.js has been appended to user.js"
fi
else
echo "Process aborted"
fi
## change directory back to the original working directory
cd "${currdir}"

1061
user.js

File diff suppressed because it is too large Load Diff

BIN
wikipiki/exceptions01.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
wikipiki/exceptions02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

BIN
wikipiki/exceptions03.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB