Compare commits

..

172 Commits
89.0 ... 95.0

Author SHA1 Message Date
7e1b92567c 95 final 2021-12-08 12:13:47 +00:00
fec5168203 95 deprecated 2021-12-08 04:28:47 +00:00
b60a888da3 update WebRTC, closes #1282 2021-12-06 14:45:47 +00:00
ec595c3b95 fixup duplicate line 2021-12-05 19:59:33 +00:00
9d61992c8c don't clear offlineApps on shutdown, #1291
- in v94 we switched to cookies lifetime as session, so users could use site exceptions to retain selected cookies (to stay logged in one assumes)
- that mean not deleting all cookies on shutdown
- but some login methods/types require more than cookies and also need the "site data" part of "cookies + site data" - that's the offlineApps part
- note: all site data (and cookies) is still cleared on close except site exceptions
2021-12-05 19:49:32 +00:00
fd860e6c69 flip RFP newwin max values, closes #1286 2021-12-04 10:23:59 +00:00
d1d20b897a wiki cleanup (#1289) 2021-12-04 09:36:09 +00:00
cf0102f71e fixup: from being flogged to death by overseers
thanks @dngray, also save some precious bytes .. polar bears know about scarce resources
2021-12-02 09:34:34 +00:00
4dc5372257 0603: network.predictor.enable-prefetch
make active for Nighty users - see https://bugzilla.mozilla.org/show_bug.cgi?id=1506194
2021-11-30 13:29:19 +00:00
c2ddfd60bf tidy 79-91 removed items 2021-11-28 13:22:46 +00:00
47de4f520b tidy 5505 2021-11-28 09:01:39 +00:00
27977a16ad 2652: browser.download.alwaysOpenPanel
FYI: https://bugzilla.mozilla.org/1738372

There is a small privacy issue with shoulder surfers, but in reality, this just needs to happen IMO
- we already prompt where to save, but even if we didn't, we also know we clicked or initiated a download
   - unless it's a drive by or user-gesture trickery - which is why we prompt
- the download icon is shown (if hidden) and the throbber/accent color go to work
- users can always click the icon to show entries (and open folder etc)
- this maintains the current behavior in FF94
2021-11-25 06:49:38 +00:00
4b393b9b12 start 95-alpha 2021-11-24 01:09:10 +00:00
6027aaa45d fixup warnOnQuitShortcut 2021-11-23 12:02:50 +00:00
cbfb8abf15 94 final 2021-11-23 07:11:43 +00:00
58d0161b67 add warnOnQuitShortcut, closes #1270 2021-11-23 07:05:01 +00:00
6b351a9458 fixup trade-offs
anti-fingerprinting doesn't fit here: it's not a major component or priority of this user.js, and only a few prefs outside RFP (as a robust built-in browser solution that defeats naive scripts) have anything to do with it
2021-11-22 18:15:53 +00:00
c9e4cac618 tweak webRTC
webRTC will be overhauled... but not today... in the meantime
- remove dead link before @dngray has a hernia
- correctly refer to the type of IP leak
2021-11-22 18:08:07 +00:00
34bd3c5a04 consolidate/simplify sanitizing, fixes #1256
move all sanitizing on exit prefs into 2800

switch to cookie lifetime as session
- now users can utilize exceptions (as allow)
- session cookies still block service workers (which we disable anyway)
- we still block 3rd party cookies (until we move to dFPI)
- we still have defense in depth for 3rd party cookies with 2803
- we still bulk sanitize offlineApps on exit: localStorage, service worker cache, QuotaManager (IndexedDB, asm-cache)
   - i.e you get to keep the cookies only IF you add an exception

add `privacy.clearsitedata.cache.enabled`
2021-11-22 05:40:49 +00:00
2f88ca2e40 misc
- move DoH so it has room to grow
- tidy privacy.clearOnShutdown, privacy.cpd
2021-11-18 01:28:21 +00:00
e2e7f9c647 font vis changes (#1275) 2021-11-16 11:56:20 +00:00
f8932dced1 remove ambiguous line
The point was that google have said (stated in policy, but fuck knows where that is located these days) that it is anonymized and not used for tracking. It's an API used by **_4 billion devices_** - the API has privacy policies for use. If a whistleblower or someone else found out that google was using this to enhance their user profiling, then all hell would break loose. And they don't even need this to fuel their ad revenue. It is provided, gratis, to the web to help ensure security - they wouldn't dare taint it and get it caught up in a privacy scandal involving **+4 billion devices_**. And in all this time (since 2007), there has been no such whistleblower or proof it is used to track or announcements by google of changes to the contrary.

Anyway, a quick search brings up
- Here is their policy - https://www.google.com/intl/en_us/privacy/browsing.html - it's empty and points to
- https://www.google.com/intl/en/chrome/privacy/
   - and if you scroll down to "Safe Browsing practices" it doesn't say anything about privacy policies for the API itself (or the owner of the API) - it just spells out what happens in chrome
- I'm not going to bother to look any further and find a history of policy changes

Anyway, this is Firefox and hashes are part hashes bundled with other real hashes - and we turned off real time binary checks. So this line can fuck the fuck off. It was meant to reassure those who want the security of real-time binary checks, that privacy "shouldn't" be an issue, but I'm not going to expand on it
2021-11-07 06:48:45 +00:00
17beb468f1 tweak 1510 default info 2021-11-04 22:44:23 +00:00
bd59131d3e default changes, missed one 2021-11-04 22:38:16 +00:00
0f8217ad60 cleanup sanitizing-on-close prefs 2021-11-04 16:18:35 +00:00
1515897449 default changes 2021-11-02 16:07:42 +00:00
ba92918d38 don't disable system addon updates, closes #1251 2021-10-26 10:16:42 +00:00
094356e073 0706: add reference 2021-10-25 20:56:18 +00:00
7d68a32971 start 94-alpha
- and remove obsolete ESR78 notations
- note: we leave the deprecated ESR78.x section and item 6050 until v95 so users upgrading to ESR91 can easily reset those prefs with prefsCleaner
2021-10-25 17:41:16 +00:00
85438d00e4 v93 deprecated 2021-10-12 08:23:46 +00:00
a764149520 v92 2021-10-11 13:56:38 +00:00
535346df87 Delete arkenfox-clear-RFP-alternatives.js 2021-10-10 23:55:39 +00:00
412c8f9f94 0807 urlbar contextual suggestions, #1257 2021-10-09 07:14:20 +00:00
380a88ee57 oophs 2021-10-05 11:14:16 +00:00
8404e8a59c tidy, closes #1260 2021-10-05 03:04:14 +00:00
6381b1aeb9 prefsCleaner.sh: Fix invalid regular expression (#1258) 2021-09-28 19:24:54 +00:00
5cdea955e7 Simple maintenance improvements (#1255)
* Use direct check for existence of file

* Fix shellcheck warnings

* Unify codestyle in scripts

* Trim excess whitespace
2021-09-27 15:23:12 +00:00
b37df0bcfe embiggen 4500, #1218 2021-09-25 02:32:48 +00:00
044e3e76e8 make 0706 more cromulent 2021-09-25 01:47:54 +00:00
1c6d633144 more nits 2021-09-11 05:35:39 +00:00
278336196c nit 2021-09-11 05:31:21 +00:00
76c1aad4be grammar 2021-09-10 13:07:04 +00:00
e5c128804c remove locale in link 2021-09-10 05:09:05 +00:00
c9956d85b1 92-alpha 2021-09-10 04:32:09 +00:00
524823fd05 proxy direct failover (#1247) 2021-09-07 13:35:32 +00:00
283bfd744a fixup missing 1022 reference 2021-08-29 14:32:37 +00:00
a1b4aa6000 add DoH rollout pref, closes #1027 2021-08-29 07:42:24 +00:00
a308878b11 finish removal of 500s and cleanup of 300s 2021-08-29 04:50:36 +00:00
453fcd32cb remove 2003, fixes #1245 2021-08-29 04:10:48 +00:00
a264eebcb5 screensharing etc 2021-08-29 03:27:46 +00:00
908638c9dc security.mixed_content.block_active_content
default true since at least FF60
2021-08-28 08:39:44 +00:00
7e80231ac5 was 6005: remove mixed active 2021-08-28 08:38:31 +00:00
6df03e1a74 add removed from arkenfox section
- this helps mitigate the need for scratchpad for those who use prefsCleaner
- in future, if anything was active during the ESR cycle, then it goes in here when removed
- similar to deprecated items: clean out after ESR EOL
2021-08-28 08:30:12 +00:00
4b437771fa oophs, thanks @eleius
fixup 3b52557143
2021-08-28 07:11:44 +00:00
4043467ad9 tidy 2021-08-28 06:03:13 +00:00
5ac8fd8f70 0906: tweak, #1243 2021-08-28 05:57:19 +00:00
2cf20c56a7 standardize cross origin/domain 2021-08-28 05:48:54 +00:00
3b52557143 start removal of section 0500s
- I am no longer short one parrot
- move inactive screenshots to personal
- move FORM autofill to `0800... FORMS` - can't find it now, but this is slated to cease being a system addon and instead be "built-in"
- the rest will get swallowed into a revamped, split QUIETER FOX
2021-08-28 05:19:13 +00:00
2a9cf32f45 security.insecure_connection_icon.enabled
inactive and default true
2021-08-27 10:39:40 +00:00
08395de188 1273: remove inactive pref 2021-08-27 10:37:54 +00:00
4ac17eaf78 tidy last commit 2021-08-26 06:50:46 +00:00
b5a3b54d3f clipboard to don't bother 2021-08-26 06:43:28 +00:00
38dc90a947 dom.allow_cut_copy
80f69a6f3d
2021-08-26 06:27:32 +00:00
80f69a6f3d 2406: remove
This doesn't achieve anything. AFAICT, it's an old gecko only API, not used on the web: superseded by the Clipboard API (added in FF21+)
2021-08-26 06:26:41 +00:00
498a25c759 0806: remove confusing line 2021-08-26 06:04:57 +00:00
64e8dfad0a 1004: remove setup tag
IDK if this is true: no one has ever complained, and I'm not interested in maintaining/testing it
2021-08-26 05:55:11 +00:00
5ec4fef4ed dedupe 0808 2021-08-26 05:40:59 +00:00
881a2d22eb cleanup tags
- there was only one perf left
- warning is down to 5: two in section headers, 3 on inactive prefs: no need to mention it, people will see them if they read each item/section
2021-08-25 16:14:59 +00:00
76c8ecd10d tidy 2021-08-25 15:56:57 +00:00
677b81765f tidy webgl 2021-08-25 15:36:15 +00:00
9f43d48a32 targetBlankNoOpener -> don't touch 2021-08-25 14:09:39 +00:00
6077d09b9f window.name -> don't touch
Also FPI FF65+ patch is not part of FPI, it is part of 4002 which is a separate pref
2021-08-25 14:04:50 +00:00
7144f8b7f8 cleanup continued, #1239
More minor tweaks to come. This isn't final
- 0102: ambiguous that the clearing was related to PB mode
- 0900s:
   - get rid of 0901, it has no pref, stick link in header
   - 0905: values on multi-lines use spaces = more readable
- 1000s:
   - rename as disk avoidance and remove sub-section headers
   - remove the outdated section header
- 4001: it will never be perfected, it's doing it's job
- 5500s: optional hardening
   - legit security measures, but commonality in caveats, so I made them a separate section
   - this flips graphite, asm.js and wasm from active to inactive: these are overkill: exhibit A: hundreds of millions of Firefox users
   - e.g. graphite and wasm are enabled on Tor Browser
   - new CVE keyword links
- 7000s: don't bother - two more items added
- 5000s: optional opsec and cleanout 0800s header
- re-number
   - 0900s, 1000s, 1400s, 2400s

PS: I need a new parrot: "9000 syntax error: I ran out of parrots"
2021-08-24 22:51:48 +00:00
778421cad4 #1241 2021-08-24 08:59:11 +00:00
35ccaff58e calrify password prompt, #1241 2021-08-24 08:52:12 +00:00
69132b588f 7000s: mathml, svg, #1235 2021-08-24 05:43:38 +00:00
51748ea25a leverage cve keyword 2021-08-24 03:09:33 +00:00
269cf965bd renumber 1700s 2021-08-23 10:03:13 +00:00
b177c73f0d typo
technically it's "or" - FPI overrides network partitioning
2021-08-23 09:47:34 +00:00
613e55ae8c 7000s: add MOAR; renumber 0700s, #1235 2021-08-23 09:42:21 +00:00
3697bd8d3a 1603 -> inactive
Yes it's pretty much useless. Yes it's fingerprintable, and what that entropy is, who knows. Since it's sent regardless with ETP, which we enable in all windows, then who cares. And if you don't use ETP in all windows, then I don't care either - just saying
2021-08-23 06:26:45 +00:00
9f08c7c0f4 7000s: referer policy #1235
and re-number 1600s
2021-08-23 06:04:19 +00:00
05b7d61735 7000s: non cross origin referers 2021-08-23 04:54:49 +00:00
e31a6876e6 section 6000 2021-08-23 04:40:29 +00:00
47be7ba42f 1203 is a reset not enforce 2021-08-23 04:08:49 +00:00
033977fe10 move personal to last
probably more professional to keep it at the end since it isn't strictly project related. It also opens up space for `DON'T TOUCH` and `OPTIONAL OPSEC`
2021-08-23 03:39:15 +00:00
ab42deb541 Four more items to 7000s, #1235 2021-08-23 02:55:36 +00:00
8a22a90804 colon insertion (#1238) 2021-08-22 16:23:51 +00:00
c55e6dcd68 flip order, order within groups
- note: keeping 91 separate for now for the easy info factpr
2021-08-22 08:27:15 +00:00
cf379bcce0 typos 2021-08-22 05:45:08 +00:00
2b26cd4f41 7000s: ciphers, #1235
- merged 3DES cipher to bottom: it is still the same order of [1]
- 3DES pref will be deprecated: pref name changes, and the cipher slated to be unavailable unless you downgrade to < TLS1.2 - see https://bugzilla.mozilla.org/show_bug.cgi?id=1724072
   - FYI: we reset TLS downgrades to session only by resetting the pref currently in 1203
- "Minimal/non-existent threat of downgrade attacks"
   - FYI: these old ciphers are about 1-2% of traffic (from memory) - but that's still significant breakage
   - So the only reason to do this would be to harden against downgrade attacks (and inadvertently use weak sites = breakage): but that doesn't fit most user's threat model: and is probably never going to happen for them. Not sure if I can word that much better and just as succinct
2021-08-22 05:18:54 +00:00
8bfee5b59f hardware acceleration
see 04d648d55b
2021-08-22 01:55:28 +00:00
04d648d55b remove 2508
- inactive in user.js since
   - v55: gfx.direct2d.disabled
   - v67: layers.acceleration.disabled
- the way to counter hardware fingerprinting is within each API that may expose it
- this may have made some sense way back in the day, when there were less options/protections, but not any more
- [are we web render yet](https://arewewebrenderyet.com/) - yes, 100% - there is no need to cripple your browser's perf
2021-08-22 01:53:01 +00:00
7cdc76ecf9 dom.vibrator.enabled
see aded0707a4
2021-08-21 04:40:11 +00:00
aded0707a4 misc
- renumber 0200s, 2500s
- remove 2414: doesn't apply to desktop, and I think it has been neutered in android
2021-08-21 04:39:08 +00:00
2a011f1053 media.media-capabilities.enabled
see 213467d91b
2021-08-21 03:23:17 +00:00
213467d91b remove 2517
- inactive since we added it in v63
- this is not how you defeat fingerprinting (unless done in an enforced set)
- for the record: not even tor browser disable this
- fingerprinting this is not cheap in gecko (for now)
- from [2]
   - decoding/encoding capabilities: "it is expected that the entropy ... isn’t going to be significant"
   - HDR detection: "... has the potential to add significant entropy .. however .. but ... thus minimizing effective entropy" - it is what it is
   - note that RFP has some mitigations in FF82+ 1461454
2021-08-21 03:21:32 +00:00
da0c291127 update to ESR91 2021-08-21 02:26:17 +00:00
27ce48f319 trim fluff 2021-08-21 02:00:43 +00:00
37ded2a519 remove redundant warning 2021-08-20 14:10:09 +00:00
c9bdceb8d6 1244: fix no upgrade test 2021-08-20 13:23:59 +00:00
95136382e1 improve 1244, closes #1047 again 2021-08-20 13:18:43 +00:00
78d953bfda remove 1032
dead wood: marked as default false since at least v68, inactive since at least v78, and web notifications are controlled in 2300s
2021-08-20 03:16:25 +00:00
2d3d8ae5b0 alerts.showFavicons 2021-08-20 03:12:59 +00:00
cef08b63f1 4520 -> personal 2021-08-20 02:52:55 +00:00
a8e95e7310 dexter would be proud #1235
- just to be clear, this section is not supported: not interested in references or explanations or  FF version numbers or default info etc
- "do more harm than good" - ambiguous, not interested in explaining why exactly: but FYI
  - some leak
  - most break shit
  - almost all are easily fingerprinted and the combo of them would make you really stand out
- removed the duplicate `ui.prefersReducedMotion` - this should move to personal as well
- moved `ui.systemUsesDarkTheme` to personal
2021-08-20 02:13:53 +00:00
5ab3c47b6b 7001: tweak
F11 has nothing to do with the API or why
2021-08-19 15:26:22 +00:00
45c52b6620 start section 7000s 2021-08-19 14:44:06 +00:00
93f6aea06a 1605: change to active enforced 2021-08-19 13:17:07 +00:00
00fa8f1b50 general.warnOnAboutConfig
ac84da2af4
2021-08-19 02:14:23 +00:00
ac84da2af4 remove XHTML config warning
dead weight: ESR users will already be aware of and ticked the warning box by now
2021-08-19 02:07:03 +00:00
f19d850845 tidy #1235
8000s (was 4600s)
- move below personal, so user-relevant part is shorter
- swap out font vis with document fonts + font whitelist
   - font vis still has usability/visual purposes: it just won't really help much with fingerprinting
   - ESR78 users (who can't use font vis), sorry, but we made doc fonts inactive for a while now, and now recommend you don't use it anyway
2021-08-19 01:46:47 +00:00
7264271063 rusty-snake improvements, #1235 2021-08-19 00:15:30 +00:00
dc63a752a5 tidy 0300 + 0301 2021-08-18 13:55:41 +00:00
a70c312938 goodbye battery
- dead weight since 2017-06-13 when ESR45 reached EOL .. good riddance
- if someone does use it, it's not going to do any harm, so no need to carry it for prefsCleaner
2021-08-18 12:46:24 +00:00
2ce269362e dom.battery.enabled 2021-08-18 12:40:27 +00:00
29ad768a22 RFP tweak
letterboxing is not part of RFP, it is a separate pref: bugzilla and FF version info is in 4504
2021-08-18 09:08:36 +00:00
679648b33e RFP info tweak 2021-08-18 09:03:16 +00:00
783786290d tidy
- geo -> warning
- merge container prefs
- remove redundant "see"s
- remove corresponding 4600's item number in RFP mitigations
   - it's pretty clear by the preference names in 4600
   - could be misconstrued that the 4600 pref is the same result
- RFP's language prompt only checks for en*, not en-US (so en-GB, en-CA etc do not get prompted)
   - https://searchfox.org/mozilla-central/source/toolkit/components/resistfingerprinting/RFPHelper.jsm#196
2021-08-18 08:24:44 +00:00
e7e6cfffe8 0503: tidy 2021-08-18 07:30:55 +00:00
08e9fb35fd update some references 2021-08-18 07:16:19 +00:00
fdc9376c69 tidy
- 0105*: merge into a single block
- 1220: make values more readable with spaces, like 2701 (no need for value 2), add default, update advise (get a new AV, SHA1 is dead baby)
- 2619: remove fluff
2021-08-18 01:50:09 +00:00
41c3c0ec26 tweak 2522: webgl
- we already disable webgl, that's enough
- the other two prefs are not going to provide much protection if a user decides they want webgl
- "disable-fail-if-major-performance-caveat" only applies to ESR78 and will removed in the future
- one (or two) less pref(2) for users to troubleshoot/flip
2021-08-17 03:47:33 +00:00
d7208ccf34 tidy 2021-08-17 03:41:56 +00:00
77410bf86d musical chairs part 2
merge plugins with webrtc (camera + mic) and "media"
2021-08-17 03:08:48 +00:00
1d63e836ee musical chairs part 1
- move 2200s into respective sections
- move FPing items into 2500s
2021-08-17 02:52:19 +00:00
668e843fce misc
- remove 2720
   - this is a very old pref, been inactive since at least our first github release: v51
   - disabling the API is not how you control client side state: you do that by blocking cookies which also controls other state such as IDB etc
- 2700 section header
  - history/downloads is redundant
  - Offline Website Data info -> relevant item number with Active Logins info
  - ^ technically it still includes appCache for ESR78 users, but that will be moot in less than three months
- tidy RFP
  - update to FF91 userAgent spoofing: there is no Android ESR so we don't need to mention "Android 9"
  - we don't need to say if the API is enabled for mediaDevices
2021-08-16 15:34:57 +00:00
51e388ae86 dom.storage.enabled 2021-08-16 15:06:06 +00:00
e7872b193b !yoda
no bytes were harmed in the making of this commit
2021-08-16 04:22:46 +00:00
8d6ee7c0c7 oophs 2021-08-16 04:18:12 +00:00
7d1e244f5a 0506: clarify
oh noes! what's blocked, the pref or the ping? .. also save MOAR bytes
2021-08-16 04:10:20 +00:00
dcc736bb85 I meant 14 lines, u lucky bastards 2021-08-16 04:03:56 +00:00
68568c1abf trim 1198 bytes (u lucky bastards!) + 13 lines 2021-08-16 04:02:15 +00:00
1b33f574bb RFP stuff 2021-08-14 04:44:50 +00:00
568a05ad7d 2502: trim
this info is useless .. save three lines
2021-08-14 04:18:04 +00:00
c45094fdd9 nits! (edit 2 typos) (#1232) 2021-08-11 20:56:51 +00:00
c3b7f7538c i do not like mixed case lists 2021-08-10 01:21:04 +00:00
4b38e20f14 change 4600s into do not use, #1221 (#1225)
see https://github.com/arkenfox/user.js/issues/1221#issuecomment-895623028
2021-08-10 00:18:19 +00:00
d19d4ba784 final update
in hindsight, the original name is more accurate
2021-08-09 20:42:51 +00:00
dd112a167d final update 2021-08-09 20:39:47 +00:00
92b7fb81d0 fixup STATS year 2021-08-04 18:45:15 +00:00
404d1d466a update [STATS]
- just in time for ESR91
2021-08-04 17:23:38 +00:00
06e5de4332 tweak windows SSO info/reference 2021-08-04 10:32:33 +00:00
eb4363dc18 tweak info in section 2800 header, #1223 2021-08-01 17:36:04 +00:00
5c93ebb54f misc, closes #1220 2021-07-30 05:48:17 +00:00
b8f3d93a5c v90 2021-07-26 03:11:09 +00:00
f53f01823f 1203 default info 2021-07-24 12:56:27 +00:00
18dbb56a3d put 1203 back
see 3bb9fc713f
2021-07-24 12:51:15 +00:00
cc8674c16d revert last commit 2021-07-24 12:49:39 +00:00
f394fd0290 move webgl to hardware fingerprinting
- merge into a single number, update the alt pref number
- update RFP info to reflect that it is not a cure-all
2021-07-24 01:56:46 +00:00
f24899fcac cleanup language specific links 2021-07-24 01:04:03 +00:00
a7ba61c0d4 0304: background service app update [windows]
- the service implies a check is done first, I'm more concerned with the actual updating: not that updates are bad, it's about controlling when (if ever e.g. my test suite)
- since 0301 has to be done manually in Windows, 0302 is a good fallback **IF** the background service is applicable (read the link)
- clean up the numbering
2021-07-24 00:52:38 +00:00
babb9f3682 4612: remove outdated confusing line 2021-07-22 03:41:39 +00:00
b22e349d44 make 4620 more accurate and match RFP section info 2021-07-20 03:38:49 +00:00
bb48fe4ebe RFP: 4612 is not disabled (by default) 2021-07-20 03:34:49 +00:00
44a8088481 tidy
- "enforce" is for when we set the default value
- use [WARNING] for inactive (they're inactive for a reason and people really do not need to turn them on) but less scary [NOTE] for active (tweak away at your own risk)
  - seems neater, easier and less scary for users setting up the first time: i.e they only need to initially look at active items
  - FYI: I was going to add something to LSNG (2760) that it is required for Fission, but will wait, and it struck me that 2680 was the only active item with a warning: seems inconsistent
- 2684: security delay .. make enforce mean enforce (default) ... not worth occasionally saving .3 seconds
   - for now it's one less item in differences/flips
   - might make this inactive in 91+, and add a warning
   - it has been a very long time since we added this due to bad advise/references on the internet on how to speed up Firefox
2021-07-20 02:51:52 +00:00
4c8c9bc01f security.tls.version.enable-deprecated
default false since it was added in FF71 - see https://bugzilla.mozilla.org/1579285
2021-07-20 02:02:26 +00:00
3bb9fc713f remove 1203
default false since it was added in FF71 - see https://bugzilla.mozilla.org/1579285
2021-07-20 02:00:33 +00:00
b761a9dd32 4505: experimental RFP prefs
and tidy up all instances (eight) of "do not use": all caps, no asterisks, immediately after [warning]
2021-07-08 07:08:38 +00:00
0da2ecdb4d keep current rather than every ESR 2021-07-08 06:41:59 +00:00
31e864c16c 0913: disable windows SSO FF91+
- and make 2730 more accurate and add bugzilla
- future RFP additions will be FF91+
2021-07-08 06:21:53 +00:00
acc1376c37 Update arkenfox-clear-deprecated.js 2021-07-07 14:33:20 +00:00
939d75e5eb Update arkenfox-clear-removed.js 2021-07-07 14:25:08 +00:00
3b573bf9f0 Update arkenfox-clear-RFP-alternatives.js 2021-07-07 14:15:51 +00:00
a231c1e90e Update arkenfox-clear-RFP-alternatives.js 2021-07-07 14:10:24 +00:00
f229a3cb75 fixup FF90 deprecated (#1207) 2021-07-07 11:51:44 +00:00
981462ee54 FF90 deprecated 2021-07-06 13:26:44 +00:00
d940ffb3c6 105c: add "sponsored shortcuts" 2021-07-06 06:32:58 +00:00
a6d20eaf5b 1264: update ciphers, fixes #1196 (#1197) 2021-06-23 16:22:10 +00:00
b93a5e334c 2510 webaudio -> inactive RFP alts, closes #1194 2021-06-20 12:49:57 +00:00
c98606430c move 2505 to RFP alts, closes #1099 2021-06-20 09:29:38 +00:00
12c0631900 4501: remove confusing RFP line 2021-06-16 16:48:14 +00:00
14 changed files with 1222 additions and 1601 deletions

View File

@ -15,13 +15,11 @@ Also be aware that the `arkenfox user.js` is made specifically for desktop Firef
### 🟧 sitemap ### 🟧 sitemap
- [Releases](https://github.com/arkenfox/user.js/releases) - [releases](https://github.com/arkenfox/user.js/releases)
- [changelogs](https://github.com/arkenfox/user.js/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Achangelog) - [changelogs](https://github.com/arkenfox/user.js/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Achangelog)
- [Wiki](https://github.com/arkenfox/user.js/wiki) - [wiki](https://github.com/arkenfox/user.js/wiki)
- [stickies](https://github.com/arkenfox/user.js/issues?q=is%3Aissue+is%3Aopen+label%3A%22sticky+topic%22) - [stickies](https://github.com/arkenfox/user.js/issues?q=is%3Aissue+is%3Aopen+label%3A%22sticky+topic%22)
- [diffs](https://github.com/arkenfox/user.js/issues?q=is%3Aissue+label%3Adiffs) - [diffs](https://github.com/arkenfox/user.js/issues?q=is%3Aissue+label%3Adiffs)
### 🟥 acknowledgments ### 🟥 acknowledgments
Literally thousands of sources, references and suggestions. Many thanks, and much appreciated. Literally thousands of sources, references and suggestions. Many thanks, and much appreciated.

View File

@ -20,7 +20,7 @@ cd "$(dirname "${sfp}")"
fQuit() { fQuit() {
## change directory back to the original working directory ## change directory back to the original working directory
cd "${currdir}" cd "${currdir}"
[ $1 -eq 0 ] && echo -e "\n$2" || echo -e "\n$2" >&2 [ "$1" -eq 0 ] && echo -e "\n$2" || echo -e "\n$2" >&2
exit $1 exit $1
} }
@ -36,7 +36,7 @@ fFF_check() {
# this isn't elegant and might not be future-proof but should at least be compatible with any environment # this isn't elegant and might not be future-proof but should at least be compatible with any environment
while [ -e lock ]; do while [ -e lock ]; do
echo -e "\nThis Firefox profile seems to be in use. Close Firefox and try again.\n" >&2 echo -e "\nThis Firefox profile seems to be in use. Close Firefox and try again.\n" >&2
read -p "Press any key to continue." read -r -p "Press any key to continue."
done done
} }
@ -48,7 +48,7 @@ fClean() {
if [[ "$line" =~ $prefexp && $prefs != *"@@${BASH_REMATCH[1]}@@"* ]]; then if [[ "$line" =~ $prefexp && $prefs != *"@@${BASH_REMATCH[1]}@@"* ]]; then
prefs="${prefs}${BASH_REMATCH[1]}@@" prefs="${prefs}${BASH_REMATCH[1]}@@"
fi fi
done <<< "`grep -E \"$prefexp\" user.js`" done <<< "$(grep -E "$prefexp" user.js)"
while IFS='' read -r line || [[ -n "$line" ]]; do while IFS='' read -r line || [[ -n "$line" ]]; do
if [[ "$line" =~ ^$prefexp ]]; then if [[ "$line" =~ ^$prefexp ]]; then

View File

@ -1,65 +0,0 @@
/***
Version: up to and including FF/ESR78
This will reset the preferences that are under sections 4600 & 4700 in the
arkenfox user.js. These are the prefs that are no longer necessary, or they
conflict with, privacy.resistFingerprinting if you have that enabled.
For instructions see:
https://github.com/arkenfox/user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
***/
(function() {
let ops = [
/* section 4600 */
'dom.maxHardwareConcurrency',
'dom.enable_resource_timing',
'dom.enable_performance',
'device.sensors.enabled',
'browser.zoom.siteSpecific',
'dom.gamepad.enabled',
'dom.netinfo.enabled',
'media.webspeech.synth.enabled',
'media.video_stats.enabled',
'dom.w3c_touch_events.enabled',
'media.ondevicechange.enabled',
'webgl.enable-debug-renderer-info',
'dom.w3c_pointer_events.enabled',
'ui.use_standins_for_native_colors',
'ui.systemUsesDarkTheme',
'ui.prefersReducedMotion',
/* section 4700 */
'general.useragent.override',
'general.buildID.override',
'general.appname.override',
'general.appversion.override',
'general.platform.override',
'general.oscpu.override',
/* reset parrot: check your open about:config after running the script */
'_user.js.parrot'
]
if("undefined" === typeof(Services)) {
alert("about:config needs to be the active tab!");
return;
}
let c = 0;
for (let i = 0, len = ops.length; i < len; i++) {
if (Services.prefs.prefHasUserValue(ops[i])) {
Services.prefs.clearUserPref(ops[i]);
if (!Services.prefs.prefHasUserValue(ops[i])) {
console.log("reset", ops[i]);
c++;
} else { console.log("failed to reset", ops[i]); }
}
}
focus();
let d = (c==1) ? " pref" : " prefs";
if (c > 0) {
alert("successfully reset " + c + d + "\n\nfor details check the Browser Console (Ctrl+Shift+J)");
} else { alert("nothing to reset"); }
})();

View File

@ -1,5 +1,5 @@
/*** /***
Version: up to and including FF/ESR78 Version: up to and including FF/ESR91
This will reset the preferences that have been deprecated by Mozilla This will reset the preferences that have been deprecated by Mozilla
and used in the arkenfox user.js and used in the arkenfox user.js
@ -10,239 +10,223 @@
https://github.com/arkenfox/user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts] https://github.com/arkenfox/user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
***/ ***/
(function() { (() => {
let ops = [
/* deprecated */
/* 78 */ if ('undefined' === typeof(Services)) return alert('about:config needs to be the active tab!');
'media.autoplay.enabled.user-gestures-needed',
'toolkit.cosmeticAnimations.enabled', const aPREFS = [
/* 77 */ /* deprecated */
'browser.urlbar.oneOffSearches', /* FF79-91 */
'browser.tabs.remote.allowLinkedWebInFileUriProcess', 'browser.cache.offline.storage.enable',
/* 76 */ 'browser.download.hide_plugins_without_extensions',
'extensions.blocklist.url', 'browser.library.activity-stream.enabled',
/* 74 */ 'browser.search.geoSpecificDefaults',
'geo.wifi.uri', 'browser.search.geoSpecificDefaults.url',
'geo.wifi.logging.enabled', 'dom.ipc.plugins.flash.subprocess.crashreporter.enabled',
'privacy.userContext.longPressBehavior', 'dom.ipc.plugins.reportCrashURL',
'webgl.disable-extensions', 'dom.w3c_pointer_events.enabled',
/* 72 */ 'intl.charset.fallback.override',
'network.ftp.enabled',
'plugin.state.flash',
'security.mixed_content.block_object_subrequest',
'security.ssl.errorReporting.automatic',
'security.ssl.errorReporting.enabled',
'security.ssl.errorReporting.url',
/* 69-78 */
'browser.newtabpage.activity-stream.telemetry.ping.endpoint', 'browser.newtabpage.activity-stream.telemetry.ping.endpoint',
'toolkit.telemetry.hybridContent.enabled', 'browser.tabs.remote.allowLinkedWebInFileUriProcess',
'dom.indexedDB.enabled', 'browser.urlbar.oneOffSearches',
/* 71 */
'devtools.webide.enabled',
'devtools.webide.autoinstallADBExtension', 'devtools.webide.autoinstallADBExtension',
'offline-apps.allow_by_default', 'devtools.webide.enabled',
/* 69 */ 'dom.indexedDB.enabled',
'extensions.blocklist.url',
'geo.wifi.logging.enabled',
'geo.wifi.uri',
'gfx.downloadable_fonts.woff2.enabled', 'gfx.downloadable_fonts.woff2.enabled',
'plugins.click_to_play',
'media.autoplay.allow-muted', 'media.autoplay.allow-muted',
/* 68 */ 'media.autoplay.enabled.user-gestures-needed',
'browser.newtabpage.activity-stream.disableSnippets', 'offline-apps.allow_by_default',
'plugins.click_to_play',
'privacy.userContext.longPressBehavior',
'toolkit.cosmeticAnimations.enabled',
'toolkit.telemetry.hybridContent.enabled',
'webgl.disable-extensions',
/* 61-68 */
'app.update.enabled',
'browser.aboutHomeSnippets.updateUrl', 'browser.aboutHomeSnippets.updateUrl',
'lightweightThemes.update.enabled',
'security.csp.experimentalEnabled',
/* F67 */
'dom.event.highrestimestamp.enabled',
'browser.newtabpage.activity-stream.asrouter.userprefs.cfr',
/* 66 */
'browser.chrome.errorReporter.enabled', 'browser.chrome.errorReporter.enabled',
'browser.chrome.errorReporter.submitUrl', 'browser.chrome.errorReporter.submitUrl',
'network.allow-experiments',
/* 65 */
'browser.urlbar.autocomplete.enabled',
'browser.fixup.hide_user_pass',
/* 64 */
'browser.onboarding.enabled',
'devtools.webide.autoinstallADBHelper',
'devtools.webide.adbAddonURL',
'security.csp.enable_violation_events',
/* 63 */
'browser.search.countryCode',
'app.update.enabled',
'shield.savant.enabled',
'browser.chrome.favicons', 'browser.chrome.favicons',
'media.autoplay.enabled',
'network.cookie.lifetime.days',
'browser.ctrlTab.previews', 'browser.ctrlTab.previews',
/* 62 */ 'browser.fixup.hide_user_pass',
'plugin.state.java', 'browser.newtabpage.activity-stream.asrouter.userprefs.cfr',
/* 61 */ 'browser.newtabpage.activity-stream.disableSnippets',
'browser.onboarding.enabled',
'browser.search.countryCode',
'browser.urlbar.autocomplete.enabled',
'devtools.webide.adbAddonURL',
'devtools.webide.autoinstallADBHelper',
'dom.event.highrestimestamp.enabled',
'experiments.activeExperiment',
'experiments.enabled', 'experiments.enabled',
'experiments.manifest.uri', 'experiments.manifest.uri',
'experiments.supported', 'experiments.supported',
'experiments.activeExperiment', 'lightweightThemes.update.enabled',
'media.autoplay.enabled',
'network.allow-experiments',
'network.cookie.lifetime.days',
'network.jar.block-remote-files', 'network.jar.block-remote-files',
'network.jar.open-unsafe-types', 'network.jar.open-unsafe-types',
/* 60 */ 'plugin.state.java',
'security.csp.enable_violation_events',
'security.csp.experimentalEnabled',
'shield.savant.enabled',
/* 60 or earlier */
'browser.bookmarks.showRecentlyBookmarked',
'browser.casting.enabled',
'browser.crashReports.unsubmittedCheck.autoSubmit',
'browser.formautofill.enabled',
'browser.formfill.saveHttpsForms',
'browser.fullscreen.animate',
'browser.history.allowPopState',
'browser.history.allowPushState',
'browser.history.allowReplaceState',
'browser.newtabpage.activity-stream.enabled',
'browser.newtabpage.directory.ping',
'browser.newtabpage.directory.source', 'browser.newtabpage.directory.source',
'browser.newtabpage.enhanced', 'browser.newtabpage.enhanced',
'browser.newtabpage.introShown', 'browser.newtabpage.introShown',
'extensions.shield-recipe-client.enabled', 'browser.pocket.api',
'extensions.shield-recipe-client.api_url', 'browser.pocket.enabled',
'browser.newtabpage.activity-stream.enabled', 'browser.pocket.oAuthConsumerKey',
'dom.workers.enabled', 'browser.pocket.site',
/* 59 */ 'browser.polaris.enabled',
'intl.locale.matchOS', 'browser.safebrowsing.appRepURL',
'general.useragent.locale', 'browser.safebrowsing.enabled',
'datareporting.healthreport.about.reportUrl', 'browser.safebrowsing.gethashURL',
'dom.flyweb.enabled', 'browser.safebrowsing.malware.reportURL',
'security.mixed_content.use_hsts', 'browser.safebrowsing.provider.google.appRepURL',
'security.mixed_content.send_hsts_priming', 'browser.safebrowsing.reportErrorURL',
'network.http.referer.userControlPolicy', 'browser.safebrowsing.reportGenericURL',
'security.xpconnect.plugin.unrestricted', 'browser.safebrowsing.reportMalwareErrorURL',
'media.getusermedia.screensharing.allowed_domains', 'browser.safebrowsing.reportMalwareMistakeURL',
'camera.control.face_detection.enabled', 'browser.safebrowsing.reportMalwareURL',
'dom.disable_window_status_change', 'browser.safebrowsing.reportPhishMistakeURL',
'dom.idle-observers-api.enabled', 'browser.safebrowsing.reportURL',
/* 58 */ 'browser.safebrowsing.updateURL',
'browser.crashReports.unsubmittedCheck.autoSubmit', 'browser.search.showOneOffButtons',
/* 57 */
'social.whitelist',
'social.toast-notifications.enabled',
'social.shareDirectory',
'social.remote-install.enabled',
'social.directories',
'social.share.activationPanelEnabled',
'social.enabled',
'media.eme.chromium-api.enabled',
'devtools.webide.autoinstallFxdtAdapters',
'browser.casting.enabled',
'browser.bookmarks.showRecentlyBookmarked',
/* 56 */
'extensions.screenshots.system-disabled',
'extensions.formautofill.experimental',
/* 55 */
'geo.security.allowinsecure',
'browser.selfsupport.enabled', 'browser.selfsupport.enabled',
'browser.selfsupport.url', 'browser.selfsupport.url',
'browser.newtabpage.directory.ping', 'browser.sessionstore.privacy_level_deferred',
'browser.formfill.saveHttpsForms',
'browser.formautofill.enabled',
'dom.enable_user_timing',
'dom.keyboardevent.code.enabled',
'browser.tabs.animate', 'browser.tabs.animate',
'browser.fullscreen.animate', 'browser.trackingprotection.gethashURL',
/* 54 */ 'browser.trackingprotection.updateURL',
'browser.safebrowsing.reportMalwareMistakeURL', 'browser.urlbar.unifiedcomplete',
'browser.safebrowsing.reportPhishMistakeURL',
'media.eme.apiVisible',
'dom.archivereader.enabled',
/* 53 */
'security.tls.unrestricted_rc4_fallback',
'plugin.scan.Acrobat',
'plugin.scan.Quicktime',
'plugin.scan.WindowsMediaPlayer',
'media.getusermedia.screensharing.allow_on_old_platforms',
'dom.beforeAfterKeyboardEvent.enabled',
/* 52 */
'network.http.sendSecureXSiteReferrer',
'media.gmp-eme-adobe.enabled',
'media.gmp-eme-adobe.visible',
'media.gmp-eme-adobe.autoupdate',
'dom.telephony.enabled',
'dom.battery.enabled',
/* 51 */
'media.block-play-until-visible',
'dom.vr.oculus050.enabled',
'network.http.spdy.enabled.v3-1',
/* 50 */
'browser.usedOnWindows10.introURL', 'browser.usedOnWindows10.introURL',
'plugins.update.notifyUser', 'camera.control.autofocus_moving_callback.enabled',
'browser.safebrowsing.enabled', 'camera.control.face_detection.enabled',
'security.ssl3.ecdhe_ecdsa_rc4_128_sha', 'datareporting.healthreport.about.reportUrl',
'security.ssl3.ecdhe_rsa_rc4_128_sha', 'datareporting.healthreport.about.reportUrlUnified',
'security.ssl3.rsa_rc4_128_md5', 'datareporting.healthreport.documentServerURI',
'security.ssl3.rsa_rc4_128_sha', 'datareporting.healthreport.service.enabled',
'plugins.update.url', 'datareporting.policy.dataSubmissionEnabled.v2',
/* 49 */ 'devtools.webide.autoinstallFxdtAdapters',
'dom.archivereader.enabled',
'dom.battery.enabled',
'dom.beforeAfterKeyboardEvent.enabled',
'dom.disable_image_src_set',
'dom.disable_window_open_feature.scrollbars',
'dom.disable_window_status_change',
'dom.enable_user_timing',
'dom.flyweb.enabled',
'dom.idle-observers-api.enabled',
'dom.keyboardevent.code.enabled',
'dom.network.enabled',
'dom.push.udp.wakeupEnabled',
'dom.telephony.enabled',
'dom.vr.oculus050.enabled',
'dom.workers.enabled',
'dom.workers.sharedWorkers.enabled',
'extensions.formautofill.experimental',
'extensions.screenshots.system-disabled',
'extensions.shield-recipe-client.api_url',
'extensions.shield-recipe-client.enabled',
'full-screen-api.approval-required',
'general.useragent.locale',
'geo.security.allowinsecure',
'intl.locale.matchOS',
'loop.enabled', 'loop.enabled',
'loop.server',
'loop.feedback.formURL',
'loop.feedback.manualFormURL',
'loop.facebook.appId', 'loop.facebook.appId',
'loop.facebook.enabled', 'loop.facebook.enabled',
'loop.facebook.fallbackUrl', 'loop.facebook.fallbackUrl',
'loop.facebook.shareUrl', 'loop.facebook.shareUrl',
'loop.feedback.formURL',
'loop.feedback.manualFormURL',
'loop.logDomains', 'loop.logDomains',
'dom.disable_window_open_feature.scrollbars', 'loop.server',
'dom.push.udp.wakeupEnabled', 'media.block-play-until-visible',
/* 48 */ 'media.eme.apiVisible',
'browser.urlbar.unifiedcomplete', 'media.eme.chromium-api.enabled',
/* 47 */ 'media.getusermedia.screensharing.allow_on_old_platforms',
'toolkit.telemetry.unifiedIsOptIn', 'media.getusermedia.screensharing.allowed_domains',
'datareporting.healthreport.about.reportUrlUnified', 'media.gmp-eme-adobe.autoupdate',
'browser.history.allowPopState', 'media.gmp-eme-adobe.enabled',
'browser.history.allowPushState', 'media.gmp-eme-adobe.visible',
'browser.history.allowReplaceState', 'network.http.referer.userControlPolicy',
/* 46 */ 'network.http.sendSecureXSiteReferrer',
'datareporting.healthreport.service.enabled', 'network.http.spdy.enabled.http2draft',
'datareporting.healthreport.documentServerURI', 'network.http.spdy.enabled.v3-1',
'datareporting.policy.dataSubmissionEnabled.v2', 'network.websocket.enabled',
'browser.safebrowsing.appRepURL', 'pageThumbs.enabled',
'browser.polaris.enabled',
'browser.pocket.enabled',
'browser.pocket.api',
'browser.pocket.site',
'browser.pocket.oAuthConsumerKey',
/* 45 */
'browser.sessionstore.privacy_level_deferred',
/* 44 */
'browser.safebrowsing.provider.google.appRepURL',
'security.tls.insecure_fallback_hosts.use_static_list',
'dom.workers.sharedWorkers.enabled',
'dom.disable_image_src_set',
/* 43 */
'browser.safebrowsing.gethashURL',
'browser.safebrowsing.updateURL',
'browser.safebrowsing.malware.reportURL',
'browser.trackingprotection.gethashURL',
'browser.trackingprotection.updateURL',
'pfs.datasource.url', 'pfs.datasource.url',
'browser.search.showOneOffButtons', 'plugin.scan.Acrobat',
/* 42 and earlier */ 'plugin.scan.Quicktime',
'privacy.clearOnShutdown.passwords', // 42 'plugin.scan.WindowsMediaPlayer',
'full-screen-api.approval-required', // 42 'plugins.enumerable_names',
'browser.safebrowsing.reportErrorURL', // 41 'plugins.update.notifyUser',
'browser.safebrowsing.reportGenericURL', // 41 'plugins.update.url',
'browser.safebrowsing.reportMalwareErrorURL', // 41 'privacy.clearOnShutdown.passwords',
'browser.safebrowsing.reportMalwareURL', // 41 'privacy.donottrackheader.value',
'browser.safebrowsing.reportURL', // 41 'security.mixed_content.send_hsts_priming',
'plugins.enumerable_names', // 41 'security.mixed_content.use_hsts',
'network.http.spdy.enabled.http2draft', // 41 'security.ssl3.ecdhe_ecdsa_rc4_128_sha',
'camera.control.autofocus_moving_callback.enabled', // 37 'security.ssl3.ecdhe_rsa_rc4_128_sha',
'privacy.donottrackheader.value', // 36 'security.ssl3.rsa_rc4_128_md5',
'network.websocket.enabled', // 35 'security.ssl3.rsa_rc4_128_sha',
'dom.network.enabled', // 31 'security.tls.insecure_fallback_hosts.use_static_list',
'pageThumbs.enabled', // 25 'security.tls.unrestricted_rc4_fallback',
'security.xpconnect.plugin.unrestricted',
'social.directories',
'social.enabled',
'social.remote-install.enabled',
'social.share.activationPanelEnabled',
'social.shareDirectory',
'social.toast-notifications.enabled',
'social.whitelist',
'toolkit.telemetry.unifiedIsOptIn',
/* reset parrot: check your open about:config after running the script */ /* reset parrot: check your open about:config after running the script */
'_user.js.parrot' '_user.js.parrot'
] ];
if("undefined" === typeof(Services)) { console.clear();
alert("about:config needs to be the active tab!");
return;
}
let c = 0; let c = 0;
for (let i = 0, len = ops.length; i < len; i++) { for (const sPname of aPREFS) {
if (Services.prefs.prefHasUserValue(ops[i])) { if (Services.prefs.prefHasUserValue(sPname)) {
Services.prefs.clearUserPref(ops[i]); Services.prefs.clearUserPref(sPname);
if (!Services.prefs.prefHasUserValue(ops[i])) { if (!Services.prefs.prefHasUserValue(sPname)) {
console.log("reset", ops[i]); console.info('reset', sPname);
c++; c++;
} else { console.log("failed to reset", ops[i]); } } else console.warn('failed to reset', sPname);
} }
} }
focus(); focus();
let d = (c==1) ? " pref" : " prefs"; const d = (c==1) ? ' pref' : ' prefs';
if (c > 0) { alert(c ? 'successfully reset ' + c + d + "\n\nfor details check the console" : 'nothing to reset');
alert("successfully reset " + c + d + "\n\nfor details check the Browser Console (Ctrl+Shift+J)");
} else { alert("nothing to reset"); } return 'all done';
})(); })();

View File

@ -1,37 +1,222 @@
/*** /***
This will reset the preferences that have been removed completely from the arkenfox user.js. This will reset the preferences that have been removed completely from the arkenfox user.js.
Last updated: 25-May-2021 Last updated: 29-August-2021
For instructions see: For instructions see:
https://github.com/arkenfox/user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts] https://github.com/arkenfox/user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
***/ ***/
(function() { (() => {
let ops = [
if ('undefined' === typeof(Services)) return alert('about:config needs to be the active tab!');
const aPREFS = [
/* removed in arkenfox user.js */ /* removed in arkenfox user.js */
/* 52-alpha */ /* 79-91 */
'alerts.showFavicons',
'browser.newtabpage.activity-stream.asrouter.providers.snippets',
'browser.send_pings.require_same_host',
'browser.urlbar.usepreloadedtopurls.enabled',
'dom.allow_cut_copy',
'dom.battery.enabled',
'dom.IntersectionObserver.enabled',
'dom.storage.enabled',
'dom.vibrator.enabled',
'extensions.screenshots.upload-disabled',
'general.warnOnAboutConfig',
'gfx.direct2d.disabled',
'layers.acceleration.disabled',
'media.getusermedia.audiocapture.enabled',
'media.getusermedia.browser.enabled',
'media.getusermedia.screensharing.enabled',
'media.gmp-widevinecdm.visible',
'media.media-capabilities.enabled',
'network.http.redirection-limit',
'privacy.partition.network_state',
'security.insecure_connection_icon.enabled',
'security.mixed_content.block_active_content',
'security.ssl.enable_ocsp_stapling',
'security.ssl3.dhe_rsa_aes_128_sha',
'security.ssl3.dhe_rsa_aes_256_sha',
'webgl.min_capability_mode',
/* 69-78 */
'browser.cache.disk_cache_ssl',
'browser.search.geoip.url',
'browser.search.region',
'browser.sessionhistory.max_entries',
'dom.push.connection.enabled',
'dom.push.serverURL',
'extensions.getAddons.discovery.api_url',
'extensions.htmlaboutaddons.discover.enabled',
'extensions.webservice.discoverURL',
'intl.locale.requested',
'intl.regional_prefs.use_os_locales',
'media.block-autoplay-until-in-foreground',
'middlemouse.paste',
'plugin.sessionPermissionNow.intervalInMinutes',
'privacy.usercontext.about_newtab_segregation.enabled',
'security.insecure_connection_icon.pbmode.enabled',
'security.insecure_connection_text.pbmode.enabled',
'webgl.dxgl.enabled',
/* 61-68 */
'app.update.service.enabled',
'app.update.silent',
'app.update.staging.enabled',
'browser.cache.disk.capacity',
'browser.cache.disk.smart_size.enabled',
'browser.cache.disk.smart_size.first_run',
'browser.cache.offline.insecure.enable',
'browser.contentblocking.enabled',
'browser.eme.ui.enabled',
'browser.laterrun.enabled',
'browser.offline-apps.notify',
'browser.rights.3.shown',
'browser.safebrowsing.blockedURIs.enabled',
'browser.safebrowsing.downloads.remote.block_dangerous',
'browser.safebrowsing.downloads.remote.block_dangerous_host',
'browser.safebrowsing.provider.google.gethashURL',
'browser.safebrowsing.provider.google.reportMalwareMistakeURL',
'browser.safebrowsing.provider.google.reportPhishMistakeURL',
'browser.safebrowsing.provider.google.reportURL',
'browser.safebrowsing.provider.google.updateURL',
'browser.safebrowsing.provider.google4.dataSharing.enabled',
'browser.safebrowsing.provider.google4.dataSharingURL',
'browser.safebrowsing.provider.google4.gethashURL',
'browser.safebrowsing.provider.google4.reportMalwareMistakeURL',
'browser.safebrowsing.provider.google4.reportPhishMistakeURL',
'browser.safebrowsing.provider.google4.reportURL',
'browser.safebrowsing.provider.google4.updateURL',
'browser.safebrowsing.provider.mozilla.gethashURL',
'browser.safebrowsing.provider.mozilla.updateURL',
'browser.safebrowsing.reportPhishURL',
'browser.sessionhistory.max_total_viewers',
'browser.sessionstore.max_windows_undo',
'browser.slowStartup.maxSamples',
'browser.slowStartup.notificationDisabled',
'browser.slowStartup.samples',
'browser.storageManager.enabled',
'browser.urlbar.autoFill.typed',
'browser.urlbar.filter.javascript',
'browser.urlbar.maxHistoricalSearchSuggestions',
'browser.urlbar.userMadeSearchSuggestionsChoice',
'canvas.capturestream.enabled',
'dom.allow_scripts_to_close_windows',
'dom.disable_window_flip',
'dom.forms.datetime',
'dom.imagecapture.enabled',
'dom.popup_maximum',
'extensions.webextensions.keepStorageOnUninstall',
'extensions.webextensions.keepUuidOnUninstall',
'font.blacklist.underline_offset',
'font.name.monospace.x-unicode',
'font.name.monospace.x-western',
'font.name.sans-serif.x-unicode',
'font.name.sans-serif.x-western',
'font.name.serif.x-unicode',
'font.name.serif.x-western',
'gfx.offscreencanvas.enabled',
'javascript.options.shared_memory',
'layout.css.font-loading-api.enabled',
'media.gmp-gmpopenh264.autoupdate',
'media.gmp-gmpopenh264.enabled',
'media.gmp-manager.updateEnabled',
'media.gmp-manager.url',
'media.gmp-manager.url.override',
'media.gmp-widevinecdm.autoupdate',
'media.gmp.trial-create.enabled',
'media.navigator.video.enabled',
'media.peerconnection.ice.tcp',
'media.peerconnection.identity.enabled',
'media.peerconnection.identity.timeout',
'media.peerconnection.turn.disable',
'media.peerconnection.use_document_iceservers',
'media.peerconnection.video.enabled',
'network.auth.subresource-img-cross-origin-http-auth-allow',
'network.cookie.leave-secure-alone',
'network.cookie.same-site.enabled',
'network.dnsCacheEntries',
'network.dnsCacheExpiration',
'network.http.fast-fallback-to-IPv4',
'network.proxy.autoconfig_url.include_path',
'offline-apps.quota.warn',
'pdfjs.enableWebGL',
'plugin.default.state',
'plugin.defaultXpi.state',
'plugin.scan.plid.all',
'privacy.trackingprotection.annotate_channels',
'privacy.trackingprotection.lower_network_priority',
'privacy.trackingprotection.pbmode.enabled',
'privacy.trackingprotection.ui.enabled',
'security.data_uri.block_toplevel_data_uri_navigations',
'security.insecure_field_warning.contextual.enabled',
'security.insecure_password.ui.enabled',
'security.tls.version.fallback-limit',
'services.blocklist.addons.collection',
'services.blocklist.gfx.collection',
'services.blocklist.onecrl.collection',
'services.blocklist.plugins.collection',
'services.blocklist.signing.enforced',
'services.blocklist.update_enabled',
'signon.autofillForms.http',
'signon.storeWhenAutocompleteOff',
'toolkit.telemetry.cachedClientID',
'urlclassifier.trackingTable',
'xpinstall.whitelist.required',
/* 60 or lower */
'browser.migrate.automigrate.enabled',
'browser.search.geoip.timeout',
'browser.search.reset.enabled', 'browser.search.reset.enabled',
'browser.search.reset.whitelist', 'browser.search.reset.whitelist',
/* 54-alpha */ 'browser.stopReloadAnimation.enabled',
'browser.migrate.automigrate.enabled', 'browser.tabs.insertRelatedAfterCurrent',
'browser.tabs.loadDivertedInBackground',
'browser.tabs.loadInBackground',
'browser.tabs.selectOwnerOnClose',
'browser.urlbar.clickSelectsAll',
'browser.urlbar.doubleClickSelectsAll',
'device.storage.enabled',
'dom.keyboardevent.dispatch_during_composition',
'dom.presentation.controller.enabled',
'dom.presentation.discoverable',
'dom.presentation.discovery.enabled',
'dom.presentation.enabled',
'dom.presentation.receiver.enabled',
'dom.presentation.session_transport.data_channel.enable',
'dom.vr.oculus.enabled',
'dom.vr.openvr.enabled',
'dom.vr.osvr.enabled',
'extensions.pocket.api',
'extensions.pocket.oAuthConsumerKey',
'extensions.pocket.site',
'general.useragent.compatMode.firefox',
'geo.wifi.xhr.timeout',
'gfx.layerscope.enabled',
'media.flac.enabled',
'media.mediasource.enabled',
'media.mediasource.mp4.enabled',
'media.mediasource.webm.audio.enabled',
'media.mediasource.webm.enabled',
'media.mp4.enabled',
'media.ogg.enabled',
'media.ogg.flac.enabled',
'media.opus.enabled',
'media.raw.enabled',
'media.wave.enabled',
'media.webm.enabled',
'media.webspeech.recognition.enable',
'media.wmf.amd.vp9.enabled',
'media.wmf.enabled',
'media.wmf.vp9.enabled',
'network.dns.blockDotOnion',
'network.stricttransportsecurity.preloadlist',
'security.block_script_with_wrong_mime',
'security.fileuri.strict_origin_policy',
'security.sri.enable',
'services.sync.enabled', 'services.sync.enabled',
'ui.submenuDelay',
'webextensions.storage.sync.enabled', 'webextensions.storage.sync.enabled',
'webextensions.storage.sync.serverURL', 'webextensions.storage.sync.serverURL',
/* 55-alpha */
'dom.keyboardevent.dispatch_during_composition', // default is false anyway
'dom.vr.oculus.enabled', // covered by dom.vr.enabled
'dom.vr.openvr.enabled', // ditto
'dom.vr.osvr.enabled', // ditto
'extensions.pocket.api', // covered by extensions.pocket.enabled
'extensions.pocket.oAuthConsumerKey', // ditto
'extensions.pocket.site', // ditto
/* 57-alpha */
'geo.wifi.xhr.timeout', // covered by geo.enabled
'browser.search.geoip.timeout', // ditto
'media.webspeech.recognition.enable', // default is false anyway
'gfx.layerscope.enabled', // default is false anyway
/* 58-alpha */
// excluding these e10 settings // excluding these e10 settings
// 'browser.tabs.remote.autostart', // 'browser.tabs.remote.autostart',
// 'browser.tabs.remote.autostart.2', // 'browser.tabs.remote.autostart.2',
@ -47,222 +232,28 @@
// 'dom.ipc.plugins.sandbox-level.default', // 'dom.ipc.plugins.sandbox-level.default',
// 'dom.ipc.plugins.sandbox-level.flash', // 'dom.ipc.plugins.sandbox-level.flash',
// 'security.sandbox.logging.enabled', // 'security.sandbox.logging.enabled',
'dom.presentation.controller.enabled',
'dom.presentation.discoverable',
'dom.presentation.discovery.enabled',
'dom.presentation.enabled',
'dom.presentation.receiver.enabled',
'dom.presentation.session_transport.data_channel.enable',
/* 59-alpha */
'browser.stopReloadAnimation.enabled',
'browser.tabs.insertRelatedAfterCurrent',
'browser.tabs.loadDivertedInBackground',
'browser.tabs.loadInBackground',
'browser.tabs.selectOwnerOnClose',
'browser.urlbar.clickSelectsAll',
'browser.urlbar.doubleClickSelectsAll',
'media.flac.enabled',
'media.mediasource.enabled',
'media.mediasource.mp4.enabled',
'media.mediasource.webm.audio.enabled',
'media.mediasource.webm.enabled',
'media.mp4.enabled',
'media.ogg.enabled',
'media.ogg.flac.enabled',
'media.opus.enabled',
'media.raw.enabled',
'media.wave.enabled',
'media.webm.enabled',
'media.wmf.amd.vp9.enabled',
'media.wmf.enabled',
'media.wmf.vp9.enabled',
'ui.submenuDelay',
/* 60-beta - these were all at default anyway */
'device.storage.enabled',
'general.useragent.compatMode.firefox',
'network.dns.blockDotOnion',
'network.stricttransportsecurity.preloadlist',
'security.block_script_with_wrong_mime',
'security.fileuri.strict_origin_policy',
'security.sri.enable',
/* 61-beta */
'browser.laterrun.enabled',
'browser.offline-apps.notify',
'browser.rights.3.shown',
'browser.slowStartup.maxSamples',
'browser.slowStartup.notificationDisabled',
'browser.slowStartup.samples',
'browser.storageManager.enabled',
'dom.allow_scripts_to_close_windows',
'dom.disable_window_flip',
'network.http.fast-fallback-to-IPv4',
'offline-apps.quota.warn',
'services.blocklist.signing.enforced',
/* 62-beta */
'browser.urlbar.autoFill.typed',
'security.tls.version.fallback-limit',
/* 63-beta */
'extensions.webextensions.keepStorageOnUninstall',
'extensions.webextensions.keepUuidOnUninstall',
'privacy.trackingprotection.ui.enabled',
/* 64-beta */
'browser.eme.ui.enabled',
'browser.sessionstore.max_windows_undo',
'network.auth.subresource-img-cross-origin-http-auth-allow',
'media.peerconnection.ice.tcp',
'media.peerconnection.identity.enabled',
'media.peerconnection.identity.timeout',
'media.peerconnection.turn.disable',
'media.peerconnection.use_document_iceservers',
'media.peerconnection.video.enabled',
'media.navigator.video.enabled',
/* 65-beta */
'browser.contentblocking.enabled',
'browser.urlbar.maxHistoricalSearchSuggestions',
/* 67-beta */
'app.update.service.enabled',
'app.update.silent',
'app.update.staging.enabled',
'browser.cache.disk.capacity',
'browser.cache.disk.smart_size.enabled',
'browser.cache.disk.smart_size.first_run',
'browser.cache.offline.insecure.enable',
'browser.safebrowsing.provider.google.reportMalwareMistakeURL',
'browser.safebrowsing.provider.google.reportPhishMistakeURL',
'browser.safebrowsing.provider.google.reportURL',
'browser.safebrowsing.provider.google4.dataSharing.enabled',
'browser.safebrowsing.provider.google4.dataSharingURL',
'browser.safebrowsing.provider.google4.reportMalwareMistakeURL',
'browser.safebrowsing.provider.google4.reportPhishMistakeURL',
'browser.safebrowsing.provider.google4.reportURL',
'browser.safebrowsing.reportPhishURL',
'browser.sessionhistory.max_total_viewers',
'browser.urlbar.filter.javascript',
'canvas.capturestream.enabled',
'dom.imagecapture.enabled',
'dom.popup_maximum',
'gfx.offscreencanvas.enabled',
'javascript.options.shared_memory',
'media.gmp-gmpopenh264.autoupdate',
'media.gmp-gmpopenh264.enabled',
'media.gmp-manager.updateEnabled',
'media.gmp-manager.url',
'media.gmp-manager.url.override',
'media.gmp.trial-create.enabled',
'media.gmp-widevinecdm.autoupdate',
'network.cookie.leave-secure-alone',
'network.cookie.same-site.enabled',
'network.dnsCacheEntries',
'network.dnsCacheExpiration',
'network.proxy.autoconfig_url.include_path',
'pdfjs.enableWebGL',
'plugin.default.state',
'plugin.defaultXpi.state',
'plugin.scan.plid.all',
'security.data_uri.block_toplevel_data_uri_navigations',
'security.insecure_field_warning.contextual.enabled',
'security.insecure_password.ui.enabled',
'signon.autofillForms.http',
'signon.storeWhenAutocompleteOff',
'xpinstall.whitelist.required',
/* 67-beta: Blocklist, SB & TP cleanup: these were all inactive */
'browser.safebrowsing.downloads.remote.block_dangerous',
'browser.safebrowsing.downloads.remote.block_dangerous_host',
'browser.safebrowsing.blockedURIs.enabled',
'browser.safebrowsing.provider.google.gethashURL',
'browser.safebrowsing.provider.google.updateURL',
'browser.safebrowsing.provider.google4.gethashURL',
'browser.safebrowsing.provider.google4.updateURL',
'browser.safebrowsing.provider.mozilla.gethashURL',
'browser.safebrowsing.provider.mozilla.updateURL',
'browser.urlbar.userMadeSearchSuggestionsChoice',
'privacy.trackingprotection.annotate_channels',
'privacy.trackingprotection.lower_network_priority',
'privacy.trackingprotection.pbmode.enabled',
'services.blocklist.addons.collection',
'services.blocklist.gfx.collection',
'services.blocklist.onecrl.collection',
'services.blocklist.plugins.collection',
'services.blocklist.update_enabled',
'urlclassifier.trackingTable',
/* 68-beta */
'dom.forms.datetime',
'font.blacklist.underline_offset',
'font.name.monospace.x-unicode',
'font.name.monospace.x-western',
'font.name.sans-serif.x-unicode',
'font.name.sans-serif.x-western',
'font.name.serif.x-unicode',
'font.name.serif.x-western',
'layout.css.font-loading-api.enabled',
'toolkit.telemetry.cachedClientID',
/* 69-beta */
'plugin.sessionPermissionNow.intervalInMinutes',
/* 70-beta */
'browser.cache.disk_cache_ssl',
'browser.sessionhistory.max_entries',
'dom.push.connection.enabled',
'dom.push.serverURL',
'extensions.getAddons.discovery.api_url',
'extensions.htmlaboutaddons.discover.enabled',
'extensions.webservice.discoverURL',
'intl.locale.requested',
'intl.regional_prefs.use_os_locales',
'privacy.usercontext.about_newtab_segregation.enabled',
'security.insecure_connection_icon.pbmode.enabled',
'security.insecure_connection_text.pbmode.enabled',
'webgl.dxgl.enabled',
/* 71-beta */
'media.block-autoplay-until-in-foreground',
'middlemouse.paste',
/* 75-beta */
'browser.search.geoip.url',
'browser.search.region',
/* 79-beta */
'browser.urlbar.usepreloadedtopurls.enabled',
/* 82-beta */
'dom.IntersectionObserver.enabled',
'extensions.screenshots.upload-disabled',
'privacy.partition.network_state',
'security.ssl3.dhe_rsa_aes_128_sha',
'security.ssl3.dhe_rsa_aes_256_sha',
/* 84-beta */
'browser.newtabpage.activity-stream.asrouter.providers.snippets',
/* 85-beta */
'network.http.redirection-limit',
/* 86-beta */
'media.gmp-widevinecdm.visible',
/* 87-beta */
'browser.send_pings.require_same_host',
/* 88-beta */
'webgl.min_capability_mode',
/* 89-beta */
'security.ssl.enable_ocsp_stapling',
/* reset parrot: check your open about:config after running the script */ /* reset parrot: check your open about:config after running the script */
'_user.js.parrot' '_user.js.parrot'
] ];
if("undefined" === typeof(Services)) { console.clear();
alert("about:config needs to be the active tab!");
return;
}
let c = 0; let c = 0;
for (let i = 0, len = ops.length; i < len; i++) { for (const sPname of aPREFS) {
if (Services.prefs.prefHasUserValue(ops[i])) { if (Services.prefs.prefHasUserValue(sPname)) {
Services.prefs.clearUserPref(ops[i]); Services.prefs.clearUserPref(sPname);
if (!Services.prefs.prefHasUserValue(ops[i])) { if (!Services.prefs.prefHasUserValue(sPname)) {
console.log("reset", ops[i]); console.info('reset', sPname);
c++; c++;
} else { console.log("failed to reset", ops[i]); } } else console.warn('failed to reset', sPname);
} }
} }
focus(); focus();
let d = (c==1) ? " pref" : " prefs"; const d = (c==1) ? ' pref' : ' prefs';
if (c > 0) { alert(c ? 'successfully reset ' + c + d + "\n\nfor details check the console" : 'nothing to reset');
alert("successfully reset " + c + d + "\n\nfor details check the Browser Console (Ctrl+Shift+J)");
} else { alert("nothing to reset"); } return 'all done';
})(); })();

View File

@ -1,4 +1,3 @@
/*** arkenfox user.js troubleshooter.js v1.6.3 ***/ /*** arkenfox user.js troubleshooter.js v1.6.3 ***/
(function() { (function() {

View File

@ -41,9 +41,9 @@ ESR=false
# Download method priority: curl -> wget # Download method priority: curl -> wget
DOWNLOAD_METHOD='' DOWNLOAD_METHOD=''
if [[ $(command -v 'curl') ]]; then if command -v curl >/dev/null; then
DOWNLOAD_METHOD='curl --max-redirs 3 -so' DOWNLOAD_METHOD='curl --max-redirs 3 -so'
elif [[ $(command -v 'wget') ]]; then elif command -v wget >/dev/null; then
DOWNLOAD_METHOD='wget --max-redirect 3 --quiet -O' DOWNLOAD_METHOD='wget --max-redirect 3 --quiet -O'
else else
echo -e "${RED}This script requires curl or wget.\nProcess aborted${NC}" echo -e "${RED}This script requires curl or wget.\nProcess aborted${NC}"
@ -123,7 +123,7 @@ readIniFile () { # expects one argument: absolute path of profiles.ini
declare -r inifile="$1" declare -r inifile="$1"
# tempIni will contain: [ProfileX], Name=, IsRelative= and Path= (and Default= if present) of the only (if) or the selected (else) profile # tempIni will contain: [ProfileX], Name=, IsRelative= and Path= (and Default= if present) of the only (if) or the selected (else) profile
if [ $(grep -c '^\[Profile' "${inifile}") -eq "1" ]; then ### only 1 profile found if [ "$(grep -c '^\[Profile' "${inifile}")" -eq "1" ]; then ### only 1 profile found
tempIni="$(grep '^\[Profile' -A 4 "${inifile}")" tempIni="$(grep '^\[Profile' -A 4 "${inifile}")"
else else
echo -e "Profiles found:\n" echo -e "Profiles found:\n"
@ -176,7 +176,7 @@ getProfilePath () {
# Returns the version number of a updater.sh file # Returns the version number of a updater.sh file
get_updater_version() { get_updater_version() {
echo $(sed -n '5 s/.*[[:blank:]]\([[:digit:]]*\.[[:digit:]]*\)/\1/p' "$1") echo "$(sed -n '5 s/.*[[:blank:]]\([[:digit:]]*\.[[:digit:]]*\)/\1/p' "$1")"
} }
# Update updater.sh # Update updater.sh
@ -185,13 +185,13 @@ get_updater_version () {
# -d: New version will not be looked for and update will not occur # -d: New version will not be looked for and update will not occur
# -u: Check for update, if available, execute without asking # -u: Check for update, if available, execute without asking
update_updater() { update_updater() {
[ $UPDATE = 'no' ] && return 0 # User signified not to check for updates [ "$UPDATE" = 'no' ] && return 0 # User signified not to check for updates
declare -r tmpfile="$(download_file 'https://raw.githubusercontent.com/arkenfox/user.js/master/updater.sh')" declare -r tmpfile="$(download_file 'https://raw.githubusercontent.com/arkenfox/user.js/master/updater.sh')"
[ -z "${tmpfile}" ] && echo -e "${RED}Error! Could not download updater.sh${NC}" && return 1 # check if download failed [ -z "${tmpfile}" ] && echo -e "${RED}Error! Could not download updater.sh${NC}" && return 1 # check if download failed
if [[ $(get_updater_version "$SCRIPT_FILE") < $(get_updater_version "${tmpfile}") ]]; then if [[ $(get_updater_version "$SCRIPT_FILE") < $(get_updater_version "${tmpfile}") ]]; then
if [ $UPDATE = 'check' ]; then if [ "$UPDATE" = 'check' ]; then
echo -e "There is a newer version of updater.sh available. ${RED}Update and execute Y/N?${NC}" echo -e "There is a newer version of updater.sh available. ${RED}Update and execute Y/N?${NC}"
read -p "" -n 1 -r read -p "" -n 1 -r
echo -e "\n\n" echo -e "\n\n"
@ -212,7 +212,7 @@ update_updater () {
# Returns version number of a user.js file # Returns version number of a user.js file
get_userjs_version() { get_userjs_version() {
[ -e $1 ] && echo "$(sed -n '4p' "$1")" || echo "Not detected." [ -e "$1" ] && echo "$(sed -n '4p' "$1")" || echo "Not detected."
} }
add_override() { add_override() {
@ -246,16 +246,16 @@ update_userjs () {
echo -e "Please observe the following information: echo -e "Please observe the following information:
Firefox profile: ${ORANGE}$(pwd)${NC} Firefox profile: ${ORANGE}$(pwd)${NC}
Available online: ${ORANGE}$(get_userjs_version $newfile)${NC} Available online: ${ORANGE}$(get_userjs_version "$newfile")${NC}
Currently using: ${ORANGE}$(get_userjs_version user.js)${NC}\n\n" Currently using: ${ORANGE}$(get_userjs_version user.js)${NC}\n\n"
if [ $CONFIRM = 'yes' ]; then if [ "$CONFIRM" = 'yes' ]; then
echo -e "This script will update to the latest user.js file and append any custom configurations from user-overrides.js. ${RED}Continue Y/N? ${NC}" 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 read -p "" -n 1 -r
echo -e "\n" echo -e "\n"
if [[ $REPLY =~ ^[Nn]$ ]]; then if [[ $REPLY =~ ^[Nn]$ ]]; then
echo -e "${RED}Process aborted${NC}" echo -e "${RED}Process aborted${NC}"
rm $newfile rm "$newfile"
return 1 return 1
fi fi
fi fi
@ -269,7 +269,7 @@ update_userjs () {
# backup user.js # backup user.js
mkdir -p userjs_backups mkdir -p userjs_backups
local bakname="userjs_backups/user.js.backup.$(date +"%Y-%m-%d_%H%M")" local bakname="userjs_backups/user.js.backup.$(date +"%Y-%m-%d_%H%M")"
[ $BACKUP = 'single' ] && bakname='userjs_backups/user.js.backup' [ "$BACKUP" = 'single' ] && bakname='userjs_backups/user.js.backup'
cp user.js "$bakname" &>/dev/null cp user.js "$bakname" &>/dev/null
mv "${newfile}" user.js mv "${newfile}" user.js
@ -295,19 +295,19 @@ update_userjs () {
past_nocomments='userjs_diffs/past_userjs.txt' past_nocomments='userjs_diffs/past_userjs.txt'
current_nocomments='userjs_diffs/current_userjs.txt' current_nocomments='userjs_diffs/current_userjs.txt'
remove_comments $pastuserjs $past_nocomments remove_comments "$pastuserjs" "$past_nocomments"
remove_comments user.js $current_nocomments remove_comments user.js "$current_nocomments"
diffname="userjs_diffs/diff_$(date +"%Y-%m-%d_%H%M").txt" diffname="userjs_diffs/diff_$(date +"%Y-%m-%d_%H%M").txt"
diff=$(diff -w -B -U 0 $past_nocomments $current_nocomments) diff=$(diff -w -B -U 0 "$past_nocomments" "$current_nocomments")
if [ ! -z "$diff" ]; then if [ -n "$diff" ]; then
echo "$diff" > "$diffname" echo "$diff" > "$diffname"
echo -e "Status: ${GREEN}A diff file was created:${NC} ${PWD}/${diffname}" echo -e "Status: ${GREEN}A diff file was created:${NC} ${PWD}/${diffname}"
else else
echo -e "Warning: ${ORANGE}Your new user.js file appears to be identical. No diff file was created.${NC}" echo -e "Warning: ${ORANGE}Your new user.js file appears to be identical. No diff file was created.${NC}"
[ $BACKUP = 'multiple' ] && rm $bakname &>/dev/null [ "$BACKUP" = 'multiple' ] && rm "$bakname" &>/dev/null
fi fi
rm $past_nocomments $current_nocomments $pastuserjs &>/dev/null rm "$past_nocomments" "$current_nocomments" "$pastuserjs" &>/dev/null
fi fi
[ "$VIEW" = true ] && open_file "${PWD}/user.js" [ "$VIEW" = true ] && open_file "${PWD}/user.js"
@ -319,7 +319,7 @@ update_userjs () {
if [ $# != 0 ]; then if [ $# != 0 ]; then
# Display usage if first argument is -help or --help # Display usage if first argument is -help or --help
if [ $1 = '--help' ] || [ $1 = '-help' ]; then if [ "$1" = '--help' ] || [ "$1" = '-help' ]; then
usage usage
else else
while getopts ":hp:ludsno:bcvre" opt; do while getopts ":hp:ludsno:bcvre" opt; do
@ -363,7 +363,7 @@ if [ $# != 0 ]; then
r) r)
tfile="$(download_file 'https://raw.githubusercontent.com/arkenfox/user.js/master/user.js')" tfile="$(download_file 'https://raw.githubusercontent.com/arkenfox/user.js/master/user.js')"
[ -z "${tfile}" ] && echo -e "${RED}Error! Could not download user.js${NC}" && exit 1 # check if download failed [ -z "${tfile}" ] && echo -e "${RED}Error! Could not download user.js${NC}" && exit 1 # check if download failed
mv $tfile "${tfile}.js" mv "$tfile" "${tfile}.js"
echo -e "${ORANGE}Warning: user.js was saved to temporary file ${tfile}.js${NC}" echo -e "${ORANGE}Warning: user.js was saved to temporary file ${tfile}.js${NC}"
open_file "${tfile}.js" open_file "${tfile}.js"
exit 0 exit 0
@ -382,7 +382,7 @@ if [ $# != 0 ]; then
fi fi
show_banner show_banner
update_updater $@ update_updater "$@"
getProfilePath # updates PROFILE_PATH or exits on error getProfilePath # updates PROFILE_PATH or exits on error
cd "$PROFILE_PATH" && update_userjs cd "$PROFILE_PATH" && update_userjs

1758
user.js

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB