Compare commits

..

346 Commits

Author SHA1 Message Date
5c703f0262 65-beta 2019-02-09 10:05:45 +00:00
de0ebbed21 0343: even MOAR clarification 2019-02-08 11:38:17 +00:00
e448015704 0343: clarify where
TAAR is extension recommendations in the "Add-ons Manager" (not sure how it's displayed)
CFR is extension recommendations as you browse the web, via a drop down panel
2019-02-07 16:55:04 +00:00
d3b1ed45ad RFP: UA spoof is now 60+8's 2019-02-07 15:14:08 +00:00
ed140425ea move shit around 2019-02-08 03:41:23 +13:00
3847f97f41 some more 65+ diffs, #610 2019-02-07 13:41:15 +00:00
d81e8ae583 i need a break 2019-02-07 11:11:16 +00:00
7a8381d894 typo 2019-02-07 11:01:31 +00:00
649699ad22 0609: disable connectivity service #610 2019-02-07 11:00:07 +00:00
1d5289dd94 RFP 67+ 2019-02-06 16:59:28 +00:00
74c8f294d6 0306: extension metadata, closes #615 2019-02-05 04:51:07 +00:00
a0508eccf6 capital letter after [note] 2019-02-04 13:41:56 +00:00
25acd9f63e 2703 again
- description needs to stay changed from just cookies since it also clears site data
- keep the info about n days out of it, it's just messy (ESR users should be on version 60)
- get the values correct (I mixed them up earlier)
- fixup [setting] path
- leave in one (of two) extra [notes] I previously added
2019-02-04 13:40:45 +00:00
74a08114a8 2701: refix setting 2019-02-04 13:28:29 +00:00
71ffc661b2 2701 again 2019-02-04 13:26:19 +00:00
e432a22693 0306: moar info #615
see https://github.com/ghacksuserjs/ghacks-user.js/issues/615#issuecomment-460243162 - checking for updates is not a trigger, having an update **and** applying it is
2019-02-04 13:08:41 +00:00
f06c78f897 update cookie settings info 2019-02-05 02:00:19 +13:00
847eb80877 0306 => inactive, closes #615
whatever we thought it may have done in the past, it doesn't do that now as far as we know. And it's not an issue since we allow extension update-CHECKs anyway.
2019-02-04 06:39:29 +00:00
ec0e58099f pointer events -> RFP ALTS 2019-02-01 13:53:04 +00:00
e6eb473071 dom.storage_access.enabled
regardless of this pref setting: the permissions.sqlite file will still be abused to store a flag for this for every single site you connect to (as third party?) - fun.
2019-02-01 13:41:00 +00:00
f1b892bc1c clean up "Firefox Data Collection & Use" (#627)
* clean up "Firefox Data Collection & Use"
  - telemetry prefs to 330's
  - Firefox Data Collection & Use prefs to 340's (but leave crash reports in 350s)
  - move `app.shield.optoutstudies.enabled` to 330's - this is an internal pref which controls if you get the system addon
  - make notes that `datareporting.healthreport.uploadEnabled` controls studies and ext recommendations
  - split crash reports better to reflex the UI setting
2019-02-02 00:57:22 +13:00
524b5f79dc setting changes re cookies 2019-01-31 18:42:59 +00:00
24f2e1d982 disable storage access api
see: https://old.reddit.com/r/firefox/comments/alnn3f/storageaccessapi_permissions/effg5tp/
2019-01-31 16:16:59 +00:00
c6060e5645 storage access api 2019-01-31 16:03:39 +00:00
d0b8a08a4b browser.urlbar.maxHistoricalSearchSuggestions
default 0 in ESR60 and FF60+
2019-01-30 16:16:12 +00:00
f047fe93c0 remove 0850f
`browser.urlbar.maxHistoricalSearchSuggestions` is default 0 is FF60 thru to FF66. It is also default 0 in ESR60.1 thru 60.5. (at least on Windows)

IDK if this has ever been used, maybe android, in which case it's probably useful?
2019-01-30 16:14:39 +00:00
6147fed61c and the rest of the 0850's
The location bar dropdown cannot be disabled via prefs except with css, in which case the whole thing is hidden regardless of he above prefs. So there is no point in making any of them active. This is also in line with what we can achieve with relaxed and hardened tags / sticky issues - that is we can find a better balance, Shoulder surfers is a low risk, not even Tor Browser disables this stuff. People need to take responsibility and/or use common sense. Sure, we can leave em in for users to know about and enable if they want. End of story.

userChrome.css code is
```css
/* locationbar dropdown FF65+ */
#PopupAutoCompleteRichResult {display: none!important;}
```
2019-01-30 15:44:08 +00:00
54f79604da Make Firefox Great Again (#626)
* location bar changes
* if the dropdown is going to be used, then no point hiding search engines on the bottom line
2019-01-30 15:06:32 +00:00
2f351fa5ce 0702: http2 websockets
might as well add it: needs t be taken into consideration when looking at the whole http2 thing. Will be interesting to see what Tor Browser does with it in ESR68
2019-01-30 14:09:39 +00:00
5dc3ea66cd browser.contentblocking.enabled
only existed for FF63+64, default true anyway
2019-01-30 12:38:07 +00:00
d9a87b3ac4 FF65 removals (#624) 2019-01-30 12:27:53 +00:00
95b75a065d up date info on what cookies control #622 2019-01-30 10:23:42 +00:00
8c96432eb8 Update updater.sh (#618)
Closes #616 + #617
2019-01-25 14:28:00 +00:00
1c09ec36e3 0306: extra info, closes #615 2019-01-18 04:24:13 +00:00
f1e6d164f7 start 65 commits 2019-01-17 05:19:11 +00:00
3b90e6e592 end of v64 2019-01-17 05:11:29 +00:00
45bd5ccc02 PB Mode: ref added 2019-01-16 02:07:06 +00:00
7bf5790f2b RFP: FF66 changes to UA HTTP Headers 2019-01-11 05:14:59 +00:00
075d6fe6e4 2615: s/cut keys: bug fix in 66+ 2019-01-11 05:09:14 +00:00
4604cf0d4e references to other prefs s/be explicit 2018-12-21 11:02:40 +00:00
b845f8fe3a Update README.md
OK, I give up. I would've removed those commits by force-pushing, but the branch is protected. #NotMyFault
2018-12-20 19:53:48 +00:00
96063027ba Update README.md
second attempt at fixing the weird title...
2018-12-20 19:44:27 +00:00
186fb1c9be Update README.md
fix for the weird page title ![][b]
https://ghacksuserjs.github.io/ghacks-user.js/
2018-12-20 19:42:28 +00:00
ac4e764c37 http2, altsvc, ssl session ids vs FPI vs TB #571 2018-12-18 15:54:57 +00:00
5b0952f60a network.auth.subresource-http-auth-allow 2018-12-17 13:00:27 +00:00
5bd5f6b28e 0912: HTTP Auth sub-resources #585 (#602) 2018-12-18 01:41:37 +13:00
55c2cacbce 0335: toolkit.telemetry.coverage.opt-out (#600) 2018-12-17 22:43:45 +13:00
4badc42879 0105b: kill snippets endpoint #528
it's too hard to follow AS changes, and work out if disabling showing items (basic toggling of show/hide sections etc) actually stops downloading a localized local copy etc. For items we actually want to block, let the endpoint slaughter begin.
2018-12-17 09:36:26 +00:00
6946a01232 Update troubleshooter.js 2018-12-17 08:19:14 +00:00
da80e39064 0105s: description s/be self explanatory #578
when filtered and 0105a is not shown, AS doesn't mean anything
2018-12-16 17:37:42 +00:00
c1d6d81528 add PERF tags to wasm, asm.js, closes #599 2018-12-16 14:10:32 +00:00
d5ece0f6f4 1700s: revamp Containers header #585 (#596) 2018-12-14 07:05:43 +00:00
f6ea20a8b0 0335: Telemetry Coverage endpoint
let's just coverage-our-ass on this one

While I don't mind telemetry (development needs meaningful feedback to better the product), and I trust the data is not PII, and/or anonymized into buckets etc (you can check this you know), and I understand this one needs to be outside the Telemetry pref in order to gather the one-time ping ... and I trust Mozilla's motives ... I'm starting to get a little annoyed at the non-stop incessant increasing telemetry bullshittery and ass-fuckery around sending data home, and the lengths some Mozilla devs will go to, to hide this info (hidden prefs, access denied tickets to hide discussion of what should be public, and even **not even adhering to their own documentation**).

I will also be killing as many Activity Stream endpoints as well - as long as they are in line with our js - pocket, snippets, onboarding etc. And I will add those from personal as inactive for end-users - eg cfr
2018-12-13 17:28:16 +00:00
645492e82f grammar, case, etc, closes #594
thanks @Just-me-ghacks
2018-12-14 04:49:50 +13:00
15c68dc344 disable System Add-on updates (#595)
remember the new Coverage Telemetry shit? with a **hidden** opt-out pref? guess what, they are already collecting for 3 months ...

https://bugzilla.mozilla.org/show_bug.cgi?id=1487578 - **3 months ago**: "I see data coming in that looks reasonable"

guess what else ...

"It has also replaced the previous version that was there (from bug 1480194)" and oh, surprise surprise, 1480194 is ACCESS DENIED!

they're not just using private tickets to hide security critical information from potential hackers and blackhats, no they also use it to hide shady AF things. Things that they fully know are shady as fuck and that they absolutely know a lot of people would not like. There's simply no other reason why they'd do that

but wait, that's not all. If you think an opt-out pref that 99% of people wouldn't know about even if it showed up in about:config BUT ALSO HAPPENS TO BE HIDDEN is kind of questionable, well ... the system addon that they use for this shit apparently looked or still looks for `toolkit.telemetry.coverage.opt-out` [1] instead of `toolkit.coverage.opt-out` as their documentation [2] claims

[1] https://github.com/mozilla/one-off-system-add-ons/pull/131/files#diff-6e0cbf76986d04383ccb32a29ef27a7aR25
[2] https://hg.mozilla.org/mozilla-central/file/tip/toolkit/components/telemetry/docs/data/coverage-ping.rst#l32

It's time to opt out of all that shit for good. Disable system addon updates and kill it at the root

> In FF61 and lower, you will not get any System Add-on updates except when you update Firefox

on its own that's not true. You will get SA updates unless you disable app update checks + auto install. Let's just remove that as well.
2018-12-14 03:21:57 +13:00
04b797f1aa 0209: remove trailing space
@Just-me-ghacks 💋
2018-12-13 11:14:44 +00:00
e60abd6c44 64-beta 2018-12-12 17:17:33 +00:00
d55b8176ad dyslexia and/or dementia 2018-12-12 16:52:12 +00:00
31adbba774 5000s: disable CFR 2018-12-12 16:34:27 +00:00
3c247a2c5b Update ghacks-clear-[removed].js 2018-12-12 13:22:58 +00:00
879f0abf28 2201: more garbage 2018-12-12 13:21:24 +00:00
d97d0ec0f5 media.peerconnection*
covered by user_pref("media.peerconnection.enabled", false);
2018-12-12 13:09:03 +00:00
3916e38681 taking out the garbage (#590) 2018-12-13 02:02:38 +13:00
51ac69874b 0105* remove // has setting 2018-12-12 11:58:48 +00:00
2d956d04f3 move 1260 to 122x (#591)
* move 1260 to 122x

"disable or limit SHA-1 certificates" is about certs, not ciphers.
Because CERTS is 1st in the title I moved it to the 1st item there because it's arguably also the most important of the lot (and renumbered the rest)
We can also drop HSTS from the subgroup title because there's nothing HSTS left atm.
2018-12-13 00:52:49 +13:00
9d6bfb650c disable Telemetry Coverage (#589) 2018-12-13 00:29:29 +13:00
ccdd4decf0 Pocket: 0510->0370
Pocket is no longer a System Add-on in FF64+
2018-12-12 08:25:25 +00:00
f0fbfd3086 network.auth.subresource-img-cross-origin-http-auth-allow #585 2018-12-11 17:44:19 +00:00
88b747ef36 0911: remove it, #585
it is default false in FF59+
2018-12-11 17:42:19 +00:00
c6ebe36165 1022: resume from crash=>inactive, closes #575 2018-12-11 17:28:21 +00:00
7684e83aba 0102 add SR info #575 2018-12-11 17:18:26 +00:00
4f37975566 browser.sessionstore.max_windows_undo #575 2018-12-11 16:49:38 +00:00
26b874bed7 1020: remove max_windows #575 2018-12-11 16:43:11 +00:00
61be5ae563 all Deprecations + new ADB extension prefs (#587) 2018-12-12 05:07:28 +13:00
ef1e61ebcd start 64-alpha 2018-12-11 16:05:07 +00:00
205c48d9d3 final 63 release 2018-12-11 15:49:31 +00:00
0e1b0a4b6e move 0370 to 0105b (#586) 2018-12-12 04:40:29 +13:00
778dc89bb6 2002 WebRTC tests #580
FYI, the https://www.privacytools.io/webrtc.html test in our wiki is 404, so I gave it a strikethru and added this one. This is also handy for 2001, but do we need to double up on it? We're only disabling WebRTC because of IP leaks, so I don't see the point in testing if WebRTC is disabled.
2018-12-11 00:40:03 +00:00
23733097a9 2302 FF version 2018-12-11 00:13:07 +00:00
71a2d393f3 minor wording changes (#583) 2018-12-11 11:23:00 +13:00
74ebacc0dd obey rules for [setting] tag location #578
all setting tags must be between `/* ... ***/`
2018-12-10 19:52:48 +00:00
45e3b3a0e0 2682: put correct version back
0a67cdec8b (comments)
2018-12-10 19:35:41 +00:00
8172f730d3 Update README.md 2018-12-10 19:26:17 +00:00
5c85e61bb4 4000: remove old FPI notes (#581) 2018-12-10 18:36:07 +00:00
0a67cdec8b #578 cleanups (#576)
- cleanup of tags placement, order consistency, and to use square brackets (allows usage elsewhere to not get tagged, eg 1402)
- other bits and bobs
2018-12-11 07:18:26 +13:00
b85668c2cd make description & info & notes concurrent #574 2018-12-08 04:10:13 +13:00
786839ffc1 2701: fix split multi-[notes] 2018-12-06 08:16:01 +00:00
8313f2e01a 1020: fix description
Session Restore cannot be disabled in Normal mode, it is also used internally. FYI: PB Mode does not use Session Restore. The description is still not 100%, as it refers to what is restored, not what is kept in the recovery.jsonlz4 (at least for tabs)
2018-12-06 05:41:25 +00:00
0a87c99a0e 1203: ssl session ids are 24hrs 2018-12-05 20:58:07 +00:00
91fed43fc7 0703 atl-svc, better ref, #571 2018-12-05 20:36:20 +00:00
74f029566e enforce DOMHighResTimeStamp API #491
flipped true in FF54: https://bugzilla.mozilla.org/show_bug.cgi?id=1026804 but unsure when the pref itself was introduced. note: other timing prefs were always in 2400's see 4602: [2411] disable resource/navigation timing / 4603: [2412] disable timing attacks
2018-12-04 10:34:02 +00:00
571be93ae0 proper case convention after tags
Can't believe I did this. Out of 32 `[setup*` and  9 `[warning]` tags (excluding the readme), I let one capital letter get past me, the bastard!
2018-12-04 10:26:44 +00:00
11b16c9c6d move PB mode into STARTUP section #567 2018-12-04 08:51:19 +00:00
c4ec4dbc77 move 0000 to personal #567
it has zero to do with privacy etc, and in fact most users will only ever encounter it once (and check the box) when they first go to about:config, so it's not even useful as an override or a new profile IMO. This removes one of three numbers that don't have a section
2018-12-04 08:34:36 +00:00
67998eb4af section naming convention consistency 2018-12-04 08:27:52 +00:00
834857b564 tag sections #567 2018-12-04 20:03:19 +13:00
25923f1acd add index #567 2018-12-04 06:03:11 +00:00
85eaba2571 TAG! You're it! #545 2018-12-04 18:36:03 +13:00
51237f6889 updater.sh: add -e option for ESR users (#565) 2018-12-01 14:47:58 +00:00
74e753d0c5 fix profile check (#564) 2018-12-01 14:18:38 +00:00
db56940422 typos 2018-11-29 14:10:08 +00:00
400d764a93 Update updater.sh (#558)
* just some polishing
2018-11-27 16:57:51 +00:00
f3e2bfa76d browser.crashReports.unsubmittedCheck.autoSubmit 2018-11-26 15:33:36 +00:00
d4907faa8e updater.sh v2.1 (#554)
when argument `-l` is used, parse profiles.ini instead of just listing folders in the default profiles dir.
This allows to select profiles located outside of the default profiles directory and makes selection easier because it also shows the profile name (and selection is by number instead of having to copy-paste a path)
2018-11-26 14:44:52 +00:00
62351bfbf5 updater.sh v2.0 (#543)
* lots of new arguments

`usage: ./updater.sh [-h] [-p PROFILE] [-u] [-d] [-s] [-n] [-b] [-c] [-v] [-r] [-o OVERRIDE]`

Args can be written separately or together. Examples:

```txt
./updater.sh -sdc
./updater.sh -sd -o relaxed.js
./updater.sh -s -d
```

Deprecated arguments still work (for now!)
2018-11-25 17:16:05 +00:00
b182946ae4 Tor-related warnings (#551)
Also reworded some stuff.
2018-11-24 05:19:24 +00:00
2ae3a3e4e1 1700s: enable containers, #438
AFAIK there's no technical reasons for containers to be disabled in FF63+
2018-11-21 23:53:00 +00:00
0ff610c056 there is no spoon 2018-11-20 18:14:23 +00:00
661a314e28 RFP: pointerEvent.pointerid 2018-11-20 17:36:04 +00:00
106f46d053 updater.sh restructuring/re-write (#541)
* Uses `perl` as a last resort if `curl` and `wget`  are not available (fixes #537)
* Aborts and notifies user if none of the above are installed 
* Better use of functions
* When version numbers are checked, the contents are immediately saved to a temp dir.  This allows us to skip using wget/curl/perl a second time
* Improved messages for users
* Added various font colors for ease of use and aesthetics
2018-11-19 17:34:14 +00:00
643cba63cf Activity Stream is no longer a System Add-on 2018-11-19 03:00:40 +00:00
b5c5d8e9d1 removed browser.eme.ui.enabled 2018-11-19 00:37:42 +00:00
36b90cd5e6 1830: remove hiding the DRM UI
out of interest, it no longer requires a restart
2018-11-19 00:34:56 +00:00
299a03663f 0351: move *autoSubmit to deprecated
https://github.com/ghacksuserjs/ghacks-user.js/issues/302#issuecomment-359245047
2018-11-19 00:12:07 +00:00
13550d18a1 update [SETTING] info (#538) 2018-11-19 12:56:12 +13:00
c12eb0fdc6 0201b+2305 Permissions API info 2018-11-18 12:56:51 +00:00
acbf881b1f saving the world bytes at a time 2018-11-15 15:47:21 +00:00
7351e561c4 1243: mixed OBJECT_SUBREQUESTS 2018-11-15 07:06:34 +00:00
4e42bad6a1 0201: default geo=> inactive, #533 2018-11-14 17:12:03 +00:00
b85e748b53 2204: FS API=>inactive, #533 2018-11-13 18:56:51 +00:00
0cc4007eda 1202: tls.min => inactive #533
TLS 1.0 and 1.1 are still secure. Sure, later versions are more secure, but 98% of the web is already upgraded - less than 2% of sites use < v1.2. So it's not very likely you would come across a site that requires it, but if you did, what's the point in breaking it. Mozilla and Chrome already have plans to deprecate TLS 1.0 & 1.1, and force that last 2% of sites.

TLS settings can be FP'ed without JS. By sticking with the defaults, I do not see any security issues, but an increase in potential anti-FPing. TBH, the chances of either (i.e being FP'ed with TLS as a entropy point, or being compromised due to TLS<1.2) are slim to non anyway.

Any arguments, please see @earthlng
2018-11-13 16:19:23 +00:00
3003f2dd85 make up yer mind
stick it back in for two releases - pref gets removed in FF65 anyway
2018-11-13 15:30:39 +00:00
ce48306a0d finalize beta 2018-11-13 15:12:20 +00:00
3423d39fa9 2517 Media Capabilities => inactive
see f214e4bc4e (comments)
2018-11-13 15:11:01 +00:00
4834472107 remove 0426 content blocking 2018-11-13 15:01:35 +00:00
f214e4bc4e 2517: disable Media Capabilities API (for now) 2018-11-13 08:42:49 +00:00
8fd6061bcc 0426: enforce CB 2018-11-13 08:19:19 +00:00
92acb6b2f7 saving the world, one byte at a time 2018-11-12 00:06:19 +00:00
b6b9733afa remove old information (#531)
Pants said "We do not need to keep anything for ESR users. ESR users are on v60, and we have an archived 60 for them."
This isn't even affecting ESR60 but only older versions.
2018-11-08 04:14:32 +13:00
89bc0bee16 scheme+host+path+port -> scheme+host+port+path (#530) 2018-11-04 14:44:20 +00:00
f8fc465d0a 2701: add new descriptions and new value (#527) 2018-10-30 04:40:24 +13:00
58fa4e9b6d 0514: disable snippets, top stories, telemetry 2018-10-29 14:26:49 +00:00
afee555045 FPI: isolate postMessage... 2018-10-28 16:46:22 +00:00
5a36b4e016 Update README.md 2018-10-28 15:58:47 +00:00
7b3e6f5143 Update README.md 2018-10-28 15:20:41 +00:00
452c717502 Update README.md 2018-10-28 11:09:47 +00:00
661af196d9 Update README.md 2018-10-28 11:08:18 +00:00
39a30d710b Update README.md 2018-10-27 16:30:38 +00:00
8f10300c15 Update _config.yml 2018-10-27 16:29:34 +00:00
806d047729 Update README.md 2018-10-27 16:28:15 +00:00
0efebe3e83 Update README.md 2018-10-27 16:17:25 +00:00
49d9314b0a Update README.md 2018-10-27 15:00:10 +00:00
b4b5e3a068 Add files via upload 2018-10-28 03:57:54 +13:00
29d832e350 Update README.md 2018-10-27 14:55:15 +00:00
Mtq
68e44285c5 Update README.md (#524)
+ compressed
2018-10-28 03:52:19 +13:00
e8bfa93696 0410s: SBv4 & cookies, #520 2018-10-25 00:13:50 +00:00
1abe1fd4df 4702: buildID cleanup, closes 518 2018-10-24 10:15:37 +00:00
24f7847f73 2703: make value 3 info clearer 2018-10-23 16:13:23 +00:00
56206f77ba removed, renamed or hidden in v63.0 (#523)
* removed, renamed or hidden in v63.0

- 0301a - do you want to add the `[NOTE] Firefox currently checks every 12 hrs  ...` to `0302a` ? The problem is it also checks for updates every time you open/reload about:preferences and in Menu>Help>About Firefox regardless of when the last check was.

- 0513 - removed because follow-on-search is no longer a deletable system addon

- 2703 - do we just remove `3=for n days` or add a [NOTE] that value 3 was remove in FF63 or something?

- `browser.ctrlTab.recentlyUsedOrder` replaces `browser.ctrlTab.previews` but it now defaults to true. No need to list the new one under 5000 IMO

* Update user.js

* 1031 add more info

https://bugzilla.mozilla.org/show_bug.cgi?id=1453751#c28

* 0301a: remove update-check timing info

* 2703: add version deprecation for value 3
2018-10-24 04:45:31 +13:00
587194ce84 1403: icon fonts: flip, make inactive, closes #521 2018-10-20 01:35:37 +00:00
7aac6d476a 1270: link to 1201, #519 2018-10-16 12:01:42 +00:00
9e073ea5d5 1201: SSL renegotiation -> active, closes #519 2018-10-16 11:57:32 +00:00
732c438148 0710: disable GIO... #442 2018-10-14 12:11:56 +00:00
58931bc15d start 63 commits 2018-10-11 11:25:03 +00:00
21b18cbe49 finalize 62 2018-10-11 10:46:35 +00:00
cbcd293e68 RFP: spoof/suppress Pointer Events
https://bugzilla.mozilla.org/show_bug.cgi?id=1363508
2018-10-11 05:50:09 +00:00
aacf5d4a0b update 1031 description 2018-09-30 15:30:32 +00:00
ec5fb6e3a1 removed privacy.trackingprotection.ui.enabled 2018-09-30 15:24:33 +00:00
b2fc9bc266 remove 0421: privacy.trackingprotection.ui.enabled
- pref removed in FF63 (https://bugzilla.mozilla.org/1476879)
- when we added it the default was false
- default is true since FF57
- it's only an UI thing

ergo we don't need to move it to 9999
2018-09-30 15:20:36 +00:00
ca1cc2001f Update README.md 2018-09-20 23:40:29 +00:00
f88af1dac6 Update README.md 2018-09-20 23:39:44 +00:00
1c6c5ea2ff 1000s: cache header section #496 2018-09-13 05:09:07 +00:00
2d316ceedd removed *webextensions.keep* 2018-09-12 22:27:26 +00:00
36c791c4bc remove 2661: *webextensions.keep*
Added in FF51 with defaults false and never changed since
2018-09-12 22:23:59 +00:00
ee213f2bab infos about default values (#504)
* more infos

* add colons

not all EOL comments for defaults start with `// default` (23). The common string is `default:` (27 incl. these ones) with or without preceding or trailing spaces
2018-09-13 10:17:56 +12:00
01a978e33a add 0864: dom.forms.datetime, closes #495 2018-09-11 16:43:18 +00:00
6717bc0674 1024: toolkit.winRegisterApplicationRestart 2018-09-09 20:46:35 +00:00
11a94c7e32 4503: add bugzilla 2018-09-09 20:43:56 +00:00
b7c0e816a0 remove ESR52 grouping in 9999 (#499) 2018-09-10 08:33:43 +12:00
8b5547a973 4504: browser.startup.blankWindow 2018-09-08 17:23:48 +00:00
f0c29cf8a6 62-beta 2018-09-08 16:37:12 +00:00
e7a71143a8 oophs
these two prefs were moved to deprecated, not removed from the user.js itself
2018-09-08 14:14:46 +00:00
9e342deaf2 update 1803 after Java removal (#494) 2018-09-06 04:59:04 +12:00
109d4cf916 removed plugin.state.java 2018-09-05 09:33:29 +00:00
c805dd8b3b 62 deprecated/removed prefs 2018-09-05 09:30:42 +00:00
a89e8fc1e0 removed browser.cache.frecency_experiment 2018-08-29 17:12:13 +00:00
f2065a463c move 1007 to 9999 (#493)
`browser.cache.frecency_experiment` is a dead pref since FF59: https://bugzilla.mozilla.org/1430197

proof: https://dxr.mozilla.org/mozilla-esr60/search?q=frecency_experiment
 - the pref still exists but is not used anymore ie dead pref
2018-08-30 05:10:28 +12:00
299489c701 1000s: cache description/info, closes #436 2018-08-28 08:27:45 +00:00
50a578c32a remove extra spaces 2018-08-28 07:57:21 +00:00
7d417da5fd 0701: IPv6 info tweak, closes #437 2018-08-25 06:09:28 +00:00
e6a13e5a93 removed security.tls.version.fallback-limit 2018-08-20 14:54:47 +00:00
9a46fafb53 1203: remove TLS fallback-limit
Currently enforcing the default at 3, it gets changed to 4 for FF62, and will get deprecated some stage soon - https://bugzilla.mozilla.org/show_bug.cgi?id=1479501
2018-08-20 14:52:06 +00:00
6fb2f25e65 4700: revamp, closes #485 2018-08-17 09:09:01 +00:00
9e67f982ab 2720: enforce IDB=enabled 2018-08-17 07:50:33 +00:00
5b6ed92da4 0701: disable IPv6, closes #437 2018-08-17 07:15:47 +00:00
2969c6660f removed browser.urlbar.autoFill.typed 2018-08-16 14:36:48 +00:00
776e32c27f 0850d: remove browser.urlbar.autoFill.typed
It is deprecated in FF62 ( https://bugzilla.mozilla.org/show_bug.cgi?id=1239708 ), and is already covered by the other pref in 0850d (for ESR60.x users)
2018-08-16 14:34:32 +00:00
9e1c368cd9 move dom.battery.enabled back to 2500 from 9999 (#486)
* move dom.battery.enabled back to 2500 from 9999

* make it inactive, clear out old links
2018-08-16 07:04:25 +12:00
572d16d5a5 change cookies from block all to allow 1st party (#477)
* change cookies from block all to allow 1st party

see https://github.com/ghacksuserjs/ghacks-user.js/issues/439

* and fixup readme as well
2018-08-15 17:56:40 +12:00
29e2461cd1 fix -updatebatch (#484) 2018-08-13 12:39:24 +00:00
f39112f914 P*tches for B*tches (#483)
* replace /V with global VERIFY ON

* change working dir to script dir
The working dir doesn't necessarily match the script's path, depending on how the script is called. All relative paths and conditional statements using EXIST will fail whenever the working dir is not the script's own location. This fixes that.

* minimal stuff, mostly cosmetic

* prompt to run prefsCleaner under very specific circumstances

* improve -updatebatch option

* add version variable + display new script version on update
2018-08-12 11:56:47 +00:00
0145ccfec3 add empty lines for subgroups in 0400 + 1200 (#482) 2018-08-12 15:11:23 +12:00
c2c8e6227c more info for 2026-28 (#481) 2018-08-12 15:01:03 +12:00
ab404680df remove [SETTING-ESR52] lines (#475) 2018-08-09 15:30:57 +12:00
cfa2da8fea start 62 commits 2018-08-09 03:28:54 +00:00
b3b3ae4660 finalize 61 2018-08-08 14:34:08 +00:00
c4d131aaf9 Add files via upload (#474) 2018-08-06 23:33:07 +00:00
9c975b318a store file with CRLF
I think there's no way to get rid of ^M but hopefully with `*.bat -text` in `.gitattributes` it shouldn't be a problem because git won't do any line conversion on check-in/out.
This way the raw link as well as the file within the zip download should be in proper MSDOS CRLF format, and git status shouldn't report the file as modified either. ***fingerscrossed!!***
2018-08-06 23:27:41 +00:00
a1638868ea Update .gitattributes 2018-08-06 22:31:21 +00:00
3806ccc68c Introduce end-of-line normalization (#471)
fix for #469
2018-08-06 22:06:30 +00:00
06b69bb95a Delete test-LF.bat 2018-08-06 19:34:33 +00:00
d8bfdaa058 Delete test-CRLF.bat 2018-08-06 19:34:26 +00:00
03efb99754 Delete test-CR.bat 2018-08-06 19:34:18 +00:00
b390d9787b Add files via upload 2018-08-06 19:27:07 +00:00
2e908f38d2 Update prefsCleaner.bat 2018-08-06 19:25:25 +00:00
f973422581 Delete prefsCleaner2.bat 2018-08-06 19:23:36 +00:00
5bcbe56f4b Add files via upload 2018-08-06 19:19:22 +00:00
833f816b99 Add files via upload 2018-08-06 19:17:48 +00:00
5ccea3262f Update updater.bat 2018-08-06 19:14:56 +00:00
9611eac1cf test
test
2018-08-06 18:52:30 +00:00
43119694fb Update .gitattributes 2018-08-05 13:02:34 +00:00
cbea3adc7e FPI & IP addresses FF63+ 2018-07-17 02:58:51 +00:00
4813aa549b Update user.js 2018-07-11 13:59:52 +02:00
96706cf11e ghacks-clear-[removed].js : Fix JS syntax (#460)
* Fix syntax

* updated 06-July-2018
2018-07-07 01:44:53 +12:00
a81d013e45 61-beta 2018-07-06 12:25:41 +00:00
857cbd8c24 Use wget if curl is not available (#451)
* Use wget if curl is not available
On most GNU/Linux distributions wget is often preinstalled, while curl
is not.
* Bump updater.sh version
2018-07-06 14:06:01 +02:00
c9543519c7 0100s: startpage, home+newwindow, newtab
FF61 introduced quite a few changes, including removing the ability to set a blank startpage in the UI, and a new Home options tab with unified Activity Stream (AS) defaults and dropdown options. Because the only way to stop AS on startup is to enforce a blank page (pref 0102), and setting this auto changes `home+newwindow` (0103) and `newtab` (0104) to a blank page, then we're just going to go ahead and enforce that on all of them.

For more info see the discussion in #426
2018-07-05 15:32:19 +00:00
d34894e965 2730 + 2750: Storage API + Offline Cache
ESR52.x doesn't use the new site storage UI. FF61+ the issue is resolved, so let's enforce offline cache (2730) as false again
2018-07-05 10:16:20 +00:00
70abeda9d4 2730 + 2750: Storage API + Offline Cache
https://bugzilla.mozilla.org/show_bug.cgi?id=1450448#c20
2018-07-04 16:49:26 +00:00
dceef9d1db 0503: disable savant 2018-07-04 12:53:21 +00:00
9386fb5581 61 deprecated/removed prefs 2018-07-04 09:41:30 +00:00
56acb4cff5 disable UNC paths 2018-07-04 09:15:44 +00:00
1eac4185d2 4500: RFP geo reverted 63+ 2018-06-26 03:48:47 +00:00
05021ac62e 2300: workers, fixes #446 2018-06-20 05:05:48 +00:00
a2b5e1e7cf updated 03-Jun-2018 2018-06-04 00:28:43 +00:00
d9a1c83300 updated 03-Jun-2018 2018-06-04 00:27:20 +00:00
a4a9b9a675 cleanup #426
Both deprecated in FF61, but we'll remove them from the user.js
- `services.blocklist.signing.enforced` is default true since FF50
- `browser.storageManager.enabled` only controls "Site Data" UI visibility
2018-06-04 00:23:16 +00:00
c61e633236 0707: added ref link 2018-06-01 04:32:52 +00:00
8783ae9ce8 start 61 commits 2018-05-31 01:35:51 +00:00
3264fbd9c3 finalize 60 2018-05-31 01:27:20 +00:00
b8b3a4f7ed enable DNT header by default
pros and cons: see https://github.com/ghacksuserjs/ghacks-user.js/issues/422#issuecomment-392789507 + follow-up comments
2018-05-29 19:06:06 +02:00
7f1f9e124b updated 29-May-2018 2018-05-29 16:12:07 +00:00
9b1cf28e89 0101: cleanup laterrun #434 2018-05-29 16:09:02 +00:00
acc5a1c2df 0101 welcomes+whatsnew -> 5000s #434 2018-05-29 02:25:54 +00:00
9a4032f4cd updated 27-May-2018 2018-05-27 21:43:38 +00:00
f113cf84c3 0101: cleanup rights.3 #434 2018-05-27 21:40:47 +00:00
c92ece7960 updated 26-May-2018 2018-05-26 18:49:44 +00:00
3e5667fb34 0101: more cleanup, #434 2018-05-26 18:48:38 +00:00
2bf238f384 updated to 26-May-2018 2018-05-26 16:49:39 +00:00
3edf7af85e 0101: cleanup, see #434 2018-05-26 16:45:46 +00:00
4b8b2d81a0 Create ghacks-clear-[removed].js 2018-05-26 05:00:04 +12:00
fde8035332 Delete ghacks-clear-FF60inclusive-[removed].js 2018-05-26 04:58:53 +12:00
01bd2a4f6d 0422: TP block lists: deduplicate, fixes #434 2018-05-25 15:44:27 +00:00
6d4b49d061 Update ghacks-clear-FF60inclusive-[removed].js 2018-05-25 14:53:11 +00:00
8e60f412e4 Update ghacks-clear-FF60inclusive-[removed].js 2018-05-25 14:52:22 +00:00
f60a87f97f 2730s: cleanup/removal #434
2732 was just enforcing default since at least FF52, and 2733 has never been used, was only there for info. Offline Cache or appCache (2730) is already behind a prompt (2731), and is already limited (in FF60+) to HTTPS (2730b).
2018-05-25 14:44:44 +00:00
449e32a8ca 2202: cleanup #434
both these removed prefs are enforcing the default in ESR52.x and FF60+ (and I assume FF52+) branches
2018-05-25 04:28:03 +00:00
35a9d3d1e1 0505: system add-on updates, fixes #172
Note: I am not 100% sure what happens with an app update. If this is divorced from that check now, you should be able to get FF updated without any system addons. We'll have to wait until 62 needs an update to test it. In the meantime I've edited the [NOTE]. I've also left this inactive (eg imagine if they pushed a critical update for formfill), so this is an end-user decision. Added to sticky to revisit this pref
2018-05-25 04:03:59 +00:00
c66d1b08e7 remove network.http.fast-fallback-to-IPv4 #433
the default is true anyway for ESR52.x and FF60+ (and I assume for FF52+) branches
2018-05-25 02:07:10 +00:00
0a63b6545d 4500: tweak 2018-05-23 17:53:16 +00:00
a8051b88e4 1803: 3rd time's a charm 2018-05-23 17:41:25 +00:00
87ce12925d 1803: tweak 2018-05-23 17:21:49 +00:00
d6a7531c67 1803: flash/java/npapi fixes #433 2018-05-23 17:05:29 +00:00
3a77e18ae8 RFP: OS locale & HTTP Accept-Language header
https://bugzilla.mozilla.org/show_bug.cgi?id=1459089 . When/if it gets uplifted to 61, I'll update.
2018-05-23 11:07:06 +00:00
a635ae5dfb 2730 + 2750: Storage API + Offline Cache
https://bugzilla.mozilla.org/show_bug.cgi?id=1450448
2018-05-23 08:55:19 +00:00
02bac31e6a nits (#423) 2018-05-17 04:31:28 +12:00
e5d23f6b40 60-beta 2018-05-15 20:40:12 +00:00
5fc48a1027 Create ghacks-clear-FF60inclusive-[RFP-alternatives].js 2018-05-16 07:29:33 +12:00
de7a8650f7 Create ghacks-clear-FF60inclusive-[removed].js 2018-05-16 07:29:11 +12:00
9c7170fc26 Create ghacks-clear-FF60inclusive-[deprecated].js 2018-05-16 07:28:32 +12:00
9406f32194 Delete ghacks-clear-all-up-to-57-[the-rest-inactive].js 2018-05-15 17:43:01 +00:00
33759ab604 Delete ghacks-clear-all-up-to-57-[the-rest-active].js 2018-05-15 17:42:46 +00:00
f97c9a05a9 Delete ghacks-clear-all-up-to-57-[removed].js 2018-05-15 17:42:30 +00:00
94abd71787 Delete ghacks-clear-all-up-to-57-[deprecated].js 2018-05-15 17:42:13 +00:00
45f1dfa912 Delete ghacks-clear-57-[changes-only].js 2018-05-15 17:42:00 +00:00
d6280d2d7a Delete ghacks-clear-all-up-to-57-[RFP-alternatives].js 2018-05-15 17:41:43 +00:00
67360332ab FF60+ parrot info 2018-05-15 15:44:37 +00:00
b880c9da61 add network.ftp.enabled 2018-05-11 18:14:40 +02:00
1b0c9f66d9 2600s renumber/reorder #368 2018-05-08 04:13:53 +12:00
7eda26a1d0 2600s numbering part1 2018-05-07 15:51:50 +00:00
b89e247263 0707: DoH, fixes #410 2018-05-07 14:57:42 +00:00
35fd4e343c 2671 cleanup #368 2018-05-06 20:41:14 +00:00
47cf0e1640 2617 pdfjs tweak #368
that trims 3 lines off with a little formatting
2018-05-06 18:41:10 +00:00
5e7258ba2d remove 0705, fixes #418 2018-05-06 17:07:09 +00:00
6e6a993494 2672 punycode tweak #368 2018-05-06 16:57:00 +00:00
772fa4e06e geo changes, fixes #415
NOTE: RFP still blocks geo, but this will be reverted at some stage: see https://bugzilla.mozilla.org/show_bug.cgi?id=1441295
2018-05-06 13:10:30 +00:00
78dc31f6d6 remove 5 prefs #418 2018-05-06 12:30:40 +00:00
459396ed5b 2626: remove useragent.compatMode #368
I see no point in keeping this to enforce a default that FF itself doesn't use - see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox
-  "... is an optional compatibility token that some Gecko-based browsers may choose to incorporate, to achieve maximum compatibility with websites that expect Firefox"
2018-05-06 10:00:13 +00:00
88b08c79cd 2685 tweak 2018-05-05 18:44:52 +00:00
cf269c982b fixup number ref 2018-05-05 18:26:33 +00:00
36c11cb5d4 2600: downloads + extensions regroup (#417)
* 2600: downloads + extensions regroup

* fixup
2018-05-06 06:14:57 +12:00
517b8665c0 2685 fixup 2018-05-05 17:01:09 +00:00
149aab6b1e 2600: security regroup (#416)
* 2600: security regroup

* fixup
2018-05-06 04:21:21 +12:00
c5a1a038d2 5000: remove view_source.tab (moved to 9999) 2018-05-05 14:40:20 +02:00
cd322f39a4 2613: restrictedDomains 2018-05-04 21:55:51 +00:00
8f2b674910 60 deprecated/removed part2 2018-05-04 21:42:47 +00:00
7d65d8c173 4503 mozAddonManager => active 2018-05-04 21:18:45 +00:00
8b6eec2b46 RFP ESR version spoof info
The last one-off ESR cycle of 8 releases is now behind us, new algorithm for FF60+ is back to 7 releases per ESR numbering, starting at 60... 67... etc. Note: This does not do anything for Aurora or Nightly spoofing the next ESR early (but we have until Nightly 67 before this becomes a problem). The ticket 1418162 was meant to cover this but instead was just used for the new algorithm. There is currently no ticket for the Aurora/Nightly issue - but never fear, Pants is here!! It is not forgotten, and I have emails with Tom Ritter et al on it
2018-05-04 18:30:44 +00:00
13164a2d0d 4500s: RFP disable WebGL debug renderer info (60+) 2018-05-04 17:23:26 +00:00
c4a1583e99 60 RFP Alternatives 2018-05-04 17:11:34 +00:00
d10c8598f7 60 deprecated/removed prefs 2018-05-04 16:56:14 +00:00
40db113d07 2706: same-site cookies 2018-05-04 16:08:20 +00:00
041e14a4d5 ghacks-user.js updater for Mac/Linux v1.3 (#406)
* updated shebang

* The script now compares its version number to the one online.  If there is a newer version of `updater.sh` online it ask the user if he wants to download and run it.
   * 2 parameters are supported: `-donotupdate` to disable the update-check and `-update` to auto-download and run the new version without asking

* Backup files are now saved to the directory `userjs_backups` instead of causing more bloat in the profile directory.
2018-05-03 14:49:43 +02:00
e67fdc2ce4 5000s: ui.key.menuAccessKey 2018-04-29 19:21:58 +00:00
75534b4e6c 0515: uploading to Screenshots server 2018-04-29 13:42:02 +00:00
94c0665343 fix wiki test info on SB 2018-04-28 07:30:47 +00:00
71adc43d17 v1.1 regex fix (#409) 2018-04-25 22:56:54 +02:00
94f86465e6 updater for Windows v4.5 (#407)
support commenting-out active user-prefs with the merge function
2018-04-25 21:28:09 +02:00
bb4bf835b0 v2.1 - fix TABs in regex
for some unknown reason the tabs got replaced with spaces
2018-04-25 02:22:14 +02:00
b4f1b4dbbf prefsCleaner.sh (for Linux/Mac) (#405)
Port of the prefsCleaner.bat for anything(?) with a bash shell.
2018-04-24 14:47:50 +02:00
f90c17f748 prefsCleaner 2.0
- massive speed improvement !! m-a-s-s-i-v-e !
- small fix to the time format used in backup filenames (replace space with zeros)
- better tolerance for special characters within preference names (which counters [the one downside that v1.2 brought along](https://github.com/ghacksuserjs/ghacks-user.js/pull/321#issuecomment-354394222)).
- other minor things, mostly to do with Delayed Expansion and the removal of it

known issue (but not really an issue):
- it skips instances of `user_pref` that have any quote or double-quote before `user_pref` (like `// "this" user_pref`)
2018-04-22 14:16:05 +02:00
fdac8fba6a Update prefsCleaner.bat 2018-04-22 01:34:48 +00:00
d055560f6f 0514: tweak 2018-04-21 17:26:12 +00:00
27f87240ec 0514: Activity Stream, fixes #396
AS is out of control. No master switch in FF60+, and in order to 100% sure nothing is collected locally (or external connections made), there are now some 28 prefs (including those coming in FF61). This is re-DICK-ulous. We're not going to bother tracking all that, let alone the labyrinth of code. All users are advised to just make sure they remove the XPI every time they update FF.
2018-04-21 16:33:35 +00:00
17d83c1a1a 1600 info: fixes #404 , refixes #332 2018-04-21 16:22:04 +00:00
8fa3a9db6b fix for missing empty lines 2018-04-21 14:34:08 +00:00
b0fb59f735 shit is so fast I can't even read 2018-04-18 22:42:06 +00:00
64d08dd6bc Update updater.bat 2018-04-18 20:33:39 +00:00
824dec4f9e Update prefsCleaner.bat 2018-04-18 20:29:39 +00:00
3d2b0703be actually working v2 2018-04-18 18:49:36 +00:00
e25137ce94 v2
Mostly a bump in performance.
2018-04-18 16:18:43 +00:00
6ee25c2bf5 change last commit to number 0380
note to self: listen to earthlng more
2018-04-13 17:27:45 +00:00
6309822d33 0352: browser error reporter 2018-04-13 17:19:31 +00:00
d04ff8457e 2730b: disable appCache on insecure sites FF60+ 2018-04-12 17:38:22 +00:00
c6e3c013e0 4500: RFP info on plugins/mimetypes 2018-04-10 17:25:23 +00:00
e373a0f6e1 1273: add "Not Secure" text on HTTP
https://bugzilla.mozilla.org/show_bug.cgi?id=1335970
2018-04-05 18:57:08 +00:00
acce871308 2701: cookies role in persistent data, fixes #390 2018-04-04 10:42:52 +00:00
61e706641e 2800 section header info 2018-04-04 10:21:40 +00:00
1e5e2ca418 start 60 commits 2018-04-04 10:18:23 +00:00
c62bff5c70 end of v59 2018-04-04 10:14:15 +00:00
3bae3ed5ba move 2711 to 2600s
2711 is about web extension data and does not fit in the 2700s is all about websites' persistent data, i.e items that sanitizing and Storage Manager deal with. Dumping in 2600's which is getting a revamp later
2018-03-30 16:20:56 +00:00
aa91ea1680 4000: FPI indexedDB info 2018-03-27 23:03:53 +00:00
d244198438 RFP: CTRL key fix backported to 59.0.2 2018-03-27 17:03:36 +00:00
871e7ed87b minor edits, settings info 2018-03-27 10:08:20 +13:00
48901d156a 2621: add [SETTING-ESR] 2018-03-26 21:03:53 +00:00
8b4e6c95aa xpinstall.whitelist.required, fixes #375 2018-03-26 20:23:06 +00:00
fd1aa74ff3 Options> and [settings] (#388)
* Options> and [settings]

While I'm at it, I'm changing the 21 instances of
- `[SETTING-56+]` to just `[SETTING]`
- `[SETTING-ESR]` to `[SETTING-ESR52]` because we'll leave those in until 62 (yes I know they may apply to earlier ESRs, but people should be upgraded). Thus no ambiguity with ESR60 vs ESR52 users for the overlap
2018-03-27 08:49:39 +13:00
b3e92ab7cc fixup // default syntax 2018-03-26 19:44:15 +00:00
30fbaba4df 2203: undo sh*t
This is so wrong: It is better to inform users that 3 **must** be used than rely on zero info as well as removing useful info on what the values do. All future issues with this will be directed to earthlng. Remove RFP info as RFP users should know this stuff if they turned it on. Non RFP users, who we told they can bypass it, will not have a reference to RFP now. Enforce will now be banned as a word because, "reasons".
2018-03-26 19:33:46 +00:00
72e1858926 how did this get left behind 2018-03-26 17:13:46 +00:00
3ad6ed465e 2200s: more tweaks 2018-03-27 06:04:31 +13:00
3fcad90996 2200s: tweaks 2018-03-27 05:01:30 +13:00
383b8ca943 revamp 2400s: fixes #371 2018-03-26 20:34:02 +13:00
6a98aa7ba0 2750+2730: enable appcache + storage #379 2018-03-25 12:59:49 +00:00
2037449fbd 2750: rethinking it #379
add `browser.storageManager.enabled` back but enforce it as true - otherwise people may never pick up on the fact we dropped it and may never reset it, and never see their shiny new UI section. When it's deprecated, *then* we can remove it
2018-03-25 10:56:49 +00:00
e18bd0f32c 2750: stop hiding Storage Manager UI #379
pref will be removed, 99% sure it was just a pref used internally to hide it from stable during testing in beta/nightly - see https://bugzilla.mozilla.org/show_bug.cgi?id=1428306. Makes zero sense to hide this new UI section since we will be turning SM on anyway (the section is important for end users to exist and be working esp thru QuotaManager and Storage v2 changes etc).
2018-03-25 10:50:52 +00:00
715fff06cf clean up 2202+2203 #371 2018-03-25 10:07:27 +00:00
3675a68009 2201+2205=>2400's #371
new numbers 2401 and 2404 do not exist anymore in the user.js so safe to use
2018-03-25 09:53:52 +00:00
062dd6c023 0500s: System Add-ons not system extensions
they're still called System Add-ons: https://firefox-source-docs.mozilla.org/toolkit/mozapps/extensions/addon-manager/SystemAddons.html
Thanks!
2018-03-21 04:53:53 +13:00
bc17b4e450 0500s: shield->normandy info, fixes #381 2018-03-20 15:29:37 +00:00
682e12fe57 4500: RFP ctrl key info
Sorry, the patch for 59 was backed out, so RFP users will have to put up with CTRL key issues until 60 lands
2018-03-20 12:54:10 +00:00
6cb27ca78c 0351: [setting] info 2018-03-20 05:47:04 +00:00
c38ae56232 0333: [setting] info 2018-03-20 05:42:05 +00:00
04f1449003 0512: shield pref name changes 60+
https://bugzilla.mozilla.org/show_bug.cgi?id=1436113
2018-03-20 03:57:18 +00:00
53a69ff5bc [SETTING] fixups 2018-03-19 14:13:00 +00:00
e8c02278eb 2676: forgot FF version 2018-03-17 06:36:08 +00:00
17 changed files with 1841 additions and 1687 deletions

17
.gitattributes vendored
View File

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

View File

@ -1,21 +1,27 @@
### ![](https://github.com/ghacksuserjs/ghacks-user.js/blob/master/wikipiki/bullet01.png) user.js
### ![][b] user.js
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` 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).
### ![][b] ghacks user.js
The `ghacks user.js` is a **template** which 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).
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.
Note that we do *not* recommend connecting over Tor on Firefox. Use the [Tor Browser](https://www.torproject.org/projects/torbrowser.html.en) if your [threat model](https://www.torproject.org/about/torusers.html.en) calls for it, or for accessing hidden services.
Also be aware that this `user.js` is made specifically for Firefox. Using it as-is in other Gecko-based browsers can be counterproductive, especially in the Tor Browser.
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
### ![][b] acknowledgments
Literally thousands of sources, references and suggestions. That said...
* Martin Brinkmann at [ghacks](https://www.ghacks.net/) <sup>1</sup>
* The ghacks community and commentators
* [12bytes](http://12bytes.org/tech/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
* [12bytes](https://12bytes.org/articles/tech/firefox/firefoxgecko-configuration-guide-for-privacy-and-performance-buffs)
* The 12bytes article now uses this user.js and supplements it with an additional JS hosted at [GitLab](https://gitlab.com/labwrat/Firefox-user.js/tree/master)
<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.
### ![](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)
### ![][b] [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[b]: /wikipiki/bullet01.png

View File

@ -1 +1,3 @@
theme: jekyll-theme-midnight
title: ghacks-user.js
description: An ongoing comprehensive user.js template for configuring and hardening Firefox privacy, security and anti-fingerprinting

View File

@ -1,18 +1,19 @@
@ECHO OFF
@ECHO OFF & SETLOCAL DisableDelayedExpansion
TITLE prefs.js cleaner
REM ### prefs.js cleaner for Windows
REM ## author: @claustromaniac
REM ## version: 1.2
REM ## version: 2.2
CD /D "%~dp0"
SETLOCAL EnableDelayedExpansion
:begin
ECHO:
ECHO:
ECHO ########################################
ECHO #### prefs.js cleaner for Windows ####
ECHO #### by claustromaniac ####
ECHO #### v1.2 ####
ECHO #### v2.2 ####
ECHO ########################################
ECHO:
CALL :message "This script should be run from your Firefox profile directory."
@ -29,12 +30,13 @@ IF NOT EXIST "user.js" (CALL :abort "user.js not found in the current directory.
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"
SET "_time=%time: =0%"
COPY /B /V /Y prefs.js "prefs-backup-%date:/=-%_%_time::=.%.js"
CALL :message "Cleaning prefs.js..."
CALL :cleanup
CLS
CALL :message "All done^!"
CALL :message "All done!"
TIMEOUT 5 >nul
ENDLOCAL
EXIT /B
REM ########## Abort Function ###########
@ -44,11 +46,9 @@ TIMEOUT %~2 >nul
EXIT
REM ########## Message Function #########
:message
SETLOCAL DisableDelayedExpansion
ECHO:
ECHO: %~1
ECHO:
ENDLOCAL
GOTO :EOF
REM ####### Firefox Check Function ######
:FFcheck
@ -57,7 +57,7 @@ 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^!"
CALL :message "close Firefox first!"
ECHO:
PAUSE
CLS
@ -67,23 +67,20 @@ IF NOT ERRORLEVEL 1 (
GOTO :EOF
REM ######### Cleanup Function ##########
:cleanup
SETLOCAL DisableDelayedExpansion
FOR /F tokens^=2^ delims^=^'^" %%G IN ('FINDSTR /R /C:"^[^\"']*user_pref[ ]*\([ ]*[\"'][^\"']*[\"'][ ]*," user.js') DO (
IF NOT ""=="%%G" (SET "[%%G]=1")
)
(
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!)
)
IF ""=="%%H" (
ECHO:
) ELSE (
ECHO:!_line!
FOR /F tokens^=1^,2^ delims^=^"^' %%I IN ("%%H") DO (
IF NOT DEFINED [%%J] (ECHO:%%H)
)
)
ENDLOCAL
)
)>tempcleanedprefs
ENDLOCAL
MOVE /Y tempcleanedprefs prefs.js
GOTO :EOF
REM ############### Help ##################

99
prefsCleaner.sh Normal file
View File

@ -0,0 +1,99 @@
#!/usr/bin/env bash
## prefs.js cleaner for Linux/Mac
## author: @claustromaniac
## version: 1.1
## special thanks to @overdodactyl and @earthlng for a few snippets that I stol..*cough* borrowed from the updater.sh
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}")"
fQuit() {
## change directory back to the original working directory
cd "${currdir}"
echo -e "\n$2"
exit $1
}
fFF_check() {
# there are many ways to see if firefox is running or not, some more reliable than others
# this isn't elegant and might not be future-proof but should at least be compatible with any environment
while [ -e webappsstore.sqlite-shm ]; do
echo -e "\nThis Firefox profile seems to be in use. Close Firefox and try again.\n"
read -p "Press any key to continue."
done
}
fClean() {
# the magic happens here
prefs="@@"
prefexp="user_pref[ ]*\([ ]*[\"']([^\"']+)[\"'][ ]*,"
while read -r line; do
if [[ "$line" =~ $prefexp && $prefs != *"@@${BASH_REMATCH[1]}@@"* ]]; then
prefs="${prefs}${BASH_REMATCH[1]}@@"
fi
done <<< "`grep -E \"$prefexp\" user.js`"
while IFS='' read -r line || [[ -n "$line" ]]; do
if [[ "$line" =~ ^$prefexp ]]; then
if [[ $prefs != *"@@${BASH_REMATCH[1]}@@"* ]]; then
echo "$line"
fi
else
echo "$line"
fi
done < "$1" > prefs.js
}
echo -e "\n\n"
echo " ╔══════════════════════════╗"
echo " ║ prefs.js cleaner ║"
echo " ║ by claustromaniac ║"
echo " ║ v1.1 ║"
echo " ╚══════════════════════════╝"
echo -e "\nThis script should be run from your Firefox profile directory.\n"
echo "It will remove any entries from prefs.js that also exist in user.js."
echo "This will allow inactive preferences to be reset to their default values."
echo -e "\nThis Firefox profile shouldn't be in use during the process.\n"
select option in Start Help Exit; do
case $option in
Start)
if [ ! -e user.js ]; then
fQuit 1 "user.js not found in the current directory."
elif [ ! -e prefs.js ]; then
fQuit 1 "prefs.js not found in the current directory."
fi
fFF_check
bakfile="prefs.js.backup.$(date +"%Y-%m-%d_%H%M")"
mv prefs.js "${bakfile}" || fQuit 1 "Operation aborted.\nReason: Could not create backup file $bakfile"
echo -e "\nprefs.js backed up: $bakfile"
echo "Cleaning prefs.js..."
fClean "$bakfile"
fQuit 0 "All done!"
;;
Help)
echo -e "\nThis script creates a backup of your prefs.js file before doing anything."
echo -e "It should be safe, but you can follow these steps if something goes wrong:\n"
echo "1. Make sure Firefox is closed."
echo "2. Delete prefs.js in your profile folder."
echo "3. Delete Invalidprefs.js if you have one in the same folder."
echo "4. Rename or copy your latest backup to prefs.js."
echo "5. Run Firefox and see if you notice anything wrong with it."
echo "6. If you do notice something wrong, especially with your extensions, and/or with the UI, go to about:support, and restart Firefox with add-ons disabled. Then, restart it again normally, and see if the problems were solved."
echo -e "If you are able to identify the cause of your issues, please bring it up on ghacks-user.js GitHub repository.\n"
;;
Exit)
fQuit 0
;;
esac
done

View File

@ -1,61 +0,0 @@
/***
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

@ -1,12 +1,10 @@
/***
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.
up to and including release 60-beta. These are the prefs that are no longer necessary,
or they conflict with, privacy.resistFingerprinting if you have that enabled.
For instructions see:
https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
***/
(function() {
@ -20,9 +18,10 @@
'dom.gamepad.enabled',
'dom.netinfo.enabled',
'media.webspeech.synth.enabled',
'geo.enabled',
'media.video_stats.enabled',
'dom.w3c_touch_events.enabled',
'media.ondevicechange.enabled',
'webgl.enable-debug-renderer-info',
/* section 4700 */
'general.useragent.override',
'general.buildID.override',

View File

@ -1,21 +1,43 @@
/***
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
and used in the ghacks user.js up to and including release 60-beta
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
/* ESR52.x users can remove sections 53-60 but it is not
crucial as your user.js will reinstate them */
/* 60 */
'browser.newtabpage.directory.source',
'browser.newtabpage.enhanced',
'browser.newtabpage.introShown',
'extensions.shield-recipe-client.enabled',
'extensions.shield-recipe-client.api_url',
'browser.newtabpage.activity-stream.enabled',
'dom.workers.enabled',
'view_source.tab',
/* 59 */
'intl.locale.matchOS',
'general.useragent.locale',
'datareporting.healthreport.about.reportUrl',
'dom.flyweb.enabled',
'security.mixed_content.use_hsts',
'security.mixed_content.send_hsts_priming',
'network.http.referer.userControlPolicy',
'security.xpconnect.plugin.unrestricted',
'media.getusermedia.screensharing.allowed_domains',
'camera.control.face_detection.enabled',
'dom.disable_window_status_change',
'dom.idle-observers-api.enabled',
/* 58 */
'browser.crashReports.unsubmittedCheck.autoSubmit',
/* 57 */
'social.whitelist',
'social.toast-notifications.enabled',

View File

@ -0,0 +1,150 @@
/***
This will reset the preferences that have been removed completely from the ghacks user.js.
Last updated: 30-Jan-2019
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
/* 58-alpha */
// excluding these e10 settings
// 'browser.tabs.remote.autostart',
// 'browser.tabs.remote.autostart.2',
// 'browser.tabs.remote.force-enable',
// 'browser.tabs.remote.separateFileUriProcess',
// 'extensions.e10sBlocksEnabling',
// 'extensions.webextensions.remote',
// 'dom.ipc.processCount',
// 'dom.ipc.shims.enabledWarnings',
// 'dom.ipc.processCount.extension',
// 'dom.ipc.processCount.file',
// 'security.sandbox.content.level',
// 'dom.ipc.plugins.sandbox-level.default',
// 'dom.ipc.plugins.sandbox-level.flash',
// 'security.sandbox.logging.enabled',
'dom.presentation.controller.enabled',
'dom.presentation.discoverable',
'dom.presentation.discovery.enabled',
'dom.presentation.enabled',
'dom.presentation.receiver.enabled',
'dom.presentation.session_transport.data_channel.enable',
/* 59-alpha */
'browser.stopReloadAnimation.enabled',
'browser.tabs.insertRelatedAfterCurrent',
'browser.tabs.loadDivertedInBackground',
'browser.tabs.loadInBackground',
'browser.tabs.selectOwnerOnClose',
'browser.urlbar.clickSelectsAll',
'browser.urlbar.doubleClickSelectsAll',
'media.flac.enabled',
'media.mediasource.enabled',
'media.mediasource.mp4.enabled',
'media.mediasource.webm.audio.enabled',
'media.mediasource.webm.enabled',
'media.mp4.enabled',
'media.ogg.enabled',
'media.ogg.flac.enabled',
'media.opus.enabled',
'media.raw.enabled',
'media.wave.enabled',
'media.webm.enabled',
'media.wmf.amd.vp9.enabled',
'media.wmf.enabled',
'media.wmf.vp9.enabled',
'ui.submenuDelay',
/* 60-beta - these were all at default anyway */
'device.storage.enabled',
'general.useragent.compatMode.firefox',
'network.dns.blockDotOnion',
'network.stricttransportsecurity.preloadlist',
'security.block_script_with_wrong_mime',
'security.fileuri.strict_origin_policy',
'security.sri.enable',
/* 61-beta */
'browser.laterrun.enabled',
'browser.offline-apps.notify',
'browser.rights.3.shown',
'browser.slowStartup.maxSamples',
'browser.slowStartup.notificationDisabled',
'browser.slowStartup.samples',
'browser.storageManager.enabled',
'dom.allow_scripts_to_close_windows',
'dom.disable_window_flip',
'network.http.fast-fallback-to-IPv4',
'offline-apps.quota.warn',
'services.blocklist.signing.enforced',
/* 62-beta */
'browser.urlbar.autoFill.typed',
'security.tls.version.fallback-limit',
/* 63-beta */
'extensions.webextensions.keepStorageOnUninstall',
'extensions.webextensions.keepUuidOnUninstall',
'privacy.trackingprotection.ui.enabled',
/* 64-beta */
'browser.eme.ui.enabled',
'browser.sessionstore.max_windows_undo',
'network.auth.subresource-img-cross-origin-http-auth-allow',
'media.peerconnection.ice.tcp',
'media.peerconnection.identity.enabled',
'media.peerconnection.identity.timeout',
'media.peerconnection.turn.disable',
'media.peerconnection.use_document_iceservers',
'media.peerconnection.video.enabled',
'media.navigator.video.enabled',
/* 65-beta */
'browser.contentblocking.enabled',
'browser.urlbar.maxHistoricalSearchSuggestions',
/* 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

@ -1,63 +0,0 @@
/***
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

@ -1,409 +0,0 @@
/***
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

@ -1,167 +0,0 @@
/***
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

@ -1,5 +1,5 @@
/*** ghacks-user.js troubleshooter.js v1.5 ***/
/*** ghacks-user.js troubleshooter.js v1.5.2 ***/
(function() {
@ -82,7 +82,6 @@
'dom.push.enabled',
'dom.push.serverURL',
'dom.serviceWorkers.enabled',
'dom.workers.enabled',
'dom.webnotifications.enabled',
'dom.webnotifications.serviceworker.enabled',
@ -116,6 +115,7 @@
/* Audio + Video */
'dom.webaudio.enabled',
'media.autoplay.enabled',
'media.autoplay.default', // FF63+
/* Forms */
'browser.formfill.enable',
@ -125,7 +125,6 @@
/* 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',
@ -152,7 +151,7 @@
'dom.popup_maximum',
'layout.css.visited_links_enabled',
'mathml.disabled',
'network.auth.subresource-img-cross-origin-http-auth-allow',
'network.auth.subresource-http-auth-allow',
'network.http.redirection-limit',
'network.protocol-handler.external.ms-windows-store',
'privacy.trackingprotection.enabled',

View File

@ -3,11 +3,16 @@ TITLE ghacks user.js updater
REM ## ghacks-user.js updater for Windows
REM ## author: @claustromaniac
REM ## version: 4.4
REM ## version: 4.6
REM ## instructions: https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.3-Updater-Scripts
SET v=4.7
VERIFY ON
CD /D "%~dp0"
SET _myname=%~n0
SET _myparams=%*
:parse
IF "%~1"=="" (GOTO endparse)
IF /I "%~1"=="-unattended" (SET _ua=1)
@ -20,17 +25,21 @@ 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 * Delete the [updated]*.bat and *.bat.old scripts
REM * Begin the normal routine
FC "[updated]!_myname!.bat" "!_myname!.bat.old" >nul
IF NOT "!errorlevel!"=="0" (
CALL :message "Script updated to version !v!"
TIMEOUT 3 >nul
)
REN "[updated]!_myname!.bat" "[updated]!_myname!.bat.old"
DEL /F "[updated]!_myname!.bat.old"
CALL :message "Script updated^!"
TIMEOUT 3 >nul
DEL /F "!_myname!.bat.old" "[updated]!_myname!.bat.old"
GOTO begin
)
REM ## Phase 1 ##
@ -38,10 +47,10 @@ IF DEFINED _updateb (
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"
REM Uncomment the next line and comment out the PowerShell call for testing.
REM COPY /B /Y "!_myname!.bat" "[updated]!_myname!.bat" >nul
(
powershell -Command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/updater.bat', '[updated]!_myname!.bat')"
PowerShell -Command "(New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/updater.bat', '[updated]!_myname!.bat')"
) >nul 2>&1
IF EXIST "[updated]!_myname!.bat" (
START /min CMD /C "[updated]!_myname!.bat" !_myparams!
@ -55,19 +64,17 @@ IF DEFINED _updateb (
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 * Rename the old script and make a copy of itself with the original name.
REM * Run that copy 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"
IF EXIST "!_myname:~9!.bat" ( REN "!_myname:~9!.bat" "!_myname:~9!.bat.old" )
COPY /B /Y "!_myname!.bat" "!_myname:~9!.bat"
START CMD /C "!_myname:~9!.bat" !_myparams!
)
)
EXIT /B
EXIT /B
)
:begin
CLS
ECHO:
@ -75,7 +82,7 @@ ECHO:
ECHO: ########################################
ECHO: #### user.js Updater for Windows ####
ECHO: #### by claustromaniac ####
ECHO: #### v4.4 ####
ECHO: #### v!v! ####
ECHO: ########################################
ECHO:
SET /A "_line=0"
@ -121,7 +128,7 @@ IF DEFINED _log (
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')"
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 (
@ -129,18 +136,18 @@ IF EXIST user.js.new (
IF NOT ERRORLEVEL 1 (
IF DEFINED _merge (
CALL :message "Merging..."
COPY /B /V /Y user.js-overrides\*.js user-overrides-merged.js
COPY /B /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
COPY /B /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
COPY /B /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"
COPY /B /Y user.js.new+"user-overrides.js" "user.js.new"
IF DEFINED _merge (
CALL :message "Merging user-overrides.js..."
CALL :merge user.js.new
@ -157,7 +164,8 @@ IF EXIST user.js.new (
IF DEFINED _singlebackup (
MOVE /Y user.js user.js.bak >nul
) ELSE (
MOVE /Y user.js "user-backup-!date:/=-!_!time::=.!.js" >nul
SET "_time=!time: =0!"
MOVE /Y user.js "user-backup-!date:/=-!_!_time::=.!.js" >nul
)
REN user.js.new user.js
CALL :message "Update complete."
@ -168,6 +176,7 @@ IF EXIST user.js.new (
) ELSE (
REN user.js.new user.js
CALL :message "Update complete."
SET "_changed=true"
)
)
) ELSE (
@ -175,7 +184,15 @@ IF EXIST user.js.new (
ECHO: No changes were made.
)
IF NOT DEFINED _log (
IF NOT DEFINED _ua (PAUSE)
IF NOT DEFINED _ua (
IF EXIST prefsCleaner.bat (
IF "!_changed!"=="true" (
CALL :message "Would you like to run the prefsCleaner now?"
CHOICE /C YN /N /M "(Y/N) "
IF "1"=="!errorlevel!" ( START "" cmd.exe /C "prefsCleaner.bat" )
) ELSE (PAUSE)
) ELSE (PAUSE)
)
)
EXIT /B
@ -187,11 +204,13 @@ ECHO: %~1
IF NOT "2"=="%_log%" (ECHO:)
ENDLOCAL
GOTO :EOF
REM ############ Merge function ############
:merge
SETLOCAL DisableDelayedExpansion
FOR /F tokens^=2^,^*^ delims^=^'^" %%G IN ('FINDSTR /R /C:"^user_pref[ ]*\([ ]*[\"'].*[\"'][ ]*,.*\)[ ]*;" "%~1"') DO (SET "[%%G]=%%H")
FOR /F tokens^=2^,^*^ delims^=^' %%G IN ('FINDSTR /R /C:"^//// --- comment-out --- '[^'][^']*'.*" "%~1"') DO (SET "__unset__%%G=1")
(
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
@ -204,11 +223,15 @@ SETLOCAL DisableDelayedExpansion
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="
IF DEFINED __unset__%%K (
ECHO://%%J
) ELSE (
IF DEFINED [%%K] (
SETLOCAL EnableDelayedExpansion
FOR /F "delims=" %%L IN ("![%%K]!") DO (
ENDLOCAL & ECHO:user_pref("%%K"%%L
SET "[%%K]="
)
)
)
) ELSE (ECHO:%%J)
@ -220,6 +243,7 @@ SETLOCAL DisableDelayedExpansion
MOVE /Y updatertempfile "%~1" >nul
ENDLOCAL
GOTO :EOF
REM ############### Help ##################
:showhelp
MODE 80,46
@ -254,4 +278,3 @@ CALL :message ""
PAUSE
MODE 80,25
GOTO :begin
REM #####################################

443
updater.sh Normal file → Executable file
View File

@ -1,58 +1,427 @@
#!/bin/bash
#!/usr/bin/env bash
### ghacks-user.js updater for Mac/Linux
## author: @overdodactyl
## version: 1.2
## ghacks-user.js updater for macOS and Linux
ghacksjs="https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/user.js"
## version: 2.5
## Author: Pat Johnson (@overdodactyl)
## Additional contributors: @earthlng, @ema-pe, @claustromaniac
echo -e "\nThis script should be run from your Firefox profile directory.\n"
## DON'T GO HIGHER THAN VERSION x.9 !! ( because of ASCII comparison in update_updater() )
currdir=$(pwd)
readonly 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
readonly SCRIPT_DIR=$(dirname "${sfp}")
## change directory to the Firefox profile directory
cd "$(dirname "${sfp}")"
echo -e "Updating the user.js for Firefox profile:\n$(pwd)\n"
#########################
# Base variables #
#########################
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)"
# Colors used for printing
RED='\033[0;31m'
BLUE='\033[0;34m'
BBLUE='\033[1;34m'
GREEN='\033[0;32m'
ORANGE='\033[0;33m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color
# Argument defaults
UPDATE='check'
CONFIRM='yes'
OVERRIDE='user-overrides.js'
BACKUP='multiple'
COMPARE=false
SKIPOVERRIDE=false
VIEW=false
PROFILE_PATH=false
ESR=false
# Download method priority: curl -> wget
DOWNLOAD_METHOD=''
if [[ $(command -v 'curl') ]]; then
DOWNLOAD_METHOD='curl'
elif [[ $(command -v 'wget') ]]; then
DOWNLOAD_METHOD='wget'
else
echo "A user.js file does not exist in this profile. If you continue, the latest ghacks version from github will be downloaded."
echo -e "${RED}This script requires curl or wget.\nProcess aborted${NC}"
exit 0
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"
show_banner () {
echo -e "${BBLUE}\n"
echo ' ############################################################################'
echo ' #### ####'
echo ' #### ghacks user.js ####'
echo ' #### Hardening the Privacy and Security Settings of Firefox ####'
echo ' #### Maintained by @Thorin-Oakenpants and @earthlng ####'
echo ' #### Updater for macOS and Linux by @overdodactyl ####'
echo ' #### ####'
echo ' ############################################################################'
echo -e "${NC}\n"
echo -e "Documentation for this script is available here: ${CYAN}https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.3-Updater-Scripts${NC}\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}"
#########################
# Arguments #
#########################
usage() {
echo -e "${BLUE}\nUsage: $0 [-h] [-p PROFILE] [-u] [-d] [-s] [-n] [-b] [-c] [-v] [-r] [-e] [-o OVERRIDE]\n${NC}" 1>&2 # Echo usage string to standard error
echo 'Optional Arguments:'
echo -e "\t-h,\t\t Show this help message and exit."
echo -e "\t-p PROFILE,\t Path to your Firefox profile (if different than the dir of this script)"
echo -e "\t\t\t IMPORTANT: if the path include spaces, wrap the entire argument in quotes."
echo -e "\t-l, \t\t Choose your Firefox profile from a list"
echo -e "\t-u,\t\t Update updater.sh and execute silently. Do not seek confirmation."
echo -e "\t-d,\t\t Do not look for updates to updater.sh."
echo -e "\t-s,\t\t Silently update user.js. Do not seek confirmation."
echo -e "\t-b,\t\t Only keep one backup of each file."
echo -e "\t-c,\t\t Create a diff file comparing old and new user.js within userjs_diffs. "
echo -e "\t-o OVERRIDE,\t Filename or path to overrides file (if different than user-overrides.js)."
echo -e "\t\t\t If used with -p, paths should be relative to PROFILE or absolute paths"
echo -e "\t\t\t If given a directory, all files inside will be appended recursively."
echo -e "\t\t\t You can pass multiple files or directories by passing a comma separated list."
echo -e "\t\t\t\t Note: If a directory is given, only files inside ending in the extension .js are appended"
echo -e "\t\t\t\t IMPORTANT: do not add spaces between files/paths. Ex: -o file1.js,file2.js,dir1"
echo -e "\t\t\t\t IMPORTANT: if any files/paths include spaces, wrap the entire argument in quotes."
echo -e "\t\t\t\t\t Ex: -o \"override folder\" "
echo -e "\t-n,\t\t Do not append any overrides, even if user-overrides.js exists."
echo -e "\t-v,\t\t Open the resulting user.js file."
echo -e "\t-r,\t\t Only download user.js to a temporary file and open it."
echo -e "\t-e,\t\t Activate ESR related preferences."
echo -e
echo 'Deprecated Arguments (they still work for now):'
echo -e "\t-donotupdate,\t Use instead -d"
echo -e "\t-update,\t Use instead -u"
echo -e
exit 1
}
legacy_argument () {
echo -e "${ORANGE}\nWarning: command line arguments have changed."
echo -e "$1 has been deprecated and may not work in the future.\n"
echo -e "Please view the new options using the -h argument.${NC}"
}
#########################
# File Handling #
#########################
# Download files
download_file () {
declare -r url=$1
declare -r tf=$(mktemp)
local dlcmd=''
if [ $DOWNLOAD_METHOD = 'curl' ]; then
dlcmd="curl -o $tf"
else
dlcmd="wget -O $tf"
fi
# download latest ghacks user.js
echo "downloading latest ghacks user.js file"
curl -O ${ghacksjs} && echo "ghacks user.js has been downloaded"
$dlcmd "${url}" &>/dev/null && echo "$tf" || echo '' # return the temp-filename (or empty string on error)
}
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"
open_file () { #expects one argument: file_path
if [ "$(uname)" == 'Darwin' ]; then
open "$1"
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
xdg-open "$1"
else
echo -e "${RED}Error: Sorry, opening files is not supported for your OS.${NC}"
fi
}
readIniFile () { # expects one argument: absolute path of profiles.ini
declare -r inifile="$1"
declare -r tfile=$(mktemp)
if [ $(grep '^\[Profile' "$inifile" | wc -l) == "1" ]; then ### only 1 profile found
grep '^\[Profile' -A 4 "$inifile" | grep -v '^\[Profile' > $tfile
else
grep -E -v '^\[General\]|^StartWithLastProfile=|^IsRelative=' "$inifile"
echo ''
read -p 'Select the profile number ( 0 for Profile0, 1 for Profile1, etc ) : ' -r
echo -e "\n"
if [[ $REPLY =~ ^(0|[1-9][0-9]*)$ ]]; then
grep '^\[Profile'${REPLY} -A 4 "$inifile" | grep -v '^\[Profile'${REPLY} > $tfile
if [[ "$?" != "0" ]]; then
echo "Profile${REPLY} does not exist!" && exit 1
fi
else
echo "Invalid selection!" && exit 1
fi
fi
declare -r profpath=$(grep '^Path=' $tfile)
declare -r pathisrel=$(grep '^IsRelative=' $tfile)
rm "$tfile"
# update global variable
if [[ ${pathisrel#*=} == "1" ]]; then
PROFILE_PATH="$(dirname "$inifile")/${profpath#*=}"
else
PROFILE_PATH="${profpath#*=}"
fi
}
getProfilePath () {
declare -r f1=~/Library/Application\ Support/Firefox/profiles.ini
declare -r f2=~/.mozilla/firefox/profiles.ini
if [ "$PROFILE_PATH" = false ]; then
PROFILE_PATH="$SCRIPT_DIR"
elif [ "$PROFILE_PATH" = 'list' ]; then
local ini=''
if [[ -f "$f1" ]]; then
ini="$f1"
elif [[ -f "$f2" ]]; then
ini="$f2"
else
echo -e "${RED}Error: Sorry, -l is not supported for your OS${NC}"
exit 1
fi
readIniFile "$ini" # updates PROFILE_PATH or exits on error
#else
# PROFILE_PATH already set by user with -p
fi
}
#########################
# Update updater.sh #
#########################
# Returns the version number of a updater.sh file
get_updater_version () {
echo $(sed -n '5 s/.*[[:blank:]]\([[:digit:]]*\.[[:digit:]]*\)/\1/p' "$1")
}
# Update updater.sh
# Default: Check for update, if available, ask user if they want to execute it
# Args:
# -donotupdate: New version will not be looked for and update will not occur
# -update: Check for update, if available, execute without asking
update_updater () {
if [ $UPDATE = 'no' ]; then
return 0 # User signified not to check for updates
fi
declare -r tmpfile=$(download_file 'https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/updater.sh')
if [[ $(get_updater_version "${SCRIPT_DIR}/updater.sh") < $(get_updater_version "${tmpfile}") ]]; then
if [ $UPDATE = 'check' ]; then
echo -e "There is a newer version of updater.sh available. ${RED}Update and execute Y/N?${NC}"
read -p "" -n 1 -r
echo -e "\n\n"
if [[ $REPLY =~ ^[Nn]$ ]]; then
return 0 # Update available, but user chooses not to update
fi
fi
else
return 0 # No update available
fi
mv "${tmpfile}" "${SCRIPT_DIR}/updater.sh"
chmod u+x "${SCRIPT_DIR}/updater.sh"
"${SCRIPT_DIR}/updater.sh" "$@" -d
exit 1
}
#########################
# Update user.js #
#########################
# Returns version number of a user.js file
get_userjs_version () {
if [ -e $1 ]; then
echo "$(sed -n '4p' "$1")"
else
echo "Not detected."
fi
}
add_override () {
input=$1
if [ -f "$input" ]; then
echo "" >> user.js
cat "$input" >> user.js
echo -e "Status: ${GREEN}Override file appended:${NC} ${input}"
elif [ -d "$input" ]; then
FSAVEIFS=$IFS
IFS=$'\n\b' # Set IFS
FILES="${input}"/*.js
for f in $FILES
do
add_override "$f"
done
IFS=$SAVEIFS # restore $IFS
else
echo -e "${ORANGE}Warning: Could not find override file:${NC} ${input}"
fi
}
remove_comments () { # expects 2 arguments: from-file and to-file
sed -e 's/^[[:space:]]*\/\/.*$//' -e '/^\/\*/,/\*\//d' -e '/^[[:space:]]*$/d' -e 's/);[[:space:]]*\/\/.*/);/' "$1" > "$2"
}
# Applies latest version of user.js and any custom overrides
update_userjs () {
declare -r newfile=$(download_file 'https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/user.js')
echo 'Please observe the following information:'
echo -e "\tFirefox profile: ${ORANGE}$(pwd)${NC}"
echo -e "\tAvailable online: ${ORANGE}$(get_userjs_version $newfile)${NC}"
echo -e "\tCurrently using: ${ORANGE}$(get_userjs_version user.js)\n${NC}\n"
if [ $CONFIRM = 'yes' ]; then
echo -e "This script will update to the latest user.js file and append any custom configurations from user-overrides.js. ${RED}Continue Y/N? ${NC}"
read -p "" -n 1 -r
echo -e "\n"
if [[ $REPLY =~ ^[Nn]$ ]]; then
echo -e "${RED}Process aborted${NC}"
rm $newfile
return 1
fi
fi
# Copy a version of user.js to diffs folder for later comparison
if [ "$COMPARE" = true ]; then
mkdir -p userjs_diffs
cp user.js userjs_diffs/past_user.js &>/dev/null
fi
# backup user.js
mkdir -p userjs_backups
local bakname="userjs_backups/user.js.backup.$(date +"%Y-%m-%d_%H%M")"
if [ $BACKUP = 'single' ]; then
bakname='userjs_backups/user.js.backup'
fi
cp user.js "$bakname" &>/dev/null
mv "${newfile}" user.js
echo -e "Status: ${GREEN}user.js has been backed up and replaced with the latest version!${NC}"
if [ "$ESR" = true ]; then
sed -e 's/\/\* \(ESR[0-9]\{2,\}\.x still uses all.*\)/\/\/ \1/' user.js > user.js.tmp && mv user.js.tmp user.js
echo -e "Status: ${GREEN}ESR related preferences have been activated!${NC}"
fi
# apply overrides
if [ "$SKIPOVERRIDE" = false ]; then
while IFS=',' read -ra FILE; do
add_override "$FILE"
done <<< "$OVERRIDE"
fi
# create diff
if [ "$COMPARE" = true ]; then
pastuserjs='userjs_diffs/past_user.js'
past_nocomments='userjs_diffs/past_userjs.txt'
current_nocomments='userjs_diffs/current_userjs.txt'
remove_comments $pastuserjs $past_nocomments
remove_comments user.js $current_nocomments
diffname="userjs_diffs/diff_$(date +"%Y-%m-%d_%H%M").txt"
diff=$(diff -w -B -U 0 $past_nocomments $current_nocomments)
if [ ! -z "$diff" ]; then
echo "$diff" > "$diffname"
echo -e "Status: ${GREEN}A diff file was created:${NC} ${PWD}/${diffname}"
else
echo -e "Warning: ${ORANGE}Your new user.js file appears to be identical. No diff file was created.${NC}"
if [ $BACKUP = 'multiple' ]; then
rm $bakname &>/dev/null
fi
fi
rm $past_nocomments $current_nocomments $pastuserjs &>/dev/null
fi
if [ "$VIEW" = true ]; then open_file "${PWD}/user.js"; fi
}
#########################
# Execute #
#########################
if [ $# != 0 ]; then
readonly legacy_lc=$(echo $1 | tr '[A-Z]' '[a-z]')
# Display usage if first argument is -help or --help
if [ $1 = '--help' ] || [ $1 = '-help' ]; then
usage
elif [ $legacy_lc = '-donotupdate' ]; then
UPDATE='no'
legacy_argument $1
elif [ $legacy_lc = '-update' ]; then
UPDATE='yes'
legacy_argument $1
else
while getopts ":hp:ludsno:bcvre" opt; do
case $opt in
h)
usage
;;
p)
PROFILE_PATH=${OPTARG}
;;
l)
PROFILE_PATH='list'
;;
u)
UPDATE='yes'
;;
d)
UPDATE='no'
;;
s)
CONFIRM='no'
;;
n)
SKIPOVERRIDE=true
;;
o)
OVERRIDE=${OPTARG}
;;
b)
BACKUP='single'
;;
c)
COMPARE=true
;;
v)
VIEW=true
;;
e)
ESR=true
;;
r)
tfile=$(download_file 'https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/user.js')
mv $tfile "${tfile}.js"
echo -e "${ORANGE}Warning: user.js was saved to temporary file ${tfile}.js${NC}"
open_file "${tfile}.js"
exit 1
;;
\?)
echo -e "${RED}\n Error! Invalid option: -$OPTARG${NC}" >&2
usage
;;
:)
echo -e "${RED}Error! Option -$OPTARG requires an argument.${NC}" >&2
exit 1
;;
esac
done
fi
else
echo "Process aborted"
fi
## change directory back to the original working directory
cd "${currdir}"
show_banner
update_updater $@
getProfilePath # updates PROFILE_PATH or exits on error
cd "$PROFILE_PATH" && update_userjs
cd "$CURRDIR"

1924
user.js

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="78" height="20"><linearGradient id="b" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="a"><rect width="78" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#a)"><path fill="#555" d="M0 0h47v20H0z"/><path fill="#dfb317" d="M47 0h31v20H47z"/><path fill="url(#b)" d="M0 0h78v20H0z"/></g><g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="110"> <text x="245" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="370">license</text><text x="245" y="140" transform="scale(.1)" textLength="370">license</text><text x="615" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="210">MIT</text><text x="615" y="140" transform="scale(.1)" textLength="210">MIT</text></g> </svg>

After

Width:  |  Height:  |  Size: 950 B