1
0
mirror of https://github.com/arkenfox/user.js.git synced 2026-06-16 01:12:52 +05:30

Compare commits

...

546 Commits

Author SHA1 Message Date
Thorin-Oakenpants db04bc44f2 some inactive prefs at default since 102+
- dom.vr.enabled - false FF97+
- network.http.altsvc.oe - false FF94+
- dom.netinfo.enabled - android joined desktop as false FF99+
- browser.tabs.warnOnClose - falsefalse FF94+
2022-10-04 17:34:45 +00:00
Thorin-Oakenpants 4e3a64b5a1 v105 (#1541) 2022-10-04 17:15:19 +00:00
Thorin-Oakenpants 958acf9c2e activity-stream.feeds.discoverystreamfeed 2022-10-03 13:47:30 +00:00
Thorin-Oakenpants 95ecd3e328 browser.newtab.preload 2022-10-03 07:18:30 +00:00
Thorin-Oakenpants 4bc98005ec activity-stream.feeds.snippets 2022-10-01 20:33:58 +00:00
fxbrit 3f09afdee0 Merge pull request #1527 from arkenfox/Thorin-Oakenpants-patch-1
v104
2022-09-11 12:46:23 +02:00
Thorin-Oakenpants 3c73bc1e56 2720: add APS 2022-09-11 02:39:08 +00:00
Thorin-Oakenpants e38f02bc22 add extra bugzilla 2022-08-28 00:31:59 +00:00
Thorin-Oakenpants 74be763f60 add OCSP hard-fail error code 2022-08-24 05:53:46 +00:00
Thorin-Oakenpants 5780b6d197 move Form Autofill to 5000s 2022-08-23 17:51:35 +00:00
Thorin-Oakenpants 06bfef8fd1 extensions.formautofill
add migrated prefs for completeness - see comment in https://github.com/arkenfox/user.js/commit/d040b95ed293548cbdff13c0c10367807ac0ec30
2022-08-23 17:33:55 +00:00
Thorin-Oakenpants d040b95ed2 also reset the prefs migrated to
.supported also hides/shows the UI. There is no need for this, it is overkill (and users might never be able to work out how to get them back). The .enabled prefs are enough to toggle the checkboxes IF they show based on .supportedCountries (which relies on browser.search.region)
2022-08-23 17:29:47 +00:00
Thorin-Oakenpants 61f01f81fd tidy 2022-08-23 16:53:27 +00:00
Thorin-Oakenpants 2b2e151f45 extensions.formautofill
https://bugzilla.mozilla.org/1745248 - migrated to .supported in FF99
2022-08-23 16:52:38 +00:00
Thorin-Oakenpants ff8d63f7e4 remove dead prefs
https://bugzilla.mozilla.org/show_bug.cgi?id=1745248 - they migrated to `.supported` prefs (values detect or off)
2022-08-23 16:42:32 +00:00
Thorin-Oakenpants 848290898d svg opentype fonts -> optional, see #1529 2022-08-22 16:02:07 +00:00
Thorin-Oakenpants 05abe82136 v105
partition SWers by default: https://bugzilla.mozilla.org/show_bug.cgi?id=1784900
2022-08-18 20:12:42 +00:00
Thorin-Oakenpants 0dba33688f v103 (#1508) 2022-08-17 19:24:38 +00:00
Thorin-Oakenpants 6e53e841f7 security.pki.sha1_enforcement_level 2022-07-31 10:50:24 +00:00
earthlng ecb63e82c9 Update prefsCleaner.sh 2022-07-30 12:23:27 +00:00
xfzv ded7c01a08 Back up prefs.js to prefsjs_backups directory (#1514) 2022-07-30 12:22:32 +00:00
earthlng 996881aef1 Update updater.sh 2022-07-24 13:11:28 +00:00
Brad Smith 4b4248157a make updater.sh check explicitly for Y/y instead of N/n (#1511)
thanks @infinitewarp
2022-07-24 13:10:06 +00:00
Thorin-Oakenpants a5e75c4bd3 fixup network.cookie.lifetimePolicy
migration code was backed out in FF102.1
2022-07-18 11:27:05 +00:00
Thorin-Oakenpants c6ab6c4b48 v102.1 (#1507)
revert back to relying on network.cookie.lifetimePolicy
2022-07-18 10:38:43 +00:00
Thorin-Oakenpants ceacc9dd74 v102 (#1477) 2022-07-02 00:43:25 +00:00
Thorin-Oakenpants d466cf694e two password prefs
https://bugzilla.mozilla.org/1767099
2022-07-01 08:15:39 +00:00
Thorin-Oakenpants 3fcc711c5a network.cookie.lifetimePolicy
https://bugzilla.mozilla.org/buglist.cgi?bug_id=1681493,1681495,1681498,1759665
2022-07-01 02:42:16 +00:00
Thorin-Oakenpants c21b9faefc dom.storage.next_gen 2022-06-14 07:01:01 +00:00
Thorin-Oakenpants 1a899966a9 v101 (#1443) 2022-06-12 13:38:27 +00:00
Thorin-Oakenpants 36c942e887 browser.urlbar.trimURLs
see #1473
2022-06-12 12:45:13 +00:00
Thorin-Oakenpants 662eddbc21 network.cookie.thirdparty 2022-06-01 13:51:19 +00:00
Thorin-Oakenpants ea139e3ef8 long standing defaults
- FF79+ dom.targetBlankNoOpener.enabled - https://bugzilla.mozilla.org/show_bug.cgi?id=1522083
- FF86+ privacy.window.name.update.enabled - https://bugzilla.mozilla.org/show_bug.cgi?id=1685089
2022-05-09 19:25:18 +00:00
Thorin-Oakenpants d6b26e7558 v100 (#1423) 2022-05-09 18:49:38 +00:00
Thorin-Oakenpants 7ff46e02dd v100 deprecated
https://bugzilla.mozilla.org/1752621 - replaced with network.http.http2* prefs
2022-05-05 23:33:44 +00:00
fabrizio 4ff931781a Merge pull request #1419 from arkenfox/v99
v99
2022-04-09 09:45:45 +00:00
Thorin-Oakenpants 9aae0a62b0 tidy deprecated, misc RFP changes 2022-04-08 21:30:22 +00:00
Thorin-Oakenpants eb98f06d69 security.csp.enable
https://bugzilla.mozilla.org/1754301
2022-04-08 21:28:16 +00:00
fxbrit 81561840a1 deprecate security.csp.enable 2022-04-08 11:43:39 +02:00
i-c-u-p 64bc683c3f Made prefsCleaner.sh executable (#1416)
Changed permissions of prefsCleaner.sh from 644 to 755 to be able to run it via "./prefsCleaner.sh" with out first executing "chmod +x prefsCleaner.sh".
2022-04-08 07:03:43 +00:00
earthlng b4225baaf2 Update updater.sh 2022-03-19 07:47:46 +00:00
matthias-z e00497fd51 Fix newline issue when downloading files in updater.sh (#1397) 2022-03-19 07:46:08 +00:00
Thorin-Oakenpants d9af90d05f v98 (#1372) 2022-03-10 00:44:10 +00:00
Thorin-Oakenpants 0d83307b14 Update troubleshooting-help.md 2022-02-27 10:44:04 +00:00
Thorin-Oakenpants 4f3f789f28 Add files via upload 2022-02-25 23:15:01 +13:00
Thorin-Oakenpants 6b6ed86b6c Update troubleshooting-help.md 2022-02-24 00:26:15 +00:00
Thorin-Oakenpants 382b9181df Add files via upload 2022-02-20 19:00:32 +13:00
Thorin-Oakenpants ba052105de Add files via upload 2022-02-14 05:38:13 +13:00
Thorin-Oakenpants 4bd17611df Update troubleshooting-help.md 2022-02-13 13:11:55 +00:00
Thorin-Oakenpants 41468d0d0b Update troubleshooting-help.md 2022-02-13 13:11:26 +00:00
Thorin-Oakenpants a98b73c64e v97 (#1346) 2022-02-13 11:15:00 +00:00
Thorin-Oakenpants 58e2618b9d dom.securecontext.whitelist_onions
replaced by dom.securecontext.allowlist_onions - https://bugzilla.mozilla.org/1744006
2022-02-09 20:00:43 +00:00
Thorin-Oakenpants d61da93aad Update troubleshooting-help.md 2022-02-06 15:30:25 +00:00
Thorin-Oakenpants 562127be87 Update troubleshooting-help.md 2022-02-06 15:27:50 +00:00
xfzv 917e3fe1aa Update wiki link for updater options (#1364) 2022-02-06 12:23:20 +00:00
Thorin-Oakenpants 89bee0e361 Add files via upload 2022-01-31 03:08:22 +13:00
Thorin-Oakenpants 4c74f1bffb Update README.md 2022-01-30 08:53:08 +00:00
Thorin-Oakenpants 0d9de9174a Update README.md 2022-01-30 03:23:06 +00:00
Thorin-Oakenpants 45043537d8 Update README.md 2022-01-30 03:20:59 +00:00
Thorin-Oakenpants cc7ca9d0fa cleanup dead images (#1353) 2022-01-29 05:24:41 +00:00
fabrizio 10044fcaf7 typos #1342 (#1343) 2022-01-22 01:49:48 +00:00
Thorin-Oakenpants ac0820a5dc add last bits about ETP Strict/dFPI, closes #1337 2022-01-21 03:48:06 +00:00
Thorin-Oakenpants 83b6d64e67 security.insecure_connection_text.enabled
AF has been using HTTPS-Only mode since v84, the interstitial is more than ample, padlock is still marked as insecure
2022-01-16 02:36:08 +00:00
Thorin-Oakenpants b5bf2ee017 oophs, add removed item from last commit to 6050 2022-01-16 02:34:21 +00:00
Thorin-Oakenpants 09d62d2302 remove 1273: "not Secure" text on insecure sites
AF has been using HTTPS-Only mode since v84, the interstitial is more than ample, padlock is still marked as insecure
2022-01-16 02:31:57 +00:00
Thorin-Oakenpants 7a4676fe2d make 1601 setup tag more explicit, closes #1326 2022-01-15 05:25:11 +00:00
Thorin-Oakenpants bc2aba3829 move last update pref to personal 2022-01-12 05:25:31 +00:00
Thorin-Oakenpants 926a2d4ac8 v96 deprecated, #1325
also tidy the description to reflect that the setting is hidden
2022-01-12 05:09:17 +00:00
Thorin-Oakenpants ab7380c93b HoM: tweak background request info 2022-01-11 09:21:37 +00:00
Thorin-Oakenpants 06b8d8bfa3 move 0362 to don't touch 2022-01-07 17:29:26 +00:00
Thorin-Oakenpants 7016c2050d move TLS 1.0/1.1 downgrades to don't bother
https://bugzilla.mozilla.org/show_bug.cgi?id=1745678
2021-12-30 03:15:56 +00:00
Thorin-Oakenpants 2787da7f90 Update README.md 2021-12-24 06:04:38 +00:00
Thorin-Oakenpants 7e18f8b473 tweak 2011
- FF85+ switched to using application regional locale
   - go to about:support > Internationalization & Localization (almost at the very end)
   - look at Application > Regional Preferences
- add test
2021-12-24 06:01:41 +00:00
Thorin-Oakenpants d2510b014d move updates to personal
updating (app, extensions, ext cache) is not a privacy issue
- if you're willing to use Firefox but not trust updating, then I have two bricks to sell you: users who wish to disable it (to check changes first etc) and update in a timely manner, then that is on them - including any prompt fatigue
- same goes for extensions: the end-user installed them (and arkenfox only recommends a very select few) - the onus is on the end-user

The remaining ones I will deal with later
2021-12-23 23:42:28 +00:00
Thorin-Oakenpants 87bd8683fa 2022: add browser.eme.ui.enabled
for those who want to remove DRM prompts and have no intention of enabling it
2021-12-23 21:22:41 +00:00
Thorin-Oakenpants d48d3ad29a remove browser.eme.ui.enabled 2021-12-23 21:20:28 +00:00
Thorin-Oakenpants 6675225ec4 make 0301 inactive
auto-updating is not a security nor a privacy risk, by default it should be enabled and it's on end-users if they want to disable it - does not affect windows users
2021-12-23 06:36:39 +00:00
Thorin-Oakenpants bb56056a68 explain 0-RTT 2021-12-15 19:23:03 +00:00
Thorin-Oakenpants 93f0ff89c8 move web notifcations to don't bother 2021-12-15 00:05:03 +00:00
Thorin-Oakenpants 7811e912f4 make push notifications inactive
- they require SWers which are already blocked by virtue of permissions being session only
- also remove "dom.push.userAgentID" as this means prefsCleaner resets it and would wipe user's subscriptions
   - not adding "dom.push.userAgentID" to the cleanup script for the same reason
2021-12-14 13:25:46 +00:00
Thorin-Oakenpants 238f1545f4 fixup thanks #fxbrit have a 🍥 fish cake 2021-12-13 14:15:25 +00:00
Thorin-Oakenpants c269ac9f7d remove duplicate 2021-12-13 03:49:42 +00:00
Thorin-Oakenpants 78297132b4 fix syntax 2021-12-12 15:44:39 +00:00
Thorin-Oakenpants 8de87de050 update 0704: GIO, closes #1050 (#1300)
https://bugzilla.mozilla.org/show_bug.cgi?id=1666725
2021-12-12 15:41:55 +00:00
Thorin-Oakenpants 8bc25b552d expand 0650 to include any removed item
this should reduce any dependency on the scratchpad script
2021-12-12 15:30:53 +00:00
Thorin-Oakenpants c8c86262d7 enforce SmartBlock shims 2021-12-12 13:51:25 +00:00
Thorin-Oakenpants f836e55363 tidy ETP stuff 2021-12-12 13:31:01 +00:00
Thorin-Oakenpants 8cdb30cc08 make cookie pref active
@SkewedZeppelin ... https://github.com/arkenfox/user.js/issues/1051#issuecomment-991806497
2021-12-12 00:26:12 +00:00
Thorin-Oakenpants 54810e333f typo 2021-12-11 19:17:43 +00:00
Thorin-Oakenpants 7ec13c0323 sharedWorkers tweak
tested in FF91+. Seems as if sharedWorkers no longer requires an explicit `Allow`
2021-12-11 12:22:00 +00:00
Thorin-Oakenpants af109d4696 tweak 7016 2021-12-11 11:15:34 +00:00
Thorin-Oakenpants 460951df9e tidy, add instructions 2021-12-11 09:37:45 +00:00
Thorin-Oakenpants 93874bda43 rename 2021-12-11 09:14:59 +00:00
Thorin-Oakenpants 4ebabbb569 Delete arkenfox-clear-deprecated.js 2021-12-11 09:13:51 +00:00
Thorin-Oakenpants 1f0dc1853d merge scratchpads into one 2021-12-11 09:13:09 +00:00
Thorin-Oakenpants 13e5fe17b1 remove rfpalts (#1288) 2021-12-11 06:56:43 +00:00
Thorin-Oakenpants ec7cb6a491 2702: partition service workers 2021-12-09 17:17:52 +00:00
Thorin-Oakenpants d9f49bdf1f make 7017 clearer 2021-12-09 16:17:53 +00:00
Thorin-Oakenpants d5bc6715cd remove web workers section
farewell parrot
2021-12-09 16:14:36 +00:00
Thorin-Oakenpants 8860c90abf make service workers inactive
currently 3rd party service workers are blocked in FF95 when dFPI is enabled (which this version has should anyone update to 96-alpha)
   - but I get an error even on first party - https://arkenfox.github.io/TZP/tzp.html#storage
   - I get : service worker | test : enabled | failed: SecurityError
in FF96+ service workers they are covered by dFPI
  - see https://bugzilla.mozilla.org/show_bug.cgi?id=1731999
2021-12-09 14:31:41 +00:00
Thorin-Oakenpants 4d5abd6cc3 tweak 8000 title
lets not encourage non-RFP users to see this as a sign to use them
2021-12-09 14:18:25 +00:00
Thorin-Oakenpants de28689e76 flip from FPI to dFPI
I will tidy and expand 2700 entries later
2021-12-09 14:13:39 +00:00
Thorin-Oakenpants 5d508e4242 move LSNG to don't touch 2021-12-09 14:05:47 +00:00
Thorin-Oakenpants 1fc43574d6 move "cookie" permission info into 2801 2021-12-09 14:00:21 +00:00
Thorin-Oakenpants 83602baa38 misc site storage/data prefs
been inactive since jesus was a baby
2021-12-09 13:47:57 +00:00
Thorin-Oakenpants 0634a568ef remove redundant site data prefs
we've never used these
- service workers are disabled (or soon to be covered by dFPI when enabled) and sanitizing is already done (or will be done via enhanced cookie cleaning)
- storage API, storage access API: we sanitize on close, and sites are isolated by eTLD+1
2021-12-09 13:45:46 +00:00
Thorin-Oakenpants 97322d6e8b various inactive FPI prefs 2021-12-09 12:31:38 +00:00
Thorin-Oakenpants f7bba92c71 cleanout FPI section
farewell parrot
2021-12-09 12:28:45 +00:00
Thorin-Oakenpants fe75baa79f move DNT to DON'T BOTHER 2021-12-09 11:44:51 +00:00
Thorin-Oakenpants 72cc4d176e 0706: network.proxy.allow_bypass, closes #1292 2021-12-09 11:41:18 +00:00
Thorin-Oakenpants 7e1b92567c 95 final 2021-12-08 12:13:47 +00:00
Thorin-Oakenpants fec5168203 95 deprecated 2021-12-08 04:28:47 +00:00
Thorin-Oakenpants b60a888da3 update WebRTC, closes #1282 2021-12-06 14:45:47 +00:00
Thorin-Oakenpants ec595c3b95 fixup duplicate line 2021-12-05 19:59:33 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants fd860e6c69 flip RFP newwin max values, closes #1286 2021-12-04 10:23:59 +00:00
Thorin-Oakenpants d1d20b897a wiki cleanup (#1289) 2021-12-04 09:36:09 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 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
Thorin-Oakenpants c2ddfd60bf tidy 79-91 removed items 2021-11-28 13:22:46 +00:00
Thorin-Oakenpants 47de4f520b tidy 5505 2021-11-28 09:01:39 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 4b393b9b12 start 95-alpha 2021-11-24 01:09:10 +00:00
Thorin-Oakenpants 6027aaa45d fixup warnOnQuitShortcut 2021-11-23 12:02:50 +00:00
Thorin-Oakenpants cbfb8abf15 94 final 2021-11-23 07:11:43 +00:00
Thorin-Oakenpants 58d0161b67 add warnOnQuitShortcut, closes #1270 2021-11-23 07:05:01 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 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
Thorin-Oakenpants 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
Thorin-Oakenpants 2f88ca2e40 misc
- move DoH so it has room to grow
- tidy privacy.clearOnShutdown, privacy.cpd
2021-11-18 01:28:21 +00:00
Thorin-Oakenpants e2e7f9c647 font vis changes (#1275) 2021-11-16 11:56:20 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 17beb468f1 tweak 1510 default info 2021-11-04 22:44:23 +00:00
Thorin-Oakenpants bd59131d3e default changes, missed one 2021-11-04 22:38:16 +00:00
Thorin-Oakenpants 0f8217ad60 cleanup sanitizing-on-close prefs 2021-11-04 16:18:35 +00:00
Thorin-Oakenpants 1515897449 default changes 2021-11-02 16:07:42 +00:00
Thorin-Oakenpants ba92918d38 don't disable system addon updates, closes #1251 2021-10-26 10:16:42 +00:00
Thorin-Oakenpants 094356e073 0706: add reference 2021-10-25 20:56:18 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 85438d00e4 v93 deprecated 2021-10-12 08:23:46 +00:00
Thorin-Oakenpants a764149520 v92 2021-10-11 13:56:38 +00:00
Thorin-Oakenpants 535346df87 Delete arkenfox-clear-RFP-alternatives.js 2021-10-10 23:55:39 +00:00
Thorin-Oakenpants 412c8f9f94 0807 urlbar contextual suggestions, #1257 2021-10-09 07:14:20 +00:00
Thorin-Oakenpants 380a88ee57 oophs 2021-10-05 11:14:16 +00:00
Thorin-Oakenpants 8404e8a59c tidy, closes #1260 2021-10-05 03:04:14 +00:00
a1346054 6381b1aeb9 prefsCleaner.sh: Fix invalid regular expression (#1258) 2021-09-28 19:24:54 +00:00
a1346054 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
Thorin-Oakenpants b37df0bcfe embiggen 4500, #1218 2021-09-25 02:32:48 +00:00
Thorin-Oakenpants 044e3e76e8 make 0706 more cromulent 2021-09-25 01:47:54 +00:00
Thorin-Oakenpants 1c6d633144 more nits 2021-09-11 05:35:39 +00:00
Thorin-Oakenpants 278336196c nit 2021-09-11 05:31:21 +00:00
Thorin-Oakenpants 76c1aad4be grammar 2021-09-10 13:07:04 +00:00
Thorin-Oakenpants e5c128804c remove locale in link 2021-09-10 05:09:05 +00:00
Thorin-Oakenpants c9956d85b1 92-alpha 2021-09-10 04:32:09 +00:00
Thorin-Oakenpants 524823fd05 proxy direct failover (#1247) 2021-09-07 13:35:32 +00:00
Thorin-Oakenpants 283bfd744a fixup missing 1022 reference 2021-08-29 14:32:37 +00:00
Thorin-Oakenpants a1b4aa6000 add DoH rollout pref, closes #1027 2021-08-29 07:42:24 +00:00
Thorin-Oakenpants a308878b11 finish removal of 500s and cleanup of 300s 2021-08-29 04:50:36 +00:00
Thorin-Oakenpants 453fcd32cb remove 2003, fixes #1245 2021-08-29 04:10:48 +00:00
Thorin-Oakenpants a264eebcb5 screensharing etc 2021-08-29 03:27:46 +00:00
Thorin-Oakenpants 908638c9dc security.mixed_content.block_active_content
default true since at least FF60
2021-08-28 08:39:44 +00:00
Thorin-Oakenpants 7e80231ac5 was 6005: remove mixed active 2021-08-28 08:38:31 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 4b437771fa oophs, thanks @eleius
fixup https://github.com/arkenfox/user.js/commit/3b5255714339cf9726d77853d6166e5a0bc6eb36
2021-08-28 07:11:44 +00:00
Thorin-Oakenpants 4043467ad9 tidy 2021-08-28 06:03:13 +00:00
Thorin-Oakenpants 5ac8fd8f70 0906: tweak, #1243 2021-08-28 05:57:19 +00:00
Thorin-Oakenpants 2cf20c56a7 standardize cross origin/domain 2021-08-28 05:48:54 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 2a9cf32f45 security.insecure_connection_icon.enabled
inactive and default true
2021-08-27 10:39:40 +00:00
Thorin-Oakenpants 08395de188 1273: remove inactive pref 2021-08-27 10:37:54 +00:00
Thorin-Oakenpants 4ac17eaf78 tidy last commit 2021-08-26 06:50:46 +00:00
Thorin-Oakenpants b5a3b54d3f clipboard to don't bother 2021-08-26 06:43:28 +00:00
Thorin-Oakenpants 38dc90a947 dom.allow_cut_copy
https://github.com/arkenfox/user.js/commit/80f69a6f3d1d34f49496064d9199d885a28c6c4f
2021-08-26 06:27:32 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 498a25c759 0806: remove confusing line 2021-08-26 06:04:57 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 5ec4fef4ed dedupe 0808 2021-08-26 05:40:59 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 76c8ecd10d tidy 2021-08-25 15:56:57 +00:00
Thorin-Oakenpants 677b81765f tidy webgl 2021-08-25 15:36:15 +00:00
Thorin-Oakenpants 9f43d48a32 targetBlankNoOpener -> don't touch 2021-08-25 14:09:39 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 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
Thorin-Oakenpants 778421cad4 #1241 2021-08-24 08:59:11 +00:00
Thorin-Oakenpants 35ccaff58e calrify password prompt, #1241 2021-08-24 08:52:12 +00:00
Thorin-Oakenpants 69132b588f 7000s: mathml, svg, #1235 2021-08-24 05:43:38 +00:00
Thorin-Oakenpants 51748ea25a leverage cve keyword 2021-08-24 03:09:33 +00:00
Thorin-Oakenpants 269cf965bd renumber 1700s 2021-08-23 10:03:13 +00:00
Thorin-Oakenpants b177c73f0d typo
technically it's "or" - FPI overrides network partitioning
2021-08-23 09:47:34 +00:00
Thorin-Oakenpants 613e55ae8c 7000s: add MOAR; renumber 0700s, #1235 2021-08-23 09:42:21 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 9f08c7c0f4 7000s: referer policy #1235
and re-number 1600s
2021-08-23 06:04:19 +00:00
Thorin-Oakenpants 05b7d61735 7000s: non cross origin referers 2021-08-23 04:54:49 +00:00
Thorin-Oakenpants e31a6876e6 section 6000 2021-08-23 04:40:29 +00:00
Thorin-Oakenpants 47be7ba42f 1203 is a reset not enforce 2021-08-23 04:08:49 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants ab42deb541 Four more items to 7000s, #1235 2021-08-23 02:55:36 +00:00
icpantsparti 8a22a90804 colon insertion (#1238) 2021-08-22 16:23:51 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants cf379bcce0 typos 2021-08-22 05:45:08 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 8bfee5b59f hardware acceleration
see https://github.com/arkenfox/user.js/commit/04d648d55b4aeff5aada935356b59031ab75b482
2021-08-22 01:55:28 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 7cdc76ecf9 dom.vibrator.enabled
see https://github.com/arkenfox/user.js/commit/aded0707a4ad6c91f68d81d5b0fc75578d5aa048
2021-08-21 04:40:11 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 2a011f1053 media.media-capabilities.enabled
see https://github.com/arkenfox/user.js/commit/213467d91bb1bc4f5c517c2d542b11fe41422387
2021-08-21 03:23:17 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants da0c291127 update to ESR91 2021-08-21 02:26:17 +00:00
Thorin-Oakenpants 27ce48f319 trim fluff 2021-08-21 02:00:43 +00:00
Thorin-Oakenpants 37ded2a519 remove redundant warning 2021-08-20 14:10:09 +00:00
Thorin-Oakenpants c9bdceb8d6 1244: fix no upgrade test 2021-08-20 13:23:59 +00:00
Thorin-Oakenpants 95136382e1 improve 1244, closes #1047 again 2021-08-20 13:18:43 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 2d3d8ae5b0 alerts.showFavicons 2021-08-20 03:12:59 +00:00
Thorin-Oakenpants cef08b63f1 4520 -> personal 2021-08-20 02:52:55 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 5ab3c47b6b 7001: tweak
F11 has nothing to do with the API or why
2021-08-19 15:26:22 +00:00
Thorin-Oakenpants 45c52b6620 start section 7000s 2021-08-19 14:44:06 +00:00
Thorin-Oakenpants 93f6aea06a 1605: change to active enforced 2021-08-19 13:17:07 +00:00
Thorin-Oakenpants 00fa8f1b50 general.warnOnAboutConfig
https://github.com/arkenfox/user.js/commit/ac84da2af4b1c9454b3d97a93e67d58b1f448c38
2021-08-19 02:14:23 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 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
Thorin-Oakenpants 7264271063 rusty-snake improvements, #1235 2021-08-19 00:15:30 +00:00
Thorin-Oakenpants dc63a752a5 tidy 0300 + 0301 2021-08-18 13:55:41 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 2ce269362e dom.battery.enabled 2021-08-18 12:40:27 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 679648b33e RFP info tweak 2021-08-18 09:03:16 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants e7e6cfffe8 0503: tidy 2021-08-18 07:30:55 +00:00
Thorin-Oakenpants 08e9fb35fd update some references 2021-08-18 07:16:19 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 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
Thorin-Oakenpants d7208ccf34 tidy 2021-08-17 03:41:56 +00:00
Thorin-Oakenpants 77410bf86d musical chairs part 2
merge plugins with webrtc (camera + mic) and "media"
2021-08-17 03:08:48 +00:00
Thorin-Oakenpants 1d63e836ee musical chairs part 1
- move 2200s into respective sections
- move FPing items into 2500s
2021-08-17 02:52:19 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 51e388ae86 dom.storage.enabled 2021-08-16 15:06:06 +00:00
Thorin-Oakenpants e7872b193b !yoda
no bytes were harmed in the making of this commit
2021-08-16 04:22:46 +00:00
Thorin-Oakenpants 8d6ee7c0c7 oophs 2021-08-16 04:18:12 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants dcc736bb85 I meant 14 lines, u lucky bastards 2021-08-16 04:03:56 +00:00
Thorin-Oakenpants 68568c1abf trim 1198 bytes (u lucky bastards!) + 13 lines 2021-08-16 04:02:15 +00:00
Thorin-Oakenpants 1b33f574bb RFP stuff 2021-08-14 04:44:50 +00:00
Thorin-Oakenpants 568a05ad7d 2502: trim
this info is useless .. save three lines
2021-08-14 04:18:04 +00:00
icpantsparti c45094fdd9 nits! (edit 2 typos) (#1232) 2021-08-11 20:56:51 +00:00
Thorin-Oakenpants c3b7f7538c i do not like mixed case lists 2021-08-10 01:21:04 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants d19d4ba784 final update
in hindsight, the original name is more accurate
2021-08-09 20:42:51 +00:00
Thorin-Oakenpants dd112a167d final update 2021-08-09 20:39:47 +00:00
Thorin-Oakenpants 92b7fb81d0 fixup STATS year 2021-08-04 18:45:15 +00:00
Thorin-Oakenpants 404d1d466a update [STATS]
- just in time for ESR91
2021-08-04 17:23:38 +00:00
Thorin-Oakenpants 06e5de4332 tweak windows SSO info/reference 2021-08-04 10:32:33 +00:00
Thorin-Oakenpants eb4363dc18 tweak info in section 2800 header, #1223 2021-08-01 17:36:04 +00:00
Thorin-Oakenpants 5c93ebb54f misc, closes #1220 2021-07-30 05:48:17 +00:00
Thorin-Oakenpants b8f3d93a5c v90 2021-07-26 03:11:09 +00:00
Thorin-Oakenpants f53f01823f 1203 default info 2021-07-24 12:56:27 +00:00
Thorin-Oakenpants 18dbb56a3d put 1203 back
see https://github.com/arkenfox/user.js/commit/3bb9fc713f141d794fc4adfb38d3fcf86c9307ab
2021-07-24 12:51:15 +00:00
Thorin-Oakenpants cc8674c16d revert last commit 2021-07-24 12:49:39 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants f24899fcac cleanup language specific links 2021-07-24 01:04:03 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants babb9f3682 4612: remove outdated confusing line 2021-07-22 03:41:39 +00:00
Thorin-Oakenpants b22e349d44 make 4620 more accurate and match RFP section info 2021-07-20 03:38:49 +00:00
Thorin-Oakenpants bb48fe4ebe RFP: 4612 is not disabled (by default) 2021-07-20 03:34:49 +00:00
Thorin-Oakenpants 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
Thorin-Oakenpants 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
Thorin-Oakenpants 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
Thorin-Oakenpants 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
Thorin-Oakenpants 0da2ecdb4d keep current rather than every ESR 2021-07-08 06:41:59 +00:00
Thorin-Oakenpants 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
earthlng acc1376c37 Update arkenfox-clear-deprecated.js 2021-07-07 14:33:20 +00:00
earthlng 939d75e5eb Update arkenfox-clear-removed.js 2021-07-07 14:25:08 +00:00
earthlng 3b573bf9f0 Update arkenfox-clear-RFP-alternatives.js 2021-07-07 14:15:51 +00:00
earthlng a231c1e90e Update arkenfox-clear-RFP-alternatives.js 2021-07-07 14:10:24 +00:00
Thorin-Oakenpants f229a3cb75 fixup FF90 deprecated (#1207) 2021-07-07 11:51:44 +00:00
Thorin-Oakenpants 981462ee54 FF90 deprecated 2021-07-06 13:26:44 +00:00
Thorin-Oakenpants d940ffb3c6 105c: add "sponsored shortcuts" 2021-07-06 06:32:58 +00:00
Thorin-Oakenpants a6d20eaf5b 1264: update ciphers, fixes #1196 (#1197) 2021-06-23 16:22:10 +00:00
Thorin-Oakenpants b93a5e334c 2510 webaudio -> inactive RFP alts, closes #1194 2021-06-20 12:49:57 +00:00
Thorin-Oakenpants c98606430c move 2505 to RFP alts, closes #1099 2021-06-20 09:29:38 +00:00
Thorin-Oakenpants 12c0631900 4501: remove confusing RFP line 2021-06-16 16:48:14 +00:00
Thorin-Oakenpants efcceaf2c3 enforce non-native widget theme 2021-06-15 09:55:42 +00:00
earthlng 9018577a3e v1.4 (#1189)
- add -s parameter to start immediately / skip prompt / run non-interactive

This is useful if the user wants to automate the process of updating the user.js and cleaning prefs.

- fQuit: error messages to stderr
- fFF_check: info msg to stderr

Better support for suppressing/redirecting stdout while still showing any error messages in the console, useful for example with `prefsCleaner.sh -s >/dev/null`
2021-06-07 11:18:40 +00:00
earthlng 6968b9a369 v3.2 - proper fix for the diff issue
- re-arrange the match patterns to fix the remaining issue of dropping lines after the 9999 block
- make it work on Mac too
- use `|` where possible so we don't need to escape the forward-slashes. That saves a few bytes and makes the pattern easier to read
2021-06-06 21:30:14 +00:00
earthlng ada31d4f50 v3.1 - (mostly) fix diff functionality
see #1188 

this should fix the issue that "All prefs after a multi-line comment declaration, on a single line, are deleted with the remove_comments function from the updater."
2021-06-06 18:01:56 +00:00
Thorin-Oakenpants d973e11714 add instagram word, closes #1184 2021-06-05 17:36:56 +00:00
Thorin-Oakenpants b6d7b2bff5 RFP info tweak 2021-06-01 11:02:30 +00:00
Thorin-Oakenpants 74f804a056 1243: more dead flash 2021-05-25 18:19:22 +00:00
Thorin-Oakenpants f0b5e3649d tidy 2021-05-25 17:46:45 +00:00
Thorin-Oakenpants 9cc132e69d security.ssl.enable_ocsp_stapling
default true since FF26
2021-05-25 17:32:07 +00:00
Thorin-Oakenpants 9419e2faab remove 1210
been default true since FF26 - thanks earthlng
2021-05-25 17:30:40 +00:00
Thorin-Oakenpants 0566ded651 fixup, closes #1174 2021-05-09 17:52:38 +00:00
Thorin-Oakenpants ba9b3c217b tweak 4600s: closes #1172 2021-05-08 14:45:32 +00:00
Thorin-Oakenpants 79c5539edb goodbye flash
The prefs still exist, but won't do anything since most of the NPAPI code has been removed
2021-05-05 16:41:43 +00:00
Thorin-Oakenpants cfd7cd01d1 cleanup 0500s, #1170
- they all have on/off switches
- dxr no longer exists: update URL
- don't recommend users delete files
   - saves two lines
   - they poses zero threat (they have prefs)
   - deleting them can causes unwanted console errors/noise
2021-04-25 11:18:39 +00:00
Thorin-Oakenpants da9f912862 2620: disable pdfjs scripting, v88 final 2021-04-23 14:25:54 +00:00
Thorin-Oakenpants 9930cfbc07 0102: add setup tag #1166 2021-04-17 07:12:20 +00:00
Thorin-Oakenpants 7738e320d5 RFP & Presentation API 2021-04-15 07:10:54 +00:00
Thorin-Oakenpants 9b8735a87a webgl.min_capability_mode 2021-04-08 01:21:14 +00:00
Thorin-Oakenpants 6c10e03ce5 2012: remove webgl.min_capability_mode
as promised in https://github.com/arkenfox/user.js/commit/4596d721e6479aa2341554dc9e21cd999cd704a8
2021-04-08 01:19:42 +00:00
Thorin-Oakenpants 7ad3bb9e61 0702: use a [STATS] tag 2021-04-07 09:44:24 +00:00
Thorin-Oakenpants 5dcf639d33 oophs .. and start 88-alpha 2021-04-07 09:36:56 +00:00
Thorin-Oakenpants 2da3b0192f update HTTP2 stats 2021-04-07 09:36:01 +00:00
Thorin-Oakenpants ada8158caf v87 2021-04-04 20:33:23 +00:00
Thorin-Oakenpants 2071939c5e use [TOR] tags, add 1247
not that we recommend using tor over firefox: but at least the info is there for fiddlers
2021-04-04 14:21:24 +00:00
Thorin-Oakenpants f082278217 1607: save one line and some bytes
and make it even MOAR clear we do NOT support tor over firefox
2021-04-04 14:15:53 +00:00
Thorin-Oakenpants abe37add6e save some overrides, closes #1157
I do not think anyone will bemoan these four "personal" choices
2021-04-04 12:54:17 +00:00
Thorin-Oakenpants bc07ca94c0 1830: add [TEST] 2021-04-04 12:37:17 +00:00
Thorin-Oakenpants 728c962684 2402: potential clipboard leak fixed in FF89+
Thanks @gwarser for testing, creating the bugzilla, being patient, and confirming the fix
2021-04-04 12:01:49 +00:00
Thorin-Oakenpants ca99add006 turn ETP on everywhere
It literally cannot hurt [1], and makes it easier for users to use custom mode with TCP/dFPI. Turning on socialtracking helps gain parity with strict mode

[1] gorhill: https://old.reddit.com/r/firefox/comments/l7xetb/network_priority_for_firefoxs_enhanced_tracking/gl9rn9n/
> All extensions and ETP work in parallel, they all inspect network requests and all make the decision to block or not, hence if they all decide to block, they will all report that they block something. ETP is a bit different than normal extension in that it will give precedence to an extension trying to redirect to a local resource, this ensures ETP works harmoniously with normal extensions.
> 
> Once something is not blocked, it then goes through a DNS query, and the browser waits for the response.
> 
> I will add examples of how ETP + multiple blocker extensions work together when dealing with a network request; let's say "A" and "B" are two different blockers:
> 
>   - ETP=block, A=allow, B=allow: result=block
>   - ETP=allow, A=block, B=allow: result=block
>   - ETP=allow, A=allow, B=redirect: result=redirect
>   - ETP=allow, A=block, B=redirect: result=block
>   - ETP=block, A=allow, B=redirect: result=redirect
> 
> So as you can see, ETP is a bit different than a normal extension in that it won't prevent redirection from happening if ever a network request is redirected by one of the normal extension.
2021-04-04 11:49:07 +00:00
Thorin-Oakenpants f771027138 2720 was removed in FF72
https://bugzilla.mozilla.org/1488583
2021-04-04 11:18:54 +00:00
Thorin-Oakenpants 8f1c0044b9 2701: add cookie behavior 5 2021-04-04 11:07:39 +00:00
Thorin-Oakenpants 87cd828b5b browser.send_pings.require_same_host
redundant/defense-in-depth pref for `browser.send_pings` which is still at default false after six years of watching it (false is what we want)
2021-04-03 14:25:46 +00:00
Thorin-Oakenpants 46ccd9f654 cleanup 0600s
three prefs are default since at least 78, and one pref is redundant for a pref that has been at our default since it was added
2021-04-03 14:20:39 +00:00
Thorin-Oakenpants b1927f9de1 1607 make inactive
Useless, since Firefox doesn't use Tor (and which we don't recommend). It was added for the info factor.
2021-03-27 18:42:52 +00:00
Thorin-Oakenpants b592e0e592 87 deprecated
It is simpler to leave the PointerEvent pref where it is, until ESR78 is EOL
- FF87+ users who use RFP Alts simply add a dead pref, no harm
- This way ESR78 users don't have to worry about extra char flipping: it's the same as before: 1 flip for ESR, 1 flip for RFP Alts
2021-03-27 07:49:14 +00:00
Thorin-Oakenpants 3b6cd93749 1606: default Referrer Policy default 2021-03-27 07:32:19 +00:00
Thorin-Oakenpants 3a24c01f03 0518: enforce no Web Compat Reporter
only stable is false, at the time of writing. but enforcing this for all channels is good, so no-one ends up wasting mozilla resources reporting a compat problem when they've got 200 odd prefs flipped
2021-03-17 14:01:16 +00:00
Thorin-Oakenpants b7c80841a9 tweak defaults (#1140)
- don't differentiate between channels
- both can be made inactive
   - webcompat requires user action: and I don't see this as a bad thing to have in non-stable
   - unsubmitted crashReports on Nightly is probably already covered by killing the URL, so no big deal
2021-03-14 11:21:13 +00:00
earthlng 95645f59a3 Add files via upload 2021-03-11 14:06:38 +00:00
Thorin-Oakenpants 9138e342fd misc (#1136)
- 0000: remove old XUL info, dropped in FF73+
- 0201: save 3 chars
- 0350: add default status for unsubmittedCheck
- 0351: change to enforce: has been default false going back to at least FF60, including current Beta/Dev/Nightly
   - along with 0602 `network.dns.disablePrefetchFromHTTPS` and 0603 `network.predictor.enable-prefetch`, I considered making them inactive, but decided it was good to leave them active for non-stable users just in case they get flipped
- 0515: add default status
- 0850c: remove info: out of date: doesn't work lilke that anymore and can't be assed figuring it out what with megabar and urlbar2 changes
- 0871: make inactive: default false since at least FF60
   - no need to enforce for non-stable in case it is flipped. It's a pretty minor shoulder-surfer privacy issue and the previews are small. If you're not sure what this pref does. On false you get one tab shown, on true you get as many as can fit across your screen. I squeezed in 15, and after that it became a list
- fixup `***/`
- shave off six lines and almost 400 bytes for you bastards
2021-03-10 00:06:30 +00:00
Thorin-Oakenpants 692ed70ea9 remove maintenance of this comment 2021-03-08 01:49:21 +00:00
earthlng 3430507ae4 v3.0 - improve readIniFile() (#1128)
- grep -c equals grep | wc -l
- make output prettier
- work with variable instead of temporary file

+ a few minor changes/cleanup
2021-03-07 13:29:33 +00:00
Thorin-Oakenpants 844f3ce9c8 tidy 2021-03-05 10:15:26 +00:00
Thorin-Oakenpants 03ffb90186 start 87-alpha, also fixes #1129
make all inactive permissions.default = same, blocked
2021-03-02 20:02:41 +00:00
Thorin-Oakenpants 5f9bb59b95 86 final 2021-02-28 20:49:57 +00:00
Thorin-Oakenpants 7163efdd1e 1825: inactive: it is redundant, fixes #1107 2021-02-28 15:57:27 +00:00
Thorin-Oakenpants 65fb24ff1b layout.css.visited_links_enabled
added back to the user.js in https://github.com/arkenfox/user.js/commit/612cfbf3134d8685a1448d9dc2500dd8b91feb6e
2021-02-27 21:20:00 +00:00
Thorin-Oakenpants 612cfbf313 0805: re-add visited links
It can still be used to mitigate social engineering attacks (e.g. using visibility and user clicks), and advanced/targeted scripts
2021-02-27 21:18:17 +00:00
Thorin-Oakenpants 4596d721e6 2012: make webgl.min_capability_mode inactive
- This is too minimal to be of any use, breaks too much (e.g. zoom video)
- Tor browser stopped flipping this (I *think*) about 5 years ago: it certainly hasn't been used in ESR60+ based TB builds, I checked
- we already disable webgl, so making this inactive removes yet another pref users need to flip/troubleshoot
- I will leave it in the user js for a few releases so prefsCleaner will pick it up
2021-02-26 11:39:52 +00:00
Thorin-Oakenpants 911206eed5 5000s: disable ctrl-q quit shortcut FF87+
https://bugzilla.mozilla.org/show_bug.cgi?id=52821 .. 21 years, old enough to drink and vote
2021-02-25 01:22:08 +00:00
Thorin-Oakenpants cb5cdca99d update adding site exceptions
- https://bugzilla.mozilla.org/show_bug.cgi?id=1692553
- also HoM is not Page Info
2021-02-24 22:10:29 +00:00
Thorin-Oakenpants e54ae46537 1204: ssl session ids inactive, closes #1110 2021-02-24 15:11:59 +00:00
Thorin-Oakenpants 7c978d4e70 0708: FTP default FF88+
https://bugzilla.mozilla.org/show_bug.cgi?id=1691890
2021-02-22 20:05:25 +00:00
Thorin-Oakenpants d905b4387d deprecated: put FF86 items in the right place 2021-02-21 20:52:20 +00:00
Thorin-Oakenpants c31c825a74 2212: popup events, fixes DDG
https://bugzilla.mozilla.org/show_bug.cgi?id=1686045
2021-02-18 15:50:37 +00:00
Thorin-Oakenpants 6505a9fefd FF86 deprecated 2021-02-18 15:30:58 +00:00
Thorin-Oakenpants de74f812ee 2012: webgl default FF86+ 2021-02-18 15:00:06 +00:00
Thorin-Oakenpants 82bb3f987d 2604, closes #1111 2021-02-08 07:20:06 +00:00
Thorin-Oakenpants a35a616de7 highlight 1603 (cross origin referer), fixes 1108
especially since we recently hardened it: also added it to the few things highlighted in the wiki
2021-02-04 07:19:28 +00:00
Thorin-Oakenpants ecf99bf9e7 0603: add default value
AFAICT:  false 48-51: true 52-55.0.1/ESR52.1: false ever since
2021-02-03 16:45:34 +00:00
Thorin-Oakenpants cfaf354fe3 oophs, better start 86-alpha 2021-02-02 04:09:50 +00:00
Thorin-Oakenpants 0b51e98d91 media.gmp-widevinecdm.visible, see #1107 2021-02-01 17:25:00 +00:00
Thorin-Oakenpants fa51251235 remove widevine vis pref, see #1107
- It is controlled in both runtime and via user.js by the state of `media.eme.enabled`. Also, who cares about the vis of a ui option
- note, there is no need to add this to the removed scratchpad list
2021-02-01 17:17:16 +00:00
Thorin-Oakenpants 21fcd0bd35 update xul/xhtml config info
- the XUL version is also pre FF71
- the XHTML version was removed in FF87+
2021-02-01 05:14:46 +00:00
Thorin-Oakenpants 96d558dd0c add window.name test 2021-01-31 07:28:05 +00:00
Thorin-Oakenpants b6e8dcab81 fixup spelling mistake 2021-01-30 00:28:28 +00:00
Thorin-Oakenpants fa78c53114 v85 2021-01-28 03:13:36 +00:00
Thorin-Oakenpants 2f6b14ab6e 1201: add error code, fixes #1094 2021-01-26 19:58:57 +00:00
Thorin-Oakenpants 2dd455ef83 network.http.redirection-limit, fixes #1100 2021-01-26 19:39:33 +00:00
Thorin-Oakenpants 306610da8e remove 2614, see #1100 2021-01-26 19:37:54 +00:00
earthlng 59ac1727f7 v4.14 - check for TLS1.2 (#1097) 2021-01-22 12:15:12 +00:00
Thorin-Oakenpants c974b3252d move [STATS] from 1270 to 1201, #1094 2021-01-22 12:10:15 +00:00
Thorin-Oakenpants 480933484f 2624: windows.name default FF86+
https://bugzilla.mozilla.org/1685089
2021-01-21 11:17:16 +00:00
earthlng 0cbd8a13a3 Update updater.bat 2021-01-19 17:17:03 +00:00
earthlng ae6c76fe54 v4.13 - fix TLS issue with PowerShell 2021-01-19 17:07:39 +00:00
Thorin-Oakenpants 1f098f2eaf start 85-alpha, also fix #1090 2021-01-17 23:04:37 +00:00
earthlng 11977e7017 v2.4 - add strlen check for prefs.js
cmd.exe has a command line length limit of 8192 characters. Abort if prefs.js contains strings that would get dropped while recreating the new prefs.js.
2021-01-17 15:27:50 +00:00
Thorin-Oakenpants 27dd6aa62d 84 final 2021-01-05 13:13:52 +00:00
earthlng c570e4fdbd Update troubleshooter.js 2020-12-30 15:12:07 +00:00
earthlng da58f84fa6 Update troubleshooter.js 2020-12-30 15:06:49 +00:00
Thorin-Oakenpants 755a45505f snippets providers
`browser.newtabpage.activity-stream.asrouter.providers.snippets`

These (which landed in FF64 with snippets above) are not in the user.js, so why bother with the snippet one
- `browser.newtabpage.activity-stream.asrouter.providers.cfr`
- `browser.newtabpage.activity-stream.asrouter.providers.onboarding`

also these aren't in the user.js
- `browser.newtabpage.activity-stream.asrouter.providers.cfr-fxa`
- `browser.newtabpage.activity-stream.asrouter.providers.message-groups`
- `browser.newtabpage.activity-stream.asrouter.providers.messaging-experiments`
- `browser.newtabpage.activity-stream.asrouter.providers.whats-new-panel`

There are no privacy concerns here. At the end of the day, what Firefox connects to and sends is E2EE and only used locally in non-web content: and you have other prefs and a UI to disable them from being displayed
2020-12-30 10:25:26 +00:00
Thorin-Oakenpants 9d74cb9526 remove useless snippet pref 2020-12-30 10:17:35 +00:00
Thorin-Oakenpants 8c9d0bbe72 harden cross-domain referers, closes #1077 2020-12-27 05:01:33 +00:00
Thorin-Oakenpants 0152b38b8b add override recipes link to readme steps 2020-12-25 16:06:32 +00:00
Thorin-Oakenpants e6cf90146a add override recipes 2020-12-25 15:55:01 +00:00
earthlng 63d1258f2e updater.sh v2.9
rollout the latest changes
2020-12-25 14:03:40 +00:00
ray851107 46bab27f94 updater.sh: support custom script names (#1075)
thanks @ray851107
2020-12-25 14:02:35 +00:00
Thorin-Oakenpants 2cfbba1472 search-to-tab: FF85+ 2020-12-19 07:23:13 +00:00
earthlng c980bda695 Update troubleshooter.js
oops
2020-12-16 14:43:46 +00:00
earthlng feaa1c3e99 prefs update
`browser.storageManager.enabled` -- removed in FF61 (1428306)
`security.csp.experimentalEnabled` -- removed in FF68 (1386214)
`gfx.downloadable_fonts.woff2.enabled` -- removed in FF69 (1556991)
`plugin.sessionPermissionNow.intervalInMinutes` -- removed in FF70 (1581664)
`plugin.defaultXpi.state` -- removed in FF72 (1596090)
`geo.wifi.uri` -- renamed to `geo.provider.network.url` in FF74 (1613627)
`browser.tabs.remote.allowLinkedWebInFileUriProcess` -- removed in FF77 (1603007)
2020-12-16 14:40:42 +00:00
Thorin-Oakenpants aa1c2145bb layout.css.visited_links_enabled 2020-12-09 09:30:21 +00:00
Thorin-Oakenpants 335ee84540 remove layout.css.visited_links_enabled, #933
This no longer has any affect since FF77+: see https://bugzilla.mozilla.org/1632765
2020-12-09 09:26:50 +00:00
Thorin-Oakenpants 5c37d50f4e tidy
- remove useless `see` word for reference links
- fixup 0701
   - "do not play nice" is not measurable
   - don't reference to self as a source: people can just search "VPN leak Ipv6" or something
2020-12-07 19:34:14 +00:00
Thorin-Oakenpants 77abf35761 tidy
- shrink and remove outdated info from section 0300 header
- combine some bugzillas
- drop some references
   - 1647829 for HTTPS-Only mode
   - hardware metrics: not going to implicitly encourage users to use this pref or tell them what sizes to use
- update [STATS]
   - also remove TLS [STATS].. stats on TLS 1.0 and 1.1 are irrelevant: the default is now TLS 1.2+
- single CRLite reference for all blog articles
- save 588 bytes so all you bastards can theoretically load Firefox just that tiny bit faster
2020-12-06 21:09:07 +00:00
Thorin-Oakenpants fa85c9da5b fixup double word 2020-11-23 10:46:30 +00:00
Thorin-Oakenpants cf53982086 1244: CRLite, closes #1065 2020-11-22 18:15:25 +00:00
Thorin-Oakenpants 91cbc1e09a HTTPS-Only mode, closes #1047 2020-11-22 17:59:44 +00:00
Thorin-Oakenpants a7e4268d8b 2730 appCache, closes #1055 2020-11-22 17:25:33 +00:00
Thorin-Oakenpants 699eacf1fd add FPI scheme, closes #1066 (#1067) 2020-11-22 17:21:31 +00:00
Thorin-Oakenpants 0189438e46 start 84-alpha 2020-11-22 17:11:31 +00:00
Thorin-Oakenpants 94712f59a3 83 final 2020-11-22 17:05:34 +00:00
Thorin-Oakenpants ef93a754ce warnings always come after notes 2020-11-21 01:49:19 +00:00
earthlng c6ddda1aa3 Update troubleshooter.js
- add `privacy.window.name.update.enabled`
- remove `media.autoplay.enabled` (removed in FF63)
- remove `dom.indexedDB.enabled` (removed in FF72)
2020-11-17 19:17:59 +00:00
Thorin-Oakenpants ccbca41e2d start 83 alpha, fixup 1244 setting info
`browser.preferences.exposeHTTPSOnly` is now default true
2020-11-13 01:03:29 +00:00
Thorin-Oakenpants 5b0d173078 82 final 2020-11-13 00:55:45 +00:00
Thorin-Oakenpants d6186819f4 domIntersectionObserver
it was removed after 81-beta was released
2020-11-11 18:42:29 +00:00
Thorin-Oakenpants ea0eb85404 82-beta 2020-11-11 18:23:00 +00:00
Thorin-Oakenpants 8dc43cfdc2 RFP 82+ changes
Note
 - this is not the same as 2517 which disables the API
 - RFP does not determine what is supported or not supported: so that entropy remains
 - with or without RFP, if the media config is not supported it returns false,false (so there is nothing to spoof here)
2020-11-11 18:20:13 +00:00
Thorin-Oakenpants f7bee988de 0517: add creditCards.available / defense-in-depth
see https://github.com/arkenfox/user.js/issues/1038#issuecomment-713643850
2020-11-11 18:08:06 +00:00
Thorin-Oakenpants f2fe7f02b0 add 2624: window.name protection, fixes #1012 2020-11-11 16:59:27 +00:00
Thorin-Oakenpants accef19af4 add LSNG, fixes #1059 2020-11-11 16:27:43 +00:00
Thorin-Oakenpants 910d7004c6 release info, fixes #1042
now we have somewhere to add things like HTTPS-Only Mode, appCache, secure downloads when we make changes that impact ESR
2020-11-11 16:12:57 +00:00
Thorin-Oakenpants 07cccd5386 remove 4003: partition, see #1051 (#1057) 2020-11-02 17:05:40 +00:00
Thorin-Oakenpants ac52886ea8 2422 WASM, add reason for disabling, fixes #1037 (#1054) 2020-10-26 10:37:49 +00:00
Thorin-Oakenpants c45780d79b 0701 PHP localhost + IPv6, fixes #1053 2020-10-26 10:34:54 +00:00
Thorin-Oakenpants e14732aad3 2031: better reference: closes #1022 (#1048) 2020-10-23 23:29:31 +00:00
earthlng 26d4768447 add media.autoplay.blocking_policy 2020-10-21 13:44:21 +00:00
Thorin-Oakenpants 9f99885272 clean up acknowledgments 2020-10-20 12:57:00 +00:00
Thorin-Oakenpants 0adfddd1e2 misc (#1040)
* misc

- cleanup of old release notation in comments: e.g. if it's not applicable to ESR78+
- same with default version info
- simplify and save bytes on section 4700
- update 4500 header
  - and unify the message about using extensions as counterproductive
- letterboxing
   - provide info on stepped ranged (and drop crap about FF67)
   - don't judge users who dislike seeing margins (I don't like them either, but I force my window to exact dimensions and stay there)
- screenshots uploading was disabled in FF67+ : [67 release notes](https://www.mozilla.org/en-US/firefox/67.0/releasenotes/)
   - the pref is still there (default false) but so far I'm 99% sure this pref now does anything
   - I will add it to the scatchpad script if this change sticks

* simplify 4500 RFP, see #1041

* update removed script

* tidy readme, see #1045

- also put readme before releases

* RIP FX Site Compat

* clean out RFP Alts info: the information is redundant: it's already in the readme
2020-10-20 11:58:20 +00:00
Thorin-Oakenpants f591a8adf8 82-alpha, 82 deprecated, remove old deprecated 2020-10-13 14:12:53 +00:00
Thorin-Oakenpants 0e10a820d9 81 final 2020-10-13 14:01:41 +00:00
earthlng c90341dded 1244: HTTPS-Only mode update (#1031) 2020-10-07 12:10:24 +00:00
Thorin-Oakenpants d5ccf4693b fixup font prefs vs RFP, fixes #1025 (#1028)
- make 1401 inactive: it affects RFP's FPing
- remove old warning/setup-web: we do not care about documenting breakage or FPing risks when we have a warning and they are inactive. If someone uses them, that's on them
- new warnings
2020-10-06 13:43:51 +00:00
Thorin-Oakenpants e89f9a5d89 dom.IntersectionObserver.enabled
commit: https://github.com/arkenfox/user.js/commit/a56ba859363f87d45b860b51560a9a3072f33b84
issue: #1026
2020-10-02 08:36:15 +00:00
Thorin-Oakenpants a56ba85936 remove dom.IntersectionObserver.enabled #1026
- this was made inactive in v68
- since at least FF79, when active as false, it breaks the web and browser consoles
- it breaks websites
- it breaks extensions: e.g. uBO panel functionality
- it does nothing to mitigate possible fingerprinting (which was why it was initially added as a concern) - i.e the API only provided a standardized method, it does not stop previous/earlier workarounds
2020-10-02 08:33:27 +00:00
Thorin-Oakenpants 421f1e361c [ ] are for for prefs only 2020-09-29 06:10:57 +00:00
Thorin-Oakenpants 2391874e04 UI setting change in 81
https://bugzilla.mozilla.org/show_bug.cgi?id=1613468
2020-09-28 19:04:08 +00:00
Thorin-Oakenpants 4779ea7850 remove CSP issue, closes #1021 2020-09-27 00:47:09 +00:00
Thorin-Oakenpants c367beabe3 81-beta 2020-09-23 12:20:59 +00:00
earthlng e1d336a178 standardize some error codes
* 0 : successful termination
* 2 : command line syntax error
* 1 : catchall for general errors

Plus a few text improvements based on unmerged PR https://github.com/arkenfox/user.js/pull/910/commits/4fbb2be98d8d156efd0f172e24cbbf77591ef4fc
2020-09-15 13:36:39 +00:00
earthlng ee3e5f0186 v4.12: arkenfox 2020-09-15 12:04:54 +00:00
earthlng 42b7650d42 v2.8: arkenfox 2020-09-15 11:58:52 +00:00
earthlng f61d4a0d38 Update prefsCleaner.sh 2020-09-15 11:55:28 +00:00
Thorin-Oakenpants 7fe9784bf8 we no longer have github pages 2020-09-15 06:18:54 +00:00
Thorin-Oakenpants ed05c64482 we no longer have github pages 2020-09-15 06:18:33 +00:00
Thorin-Oakenpants 16c3658040 align look with TZP 2020-09-15 06:17:44 +00:00
Thorin-Oakenpants 515d6ff874 v2.3: update repo name 2020-09-15 06:11:35 +00:00
Thorin-Oakenpants fc65052286 migration: cleanup code references 2020-09-15 06:07:32 +00:00
Thorin-Oakenpants 6a107d4d2f migration: cleanup code references 2020-09-15 06:06:32 +00:00
Thorin-Oakenpants eff4b74130 migration: cleanup code references 2020-09-15 06:05:33 +00:00
Thorin-Oakenpants 2532ddcc18 update name 2020-09-15 05:59:51 +00:00
Thorin-Oakenpants 44e22835c1 update name 2020-09-15 05:58:39 +00:00
Thorin-Oakenpants 1f545312fd update names + links 2020-09-15 05:57:30 +00:00
Thorin-Oakenpants 637e5964db update links 2020-09-15 05:56:00 +00:00
Thorin-Oakenpants 26bca612d7 rename as arkenfox 2020-09-15 05:54:22 +00:00
Thorin-Oakenpants 6fdda5fb62 rename as arkenfox 2020-09-15 05:53:09 +00:00
Thorin-Oakenpants ed5b158777 Rename ghacks-clear-RFP-alternatives.js to arkenfox-clear-RFP-alternatives.js 2020-09-15 05:52:28 +00:00
Thorin-Oakenpants 4c4270f1d7 migration changes 2020-09-15 04:33:50 +00:00
Thorin-Oakenpants af51631597 Update LICENSE.txt 2020-09-15 04:19:03 +00:00
Thorin-Oakenpants ae0c980d25 migration 2020-09-15 04:15:03 +00:00
earthlng 3e4c56cf27 arkenfox support
also fixes mixed line endings
2020-09-13 12:16:21 +00:00
Thorin-Oakenpants 18112f9ae8 last F time :) update TZP links 2020-09-11 21:55:12 +00:00
Thorin-Oakenpants c8eee094e0 update links 2020-09-11 03:23:55 +00:00
Thorin-Oakenpants 78a7c194eb update ref links 2020-09-10 07:33:50 +00:00
Thorin-Oakenpants f606c8b866 2203 values
see https://bugzilla.mozilla.org/show_bug.cgi?id=1663500 where they reverted https://bugzilla.mozilla.org/show_bug.cgi?id=1661643 where they said value 1 didn't do anything - all changes in FF82, so nothing to see here folks ... move along
2020-09-08 23:49:22 +00:00
Thorin-Oakenpants 9c98972d14 misc2 (#1010)
* forceMediaMemoryCache breakage

* add back ESR68-EOL for prefsCleaner users
2020-09-05 15:42:34 +00:00
Thorin-Oakenpants 75a03df0f7 miscellaneous (#1007)
- less active prefs
   - now that ESR68 is EOL, at least a whopping two (0602, 1273)
   - also I don't know when the default changed - another whopping whole one (1240)
   - and where we do enforce/reset a pref to default, lets say that
   - this is not a definitive list, sing out if there is anything else
- IPv6 info
   - especially for Iron Heart who likes to claim that this pref breaks 5% of sites
- cleanup of settings tags now we only care abut ESR78+
2020-09-05 15:20:46 +00:00
Thorin-Oakenpants 76019e6fbe ESR78 unhidden prefs
also, the note about WebExt + SVG only applies to people using outdated versions .. so that can go too
2020-09-03 13:27:25 +00:00
Thorin-Oakenpants 3c2bd930c3 start 81-alpha, EOL for ESR68 2020-09-03 13:11:16 +00:00
Thorin-Oakenpants ed993d5502 80 final 2020-09-03 13:04:31 +00:00
Thorin-Oakenpants 22d2d702be 1409: obsolete RFP mention 2020-09-03 13:02:09 +00:00
Diogo Agostinho 8dacf6e91f fix typo (#1005) 2020-08-31 21:47:57 +00:00
Thorin-Oakenpants fbe1d48fe2 2203: open_newwindow values
- FYI: https://bugzilla.mozilla.org/show_bug.cgi?id=1661643
- https://hg.mozilla.org/integration/autoland/rev/12d62b074178
2020-08-31 19:49:00 +00:00
Thorin-Oakenpants 5fd7f6de7e 80-alpha 2020-08-28 18:27:20 +00:00
h88e22dgpeps56sg 592b959c24 Updater.sh rework 2 (#1000)
* rework DOWNLOAD_METHOD, download_file, open_file

* remove legacy command leftover line

* return empty string if download fails and return/exit if this happens and show error message

* fix IFS var typo

* bump version

* add quotes

Co-authored-by: TotallyLeGIT <bbkqx24kxlgvgbss@mailban.de>
2020-08-28 10:51:15 +00:00
Thorin-Oakenpants c6f53c8768 2201 deprecated (dead prefs removed in 82), #979 (#1002) 2020-08-26 11:28:47 +00:00
Thorin-Oakenpants 38d772e4c8 https-only mode updates (#1001) 2020-08-25 14:59:41 +00:00
Thorin-Oakenpants cfce521919 1409: RFP changes in FF81+ (#998) 2020-08-23 14:37:18 +00:00
Thorin-Oakenpants a5ab3e23d6 Update README.md 2020-08-22 22:16:27 +00:00
h88e22dgpeps56sg b3eee6c9fd improve readability, remove lots of unnecessary echo commands, remove legacy arguments (#997)
Co-authored-by: TotallyLeGIT <bbkqx24kxlgvgbss@mailban.de>
2020-08-22 12:07:13 +00:00
Thorin-Oakenpants 8d6d17d46b 1244: HTTPS-only mode: FF80+ site exceptions
The option is not shown if https-only-mode is not being applied. I tested with `http://asmjs.org/` since it doesn't redirect/upgrade to secure.
2020-08-21 21:05:08 +00:00
Thorin-Oakenpants 9a37e1340c 0905: add reference, #982 2020-08-20 17:18:22 +00:00
Thorin-Oakenpants f1e0203ef4 0105b, cleaner value, see #992 2020-08-15 01:56:01 +00:00
Thorin-Oakenpants 726d5bde30 0105b: stop console error, closes #992 2020-08-14 14:12:28 +00:00
Thorin-Oakenpants f9f0fffd27 Update README.md 2020-08-14 09:01:14 +00:00
Thorin-Oakenpants 93840ca181 0602 not hidden in ESR78 2020-08-13 15:37:25 +00:00
Thorin-Oakenpants 99aa5af356 password master->primary 2020-08-13 15:34:26 +00:00
Thorin-Oakenpants 0358fdac8b 80-alpha 2020-08-13 15:32:45 +00:00
Thorin-Oakenpants 815c3026b5 79 final 2020-08-13 15:30:36 +00:00
Thorin-Oakenpants 5ed3047b7a references cleanup 2020-08-13 15:22:38 +00:00
Thorin-Oakenpants e16ede1cdf 79-beta 2020-08-13 14:44:27 +00:00
Thorin-Oakenpants 6905187b3e 0207/0208: region/search (#989) 2020-08-13 04:39:38 +00:00
Thorin-Oakenpants 172118e61b RFP+Alts: fixup sequential numbering, see #987 2020-08-05 01:35:10 +00:00
Thorin-Oakenpants 8452edb94b 4600: see #987 2020-08-04 10:25:29 +00:00
Thorin-Oakenpants 0f6957bbd4 4600: add missing version section 2020-08-04 10:18:29 +00:00
Thorin-Oakenpants 8c2bcc0352 1007: bump to 64mb, see #941 2020-08-03 22:50:58 +00:00
earthlng bc832575d8 1003: kibibytes 2020-08-03 14:52:21 +00:00
Thorin-Oakenpants c4b7e07691 4500: site partitioning 2020-08-02 01:47:48 +00:00
Thorin-Oakenpants 58fb1db838 HTTPS-Only Mode UI 2020-08-02 01:27:30 +00:00
Thorin-Oakenpants 2809854802 font visibility / RFP (#985) 2020-08-01 11:03:17 +00:00
Thorin-Oakenpants 091a71aade browser.urlbar.usepreloadedtopurls.enabled 2020-07-29 02:22:09 +00:00
Thorin-Oakenpants 117ab133b1 remove 0809
not deprecated, just hidden: default is false anyway
2020-07-29 02:19:20 +00:00
Thorin-Oakenpants c4a06c4689 missing comma 2020-07-23 12:23:14 +00:00
Thorin-Oakenpants 0d27689c64 update to ESR78
and this time add the file extension
2020-07-23 12:22:20 +00:00
Thorin-Oakenpants 771e57480a Delete ghacks-clear-RFP-alternatives 2020-07-23 12:21:10 +00:00
Thorin-Oakenpants f8fd03482d 79 deprecated 2020-07-23 11:19:49 +00:00
Thorin-Oakenpants 10cc1224d0 Create ghacks-clear-removed.js 2020-07-23 11:00:23 +00:00
Thorin-Oakenpants 52926cca7a Delete ghacks-clear-[removed].js 2020-07-23 10:59:19 +00:00
Thorin-Oakenpants be64819ce7 update to ESR78 2020-07-23 10:58:22 +00:00
Thorin-Oakenpants 24c228df92 update to ESR78 2020-07-23 10:57:12 +00:00
Thorin-Oakenpants 892b3d9d69 Delete ghacks-clear-FF68inclusive-[deprecated].js 2020-07-23 10:53:38 +00:00
Thorin-Oakenpants df21798b81 Delete ghacks-clear-FF68inclusive-[RFP-alternatives].js 2020-07-23 10:53:25 +00:00
Thorin-Oakenpants 46d03279d3 79 start, fixup 2429 default info 2020-07-22 12:35:13 +00:00
Thorin-Oakenpants fe0af3bb34 remove 0709 duplicate, 78 final 2020-07-21 10:40:01 +00:00
Thorin-Oakenpants 84997386c1 78-beta 2020-07-20 05:24:18 +00:00
Thorin-Oakenpants 1a389c0214 dnsResolveSingleWordsAfterSearch (#968) 2020-07-10 10:09:13 +00:00
Thorin-Oakenpants d0060fed3c 2031: use exceptions if you need to, #969 2020-07-08 13:18:38 +00:00
Thorin-Oakenpants 3d18af19e3 various, #959 (#967)
Co-authored-by: rusty-snake
2020-07-05 14:02:25 +00:00
Thorin-Oakenpants b5b04454e0 0850a search keywords fixup 2020-07-01 03:46:52 +00:00
Thorin-Oakenpants 618f7bed3f 0850a: add top sites FF78+ 2020-06-29 15:49:11 +00:00
Thorin-Oakenpants 488a825626 update weak ciphers/tests etc, closes #931 (#963)
- adds the new tests including the non-JS JA3

Co-authored-by: rusty-snake <41237666+rusty-snake@users.noreply.github.com>
Co-authored-by: earthlng <earthlng@users.noreply.github.com>
2020-06-28 15:48:13 +00:00
Thorin-Oakenpants aaf6cb33d7 4617 restart
- at least for disabling chrome animations
2020-06-27 12:37:32 +00:00
Thorin-Oakenpants 77ecef8be3 78 deprecated, add 2032 (#962) 2020-06-27 12:16:57 +00:00
Thorin-Oakenpants 4be0a80720 update trac tor tickets (#958)
and some other minor tweaks
2020-06-24 17:26:25 +00:00
Thorin-Oakenpants f573200aa8 ciphers in ESR78
[1496639](https://bugzilla.mozilla.org/show_bug.cgi?id=1496639)
2020-06-18 02:29:54 +00:00
Thorin-Oakenpants 48f258ff53 start 78-alpha 2020-06-14 10:28:32 +00:00
Thorin-Oakenpants b9100488cb 77 final 2020-06-14 10:26:10 +00:00
Thorin-Oakenpants 9d78e050ee 77-beta 2020-06-12 17:39:28 +00:00
Thorin-Oakenpants b07cf1f03d remove extra line from last commit, save one byte 2020-06-05 03:10:09 +00:00
Thorin-Oakenpants 683ef63b37 RFP alts: prefers-reduced-motion 2020-06-05 03:08:16 +00:00
Thorin-Oakenpants 05580f5e99 0709 hotfix, #923, #951 2020-06-02 20:48:41 +00:00
Thorin-Oakenpants ecc62554e5 2608: remote debugging: default value, closes #950 2020-06-01 15:27:38 +00:00
Thorin-Oakenpants f6e6de8444 77 deprecated 2020-05-29 12:41:59 +00:00
Thorin-Oakenpants f69d92e6dd 1244: https upgrade local 2020-05-29 12:23:17 +00:00
Matt Loberg 3edc48da56 fix updater.sh when dealing with multiple overrides (#947)
thanks @mloberg !
2020-05-26 11:54:55 +00:00
Thorin-Oakenpants 868882ae33 start 77-alpha 2020-05-24 18:11:55 +00:00
Thorin-Oakenpants ff9bf76e52 76 final, save some bytes in RFP section 2020-05-24 18:09:46 +00:00
Thorin-Oakenpants 4bc5b89cfe 4500: RFP changes 78+ re canvas 2020-05-15 23:18:11 +00:00
Thorin-Oakenpants bb1e5bfd54 76-beta 2020-05-07 14:56:49 +00:00
Thorin-Oakenpants 27d72eda9e 1244: https-only-mode 2020-05-07 06:20:10 +00:00
Thorin-Oakenpants 07117c65c1 RFP spoofs FF78+ 2020-05-07 05:13:19 +00:00
Thorin-Oakenpants 919d4bfe96 godamnit, also move related reference 2020-05-04 10:52:25 +00:00
Thorin-Oakenpants e38e253c25 oophs, forgot deprecation source 2020-05-04 10:49:07 +00:00
Thorin-Oakenpants 14aaec71fb 76 deprecated 2020-05-04 07:34:23 +00:00
Thorin-Oakenpants c0780df24d 1401: PDF breakage, closes #937 2020-04-30 21:50:50 +00:00
Thorin-Oakenpants 0ea1605642 start 76-alpha, 2605 default 2020-04-30 18:52:27 +00:00
earthlng bd384622db Update troubleshooter.js (#935)
extensions.blocklist.pingCountTotal is not used anymore in FF76+
2020-04-29 12:00:10 +00:00
Thorin-Oakenpants 3366e0aa16 75 final 2020-04-23 08:52:48 +00:00
W dff5bb478a 0211: add possible breakage for CJK input methods 2020-04-16 04:04:13 +00:00
Thorin-Oakenpants d455c500a6 75-beta 2020-04-15 14:44:14 +00:00
Thorin-Oakenpants b90e72370c 1007 fixup what FF75+ applies to 2020-04-14 00:28:00 +00:00
Thorin-Oakenpants dd162d9f48 1007 fixups 2020-04-14 00:16:03 +00:00
Thorin-Oakenpants d7c276b3fe 2402: clipboardevents -> inactive, #887 2020-04-13 06:17:54 +00:00
Thorin-Oakenpants 394b691599 2421: grammar fix 2020-04-13 04:55:10 +00:00
Thorin-Oakenpants ba83c555cc geo default search engines
browser.search.geoip.url is deprecated in 75, the prefs are only used on first run, and we don't mess with search engines as that is a user choice
2020-04-12 18:10:34 +00:00
Thorin-Oakenpants b695468c7e remove 0205 2020-04-12 18:07:12 +00:00
Thorin-Oakenpants deae6e14f9 75 deprecated 2020-04-12 16:38:12 +00:00
Thorin-Oakenpants 97c5378e52 1007: *forceMediaMemoryCache PB mode 2020-04-12 16:23:48 +00:00
Thorin-Oakenpants d2dd0c2ab4 tls stats update
- Go to https://telemetry.mozilla.org/
- click `measurement dashboard`
- select `SSL_HANDSHAKE_VERSION`

I looked at Nightly 75 (0.26 and 0.01) and Nightly 76 (0.2 and 0)
2020-04-11 02:51:17 +00:00
Thorin-Oakenpants 8c7149c6a5 2421: Ion/JIT trusted principals, closes #914 2020-04-09 06:07:13 +00:00
Thorin-Oakenpants d2da48c215 revert top sites, see #922 2020-04-08 08:01:07 +00:00
Thorin-Oakenpants 7e71b6663c 75-alpha, add 105e, closes #922 2020-04-08 07:12:14 +00:00
Thorin-Oakenpants 94c83519f2 74 final 2020-04-08 07:08:36 +00:00
Thorin-Oakenpants e7d20867cb 2623 delegation 2421 ion/jit tweak 2020-04-06 00:39:52 +00:00
Thorin-Oakenpants 55ae994972 2421 fixup Ion/Jit note 2020-03-28 13:18:34 +00:00
Thorin-Oakenpants f0945743b7 2662: clarify 4503 needed, #912 2020-03-27 16:20:41 +00:00
Thorin-Oakenpants ee35d7c70d 2421: ion/jit and extensions note 2020-03-27 12:44:06 +00:00
Thorin-Oakenpants fe1b03bd2a tls downgrades -> session only 2020-03-27 12:36:16 +00:00
Thorin-Oakenpants 187692af66 enforce disabled system + prefixed colors 2020-03-19 11:36:03 +00:00
Thorin-Oakenpants b6e2a3f64f one of the 2012 webgl prefs deprecated 2020-03-12 14:44:14 +00:00
Thorin-Oakenpants 6f7e09ad43 1704 deprecated, add 1703 2020-03-12 05:23:57 +00:00
Thorin-Oakenpants 4ddf60cf32 0203: make sure users know these are 74+ prefs 2020-03-12 03:56:13 +00:00
earthlng 24777c9ac2 FF74: 0203 updates (#904) 2020-03-12 03:44:52 +00:00
Thorin-Oakenpants 615ebeda2f start 74-alpha 2020-03-12 03:43:31 +00:00
32 changed files with 1774 additions and 2121 deletions
+20 -18
View File
@@ -1,29 +1,31 @@
--- ---
name: Troubleshooting help name: Troubleshooting help
about: Ask for help to solve problems with user.js about: Ask for help to solve problems with user.js
title: '' title: 'follow instructions or this will be closed as invalid'
labels: '' labels: ''
assignees: '' assignees: ''
--- ---
Before you proceed... <!--
- Issues will be closed as invalid if you do not [troubleshoot](https://github.com/ghacksuserjs/ghacks-user.js/wiki/1.4-Troubleshooting), including
- confirming the problem is caused by the `user.js`
- searching the `[Setup` tags in the `user.js`
- Search the GitHub repository. The information you need is most likely here already.
- Note: We do not support forks
See also: Issues will be closed as invalid if you do not troubleshoot first, or if you ignore the required info in the template.
- Extension breakage due to prefs [issue 391](https://github.com/ghacksuserjs/ghacks-user.js/issues/391)
- Prefs vs Recommended Extensions: Co-Existance+Enhancement | Conflicts [issue 350](https://github.com/ghacksuserjs/ghacks-user.js/issues/350)
- The extension CSP header modification game [issue 664](https://github.com/ghacksuserjs/ghacks-user.js/issues/664)
If you still need help, help us help you by providing relevant information: We do not support forks or no-longer supported releases.
- browser version
- Steps to Reproduce (STR)
- actual result
- expected result
- anything else you deem worth mentioning
Clear all of this when you're ready to type. -->
🟥 https://github.com/arkenfox/user.js/wiki/5.2-Troubleshooting
- [ ] I have read the troubleshooting guide, done the checks and confirmed this is caused by arkenfox
- _unchecked issues ~~may~~ will be closed as invalid_
🟪 REQUIRED INFO
- Browser version & OS:
- Steps to Reproduce (STR):
- Expected result:
- Actual result:
- Console errors and warnings:
- Anything else you deem worth mentioning:
---
+1 -1
View File
@@ -9,7 +9,7 @@ assignees: ''
We value feedback in general, but we value feedback from informed users more. There is no need for you to be an expert to participate (most of us aren't), but we hope that you at least understand our decisions before questioning them. We discuss all changes openly, and we do not make changes lightly. So, if you don't understand why we decided to add/remove/change a certain pref, search the repo. The answer is most certainly here. We value feedback in general, but we value feedback from informed users more. There is no need for you to be an expert to participate (most of us aren't), but we hope that you at least understand our decisions before questioning them. We discuss all changes openly, and we do not make changes lightly. So, if you don't understand why we decided to add/remove/change a certain pref, search the repo. The answer is most certainly here.
If some change we made took you by surprise (in the wrong way), remember that keeping track of changes is your responsibility. Watch the repo, read the [changelogs](https://github.com/ghacksuserjs/ghacks-user.js/issues?utf8=✓&q=is%3Aissue+label%3Achangelog), compare [releases](https://github.com/ghacksuserjs/ghacks-user.js/releases) as you update your copy of user.js, or use any other method you prefer. If some change we made took you by surprise (in the wrong way), remember that keeping track of changes is your responsibility. Watch the repo, read the [changelogs](https://github.com/arkenfox/user.js/issues?utf8=✓&q=is%3Aissue+label%3Achangelog), compare [releases](https://github.com/arkenfox/user.js/releases) as you update your copy of user.js, or use any other method you prefer.
Clear all of this when you're ready to type. Clear all of this when you're ready to type.
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2017 ghacksuserjs Copyright (c) 2020 arkenfox
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
+17 -18
View File
@@ -1,27 +1,26 @@
### ![][b] user.js ### 🟪 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. A `user.js` is a configuration file that can control Firefox settings - for a more technical breakdown and explanation, you can read more in the [wiki](https://github.com/arkenfox/user.js/wiki/2.1-User.js)
### ![][b] ghacks user.js ### 🟩 the arkenfox 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. [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
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. The `arkenfox 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).
Also be aware that this `user.js` is made specifically for desktop Firefox. Using it as-is in other Gecko-based browsers can be counterproductive, especially in the Tor Browser. Everyone, experts included, should at least read the [wiki](https://github.com/arkenfox/user.js/wiki), as it contains important information regarding a few `user.js` settings.
Sitemap: [Releases](https://github.com/ghacksuserjs/ghacks-user.js/releases), [changelogs](https://github.com/ghacksuserjs/ghacks-user.js/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Achangelog), [Wiki](https://github.com/ghacksuserjs/ghacks-user.js/wiki), [stickies](https://github.com/ghacksuserjs/ghacks-user.js/issues?q=is%3Aissue+is%3Aopen+label%3A%22sticky+topic%22). [diffs](https://github.com/ghacksuserjs/ghacks-user.js/issues?q=is%3Aissue+label%3Adiffs) 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://2019.www.torproject.org/about/torusers.html) calls for it, or for accessing hidden services.
### ![][b] acknowledgments Also be aware that the `arkenfox user.js` is made specifically for desktop Firefox. Using it as-is in other Gecko-based browsers can be counterproductive, especially in the Tor Browser.
Literally thousands of sources, references and suggestions. That said...
* Martin Brinkmann at [ghacks](https://www.ghacks.net/) <sup>1</sup> ### 🟧 sitemap
* The ghacks community and commentators
* [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 [Codeberg](https://codeberg.org/12bytes.org/Firefox-user.js-supplement)
<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. - [releases](https://github.com/arkenfox/user.js/releases)
- [changelogs](https://github.com/arkenfox/user.js/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Achangelog)
- [wiki](https://github.com/arkenfox/user.js/wiki)
- [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)
- [common questions and answers](https://github.com/arkenfox/user.js/issues?q=is%3Aissue+label%3Aanswered)
### ![][b] [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) ### 🟥 acknowledgments
Literally thousands of sources, references and suggestions. Many thanks, and much appreciated.
[b]: /wikipiki/bullet01.png
+1 -1
View File
@@ -1,3 +1,3 @@
theme: jekyll-theme-midnight theme: jekyll-theme-midnight
title: ghacks-user.js title: user.js
description: An ongoing comprehensive user.js template for configuring and hardening Firefox privacy, security and anti-fingerprinting description: An ongoing comprehensive user.js template for configuring and hardening Firefox privacy, security and anti-fingerprinting
+19 -3
View File
@@ -3,7 +3,7 @@ TITLE prefs.js cleaner
REM ### prefs.js cleaner for Windows REM ### prefs.js cleaner for Windows
REM ## author: @claustromaniac REM ## author: @claustromaniac
REM ## version: 2.2 REM ## version: 2.4
CD /D "%~dp0" CD /D "%~dp0"
@@ -13,7 +13,7 @@ ECHO:
ECHO ######################################## ECHO ########################################
ECHO #### prefs.js cleaner for Windows #### ECHO #### prefs.js cleaner for Windows ####
ECHO #### by claustromaniac #### ECHO #### by claustromaniac ####
ECHO #### v2.2 #### ECHO #### v2.4 ####
ECHO ######################################## ECHO ########################################
ECHO: ECHO:
CALL :message "This script should be run from your Firefox profile directory." CALL :message "This script should be run from your Firefox profile directory."
@@ -28,6 +28,7 @@ IF ERRORLEVEL 3 (EXIT /B)
IF ERRORLEVEL 2 (GOTO :showhelp) IF ERRORLEVEL 2 (GOTO :showhelp)
IF NOT EXIST "user.js" (CALL :abort "user.js not found in the current directory." 30) IF NOT EXIST "user.js" (CALL :abort "user.js not found in the current directory." 30)
IF NOT EXIST "prefs.js" (CALL :abort "prefs.js not found in the current directory." 30) IF NOT EXIST "prefs.js" (CALL :abort "prefs.js not found in the current directory." 30)
CALL :strlenCheck
CALL :FFcheck CALL :FFcheck
CALL :message "Backing up prefs.js..." CALL :message "Backing up prefs.js..."
SET "_time=%time: =0%" SET "_time=%time: =0%"
@@ -50,6 +51,21 @@ ECHO:
ECHO: %~1 ECHO: %~1
ECHO: ECHO:
GOTO :EOF GOTO :EOF
REM ### string length Check Function ####
:strlenCheck
SET /a cnt=0
setlocal ENABLEDELAYEDEXPANSION
FOR /F "tokens=1,* delims=:" %%G IN ('FINDSTR /N "^" prefs.js') DO (
ECHO:%%H >nul
SET /a cnt += 1
IF /I "%%G" NEQ "!cnt!" (
ECHO:
CALL :message "ERROR: line !cnt! in prefs.js is too long."
(CALL :abort "Aborting ..." 30)
)
)
endlocal
GOTO :EOF
REM ####### Firefox Check Function ###### REM ####### Firefox Check Function ######
:FFcheck :FFcheck
TASKLIST /FI "IMAGENAME eq firefox.exe" 2>NUL | FIND /I /N "firefox.exe">NUL TASKLIST /FI "IMAGENAME eq firefox.exe" 2>NUL | FIND /I /N "firefox.exe">NUL
@@ -101,7 +117,7 @@ ECHO add-ons disabled. Then, restart it again normally, and see if the
CALL :message " problems were solved." CALL :message " problems were solved."
ECHO: ECHO:
CALL :message "If you are able to identify the cause of your issues, please bring it up" CALL :message "If you are able to identify the cause of your issues, please bring it up"
ECHO on ghacks-user.js GitHub repository. ECHO on arkenfox user.js GitHub repository.
ECHO: ECHO:
ECHO: ECHO:
PAUSE PAUSE
Regular → Executable
+36 -20
View File
@@ -2,7 +2,7 @@
## prefs.js cleaner for Linux/Mac ## prefs.js cleaner for Linux/Mac
## author: @claustromaniac ## author: @claustromaniac
## version: 1.2 ## version: 1.5
## special thanks to @overdodactyl and @earthlng for a few snippets that I stol..*cough* borrowed from the updater.sh ## special thanks to @overdodactyl and @earthlng for a few snippets that I stol..*cough* borrowed from the updater.sh
@@ -20,16 +20,23 @@ cd "$(dirname "${sfp}")"
fQuit() { fQuit() {
## change directory back to the original working directory ## change directory back to the original working directory
cd "${currdir}" cd "${currdir}"
echo -e "\n$2" [ "$1" -eq 0 ] && echo -e "\n$2" || echo -e "\n$2" >&2
exit $1 exit $1
} }
fUsage() {
echo -e "\nUsage: $0 [-s]"
echo -e "
Optional Arguments:
-s Start immediately"
}
fFF_check() { fFF_check() {
# there are many ways to see if firefox is running or not, some more reliable than others # 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 # 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" 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
} }
@@ -41,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
@@ -54,19 +61,7 @@ fClean() {
done < "$1" > prefs.js done < "$1" > prefs.js
} }
echo -e "\n\n" fStart() {
echo " ╔══════════════════════════╗"
echo " ║ prefs.js cleaner ║"
echo " ║ by claustromaniac ║"
echo " ║ v1.2 ║"
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 if [ ! -e user.js ]; then
fQuit 1 "user.js not found in the current directory." fQuit 1 "user.js not found in the current directory."
elif [ ! -e prefs.js ]; then elif [ ! -e prefs.js ]; then
@@ -74,14 +69,35 @@ select option in Start Help Exit; do
fi fi
fFF_check fFF_check
bakfile="prefs.js.backup.$(date +"%Y-%m-%d_%H%M")" mkdir -p prefsjs_backups
bakfile="prefsjs_backups/prefs.js.backup.$(date +"%Y-%m-%d_%H%M")"
mv prefs.js "${bakfile}" || fQuit 1 "Operation aborted.\nReason: Could not create backup file $bakfile" mv prefs.js "${bakfile}" || fQuit 1 "Operation aborted.\nReason: Could not create backup file $bakfile"
echo -e "\nprefs.js backed up: $bakfile" echo -e "\nprefs.js backed up: $bakfile"
echo "Cleaning prefs.js..." echo "Cleaning prefs.js..."
fClean "$bakfile" fClean "$bakfile"
fQuit 0 "All done!" fQuit 0 "All done!"
}
echo -e "\n\n"
echo " ╔══════════════════════════╗"
echo " ║ prefs.js cleaner ║"
echo " ║ by claustromaniac ║"
echo " ║ v1.5 ║"
echo " ╚══════════════════════════╝"
echo -e "\nThis script should be run from your Firefox profile directory.\n"
echo "It will remove any entries from prefs.js that also exist in user.js."
echo "This will allow inactive preferences to be reset to their default values."
echo -e "\nThis Firefox profile shouldn't be in use during the process.\n"
[ "$1" == '-s' ] && fStart
select option in Start Help Exit; do
case $option in
Start)
fStart
;; ;;
Help) Help)
fUsage
echo -e "\nThis script creates a backup of your prefs.js file before doing anything." 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 -e "It should be safe, but you can follow these steps if something goes wrong:\n"
echo "1. Make sure Firefox is closed." echo "1. Make sure Firefox is closed."
@@ -90,7 +106,7 @@ select option in Start Help Exit; do
echo "4. Rename or copy your latest backup to prefs.js." 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 "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 "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" echo -e "If you are able to identify the cause of your issues, please bring it up on the arkenfox user.js GitHub repository.\n"
;; ;;
Exit) Exit)
fQuit 0 fQuit 0
+509
View File
@@ -0,0 +1,509 @@
/***
This will reset the preferences that have been
- removed from the arkenfox user.js
- deprecated by Mozilla but listed in the arkenfox user.js in the past
Last updated: 5-October-2022
Instructions:
- [optional] close Firefox and backup your profile
- [optional] disable your network connection [1]
- start Firefox
- load about:config and press Ctrl+Shift+K to open the Web Console for about:config
- using about:config is important, so the script has the right permissions
- paste this script
- if you edited the list of prefs in the script, make sure the last pref does not have a trailing comma
- hit enter
- check the Info output to see which prefs were reset
- restart
- some prefs require a restart
- a restart will reapply your user.js
- [optional] re-enable your network connection
[1] Blocking Firefox from the internet ensures it cannot act on your reset preferences in the
period before you restart it, such as app and extension auto-updating, or downloading unwanted
components (GMP etc). It depends on what you're resetting and how long before you restart.
***/
(() => {
if ('undefined' === typeof(Services)) return alert('about:config needs to be the active tab!');
const aPREFS = [
/* DEPRECATED */
/* 103+ */
'network.cookie.lifetimePolicy', // 103 [technically removed in 104]
'security.pki.sha1_enforcement_level', // 103
/* 92-102 */
'browser.urlbar.suggest.quicksuggest', // 95
'dom.securecontext.whitelist_onions', // 97
'dom.storage.next_gen', // 102
'network.http.spdy.enabled', // 100
'network.http.spdy.enabled.deps',
'network.http.spdy.enabled.http2',
'network.http.spdy.websockets',
'layout.css.font-visibility.level', // 94
'security.ask_for_password', // 102
'security.csp.enable', // 99
'security.password_lifetime', // 102
'security.ssl3.rsa_des_ede3_sha', // 93
/* 79-91 */
'browser.cache.offline.storage.enable',
'browser.download.hide_plugins_without_extensions',
'browser.library.activity-stream.enabled',
'browser.search.geoSpecificDefaults',
'browser.search.geoSpecificDefaults.url',
'dom.ipc.plugins.flash.subprocess.crashreporter.enabled',
'dom.ipc.plugins.reportCrashURL',
'dom.w3c_pointer_events.enabled',
'intl.charset.fallback.override',
'network.ftp.enabled',
'plugin.state.flash',
'security.mixed_content.block_object_subrequest',
'security.ssl.errorReporting.automatic',
'security.ssl.errorReporting.enabled',
'security.ssl.errorReporting.url',
/* 69-78 */
'browser.newtabpage.activity-stream.telemetry.ping.endpoint',
'browser.tabs.remote.allowLinkedWebInFileUriProcess',
'browser.urlbar.oneOffSearches',
'devtools.webide.autoinstallADBExtension',
'devtools.webide.enabled',
'dom.indexedDB.enabled',
'extensions.blocklist.url',
'geo.wifi.logging.enabled',
'geo.wifi.uri',
'gfx.downloadable_fonts.woff2.enabled',
'media.autoplay.allow-muted',
'media.autoplay.enabled.user-gestures-needed',
'offline-apps.allow_by_default',
'plugins.click_to_play',
'privacy.userContext.longPressBehavior',
'toolkit.cosmeticAnimations.enabled',
'toolkit.telemetry.hybridContent.enabled',
'webgl.disable-extensions',
/* 61-68 */
'app.update.enabled',
'browser.aboutHomeSnippets.updateUrl',
'browser.chrome.errorReporter.enabled',
'browser.chrome.errorReporter.submitUrl',
'browser.chrome.favicons',
'browser.ctrlTab.previews',
'browser.fixup.hide_user_pass',
'browser.newtabpage.activity-stream.asrouter.userprefs.cfr',
'browser.newtabpage.activity-stream.disableSnippets',
'browser.onboarding.enabled',
'browser.search.countryCode',
'browser.urlbar.autocomplete.enabled',
'devtools.webide.adbAddonURL',
'devtools.webide.autoinstallADBHelper',
'dom.event.highrestimestamp.enabled',
'experiments.activeExperiment',
'experiments.enabled',
'experiments.manifest.uri',
'experiments.supported',
'lightweightThemes.update.enabled',
'media.autoplay.enabled',
'network.allow-experiments',
'network.cookie.lifetime.days',
'network.jar.block-remote-files',
'network.jar.open-unsafe-types',
'plugin.state.java',
'security.csp.enable_violation_events',
'security.csp.experimentalEnabled',
'shield.savant.enabled',
/* 60 or earlier */
'browser.bookmarks.showRecentlyBookmarked',
'browser.casting.enabled',
'browser.crashReports.unsubmittedCheck.autoSubmit',
'browser.formautofill.enabled',
'browser.formfill.saveHttpsForms',
'browser.fullscreen.animate',
'browser.history.allowPopState',
'browser.history.allowPushState',
'browser.history.allowReplaceState',
'browser.newtabpage.activity-stream.enabled',
'browser.newtabpage.directory.ping',
'browser.newtabpage.directory.source',
'browser.newtabpage.enhanced',
'browser.newtabpage.introShown',
'browser.pocket.api',
'browser.pocket.enabled',
'browser.pocket.oAuthConsumerKey',
'browser.pocket.site',
'browser.polaris.enabled',
'browser.safebrowsing.appRepURL',
'browser.safebrowsing.enabled',
'browser.safebrowsing.gethashURL',
'browser.safebrowsing.malware.reportURL',
'browser.safebrowsing.provider.google.appRepURL',
'browser.safebrowsing.reportErrorURL',
'browser.safebrowsing.reportGenericURL',
'browser.safebrowsing.reportMalwareErrorURL',
'browser.safebrowsing.reportMalwareMistakeURL',
'browser.safebrowsing.reportMalwareURL',
'browser.safebrowsing.reportPhishMistakeURL',
'browser.safebrowsing.reportURL',
'browser.safebrowsing.updateURL',
'browser.search.showOneOffButtons',
'browser.selfsupport.enabled',
'browser.selfsupport.url',
'browser.sessionstore.privacy_level_deferred',
'browser.tabs.animate',
'browser.trackingprotection.gethashURL',
'browser.trackingprotection.updateURL',
'browser.urlbar.unifiedcomplete',
'browser.usedOnWindows10.introURL',
'camera.control.autofocus_moving_callback.enabled',
'camera.control.face_detection.enabled',
'datareporting.healthreport.about.reportUrl',
'datareporting.healthreport.about.reportUrlUnified',
'datareporting.healthreport.documentServerURI',
'datareporting.healthreport.service.enabled',
'datareporting.policy.dataSubmissionEnabled.v2',
'devtools.webide.autoinstallFxdtAdapters',
'dom.archivereader.enabled',
'dom.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.facebook.appId',
'loop.facebook.enabled',
'loop.facebook.fallbackUrl',
'loop.facebook.shareUrl',
'loop.feedback.formURL',
'loop.feedback.manualFormURL',
'loop.logDomains',
'loop.server',
'media.block-play-until-visible',
'media.eme.apiVisible',
'media.eme.chromium-api.enabled',
'media.getusermedia.screensharing.allow_on_old_platforms',
'media.getusermedia.screensharing.allowed_domains',
'media.gmp-eme-adobe.autoupdate',
'media.gmp-eme-adobe.enabled',
'media.gmp-eme-adobe.visible',
'network.http.referer.userControlPolicy',
'network.http.sendSecureXSiteReferrer',
'network.http.spdy.enabled.http2draft',
'network.http.spdy.enabled.v3-1',
'network.websocket.enabled',
'pageThumbs.enabled',
'pfs.datasource.url',
'plugin.scan.Acrobat',
'plugin.scan.Quicktime',
'plugin.scan.WindowsMediaPlayer',
'plugins.enumerable_names',
'plugins.update.notifyUser',
'plugins.update.url',
'privacy.clearOnShutdown.passwords',
'privacy.donottrackheader.value',
'security.mixed_content.send_hsts_priming',
'security.mixed_content.use_hsts',
'security.ssl3.ecdhe_ecdsa_rc4_128_sha',
'security.ssl3.ecdhe_rsa_rc4_128_sha',
'security.ssl3.rsa_rc4_128_md5',
'security.ssl3.rsa_rc4_128_sha',
'security.tls.insecure_fallback_hosts.use_static_list',
'security.tls.unrestricted_rc4_fallback',
'security.xpconnect.plugin.unrestricted',
'social.directories',
'social.enabled',
'social.remote-install.enabled',
'social.share.activationPanelEnabled',
'social.shareDirectory',
'social.toast-notifications.enabled',
'social.whitelist',
'toolkit.telemetry.unifiedIsOptIn',
/* REMOVED */
/* 103+ */
'browser.newtab.preload',
'browser.newtabpage.activity-stream.feeds.discoverystreamfeed',
'browser.newtabpage.activity-stream.feeds.snippets',
'browser.tabs.warnOnClose',
'dom.netinfo.enabled',
'dom.vr.enabled',
'extensions.formautofill.addresses.supported',
'extensions.formautofill.available',
'extensions.formautofill.creditCards.available',
'extensions.formautofill.creditCards.supported',
'network.http.altsvc.oe',
/* 92-102 */
'browser.urlbar.trimURLs',
'dom.caches.enabled',
'dom.storageManager.enabled',
'dom.storage_access.enabled',
'dom.targetBlankNoOpener.enabled',
'network.cookie.thirdparty.sessionOnly',
'network.cookie.thirdparty.nonsecureSessionOnly',
'privacy.firstparty.isolate.block_post_message',
'privacy.firstparty.isolate.restrict_opener_access',
'privacy.firstparty.isolate.use_site',
'privacy.window.name.update.enabled',
'security.insecure_connection_text.enabled',
/* 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.laterrun.enabled',
'browser.offline-apps.notify',
'browser.rights.3.shown',
'browser.safebrowsing.blockedURIs.enabled',
'browser.safebrowsing.downloads.remote.block_dangerous',
'browser.safebrowsing.downloads.remote.block_dangerous_host',
'browser.safebrowsing.provider.google.gethashURL',
'browser.safebrowsing.provider.google.reportMalwareMistakeURL',
'browser.safebrowsing.provider.google.reportPhishMistakeURL',
'browser.safebrowsing.provider.google.reportURL',
'browser.safebrowsing.provider.google.updateURL',
'browser.safebrowsing.provider.google4.dataSharing.enabled',
'browser.safebrowsing.provider.google4.dataSharingURL',
'browser.safebrowsing.provider.google4.gethashURL',
'browser.safebrowsing.provider.google4.reportMalwareMistakeURL',
'browser.safebrowsing.provider.google4.reportPhishMistakeURL',
'browser.safebrowsing.provider.google4.reportURL',
'browser.safebrowsing.provider.google4.updateURL',
'browser.safebrowsing.provider.mozilla.gethashURL',
'browser.safebrowsing.provider.mozilla.updateURL',
'browser.safebrowsing.reportPhishURL',
'browser.sessionhistory.max_total_viewers',
'browser.sessionstore.max_windows_undo',
'browser.slowStartup.maxSamples',
'browser.slowStartup.notificationDisabled',
'browser.slowStartup.samples',
'browser.storageManager.enabled',
'browser.urlbar.autoFill.typed',
'browser.urlbar.filter.javascript',
'browser.urlbar.maxHistoricalSearchSuggestions',
'browser.urlbar.userMadeSearchSuggestionsChoice',
'canvas.capturestream.enabled',
'dom.allow_scripts_to_close_windows',
'dom.disable_window_flip',
'dom.forms.datetime',
'dom.imagecapture.enabled',
'dom.popup_maximum',
'extensions.webextensions.keepStorageOnUninstall',
'extensions.webextensions.keepUuidOnUninstall',
'font.blacklist.underline_offset',
'font.name.monospace.x-unicode',
'font.name.monospace.x-western',
'font.name.sans-serif.x-unicode',
'font.name.sans-serif.x-western',
'font.name.serif.x-unicode',
'font.name.serif.x-western',
'gfx.offscreencanvas.enabled',
'javascript.options.shared_memory',
'layout.css.font-loading-api.enabled',
'media.gmp-gmpopenh264.autoupdate',
'media.gmp-gmpopenh264.enabled',
'media.gmp-manager.updateEnabled',
'media.gmp-manager.url',
'media.gmp-manager.url.override',
'media.gmp-widevinecdm.autoupdate',
'media.gmp.trial-create.enabled',
'media.navigator.video.enabled',
'media.peerconnection.ice.tcp',
'media.peerconnection.identity.enabled',
'media.peerconnection.identity.timeout',
'media.peerconnection.turn.disable',
'media.peerconnection.use_document_iceservers',
'media.peerconnection.video.enabled',
'network.auth.subresource-img-cross-origin-http-auth-allow',
'network.cookie.leave-secure-alone',
'network.cookie.same-site.enabled',
'network.dnsCacheEntries',
'network.dnsCacheExpiration',
'network.http.fast-fallback-to-IPv4',
'network.proxy.autoconfig_url.include_path',
'offline-apps.quota.warn',
'pdfjs.enableWebGL',
'plugin.default.state',
'plugin.defaultXpi.state',
'plugin.scan.plid.all',
'privacy.trackingprotection.annotate_channels',
'privacy.trackingprotection.lower_network_priority',
'privacy.trackingprotection.pbmode.enabled',
'privacy.trackingprotection.ui.enabled',
'security.data_uri.block_toplevel_data_uri_navigations',
'security.insecure_field_warning.contextual.enabled',
'security.insecure_password.ui.enabled',
'security.tls.version.fallback-limit',
'services.blocklist.addons.collection',
'services.blocklist.gfx.collection',
'services.blocklist.onecrl.collection',
'services.blocklist.plugins.collection',
'services.blocklist.signing.enforced',
'services.blocklist.update_enabled',
'signon.autofillForms.http',
'signon.storeWhenAutocompleteOff',
'toolkit.telemetry.cachedClientID',
'urlclassifier.trackingTable',
'xpinstall.whitelist.required',
/* 60 or lower */
'browser.migrate.automigrate.enabled',
'browser.search.geoip.timeout',
'browser.search.reset.enabled',
'browser.search.reset.whitelist',
'browser.stopReloadAnimation.enabled',
'browser.tabs.insertRelatedAfterCurrent',
'browser.tabs.loadDivertedInBackground',
'browser.tabs.loadInBackground',
'browser.tabs.selectOwnerOnClose',
'browser.urlbar.clickSelectsAll',
'browser.urlbar.doubleClickSelectsAll',
'device.storage.enabled',
'dom.keyboardevent.dispatch_during_composition',
'dom.presentation.controller.enabled',
'dom.presentation.discoverable',
'dom.presentation.discovery.enabled',
'dom.presentation.enabled',
'dom.presentation.receiver.enabled',
'dom.presentation.session_transport.data_channel.enable',
'dom.vr.oculus.enabled',
'dom.vr.openvr.enabled',
'dom.vr.osvr.enabled',
'extensions.pocket.api',
'extensions.pocket.oAuthConsumerKey',
'extensions.pocket.site',
'general.useragent.compatMode.firefox',
'geo.wifi.xhr.timeout',
'gfx.layerscope.enabled',
'media.flac.enabled',
'media.mediasource.enabled',
'media.mediasource.mp4.enabled',
'media.mediasource.webm.audio.enabled',
'media.mediasource.webm.enabled',
'media.mp4.enabled',
'media.ogg.enabled',
'media.ogg.flac.enabled',
'media.opus.enabled',
'media.raw.enabled',
'media.wave.enabled',
'media.webm.enabled',
'media.webspeech.recognition.enable',
'media.wmf.amd.vp9.enabled',
'media.wmf.enabled',
'media.wmf.vp9.enabled',
'network.dns.blockDotOnion',
'network.stricttransportsecurity.preloadlist',
'security.block_script_with_wrong_mime',
'security.fileuri.strict_origin_policy',
'security.sri.enable',
'services.sync.enabled',
'ui.submenuDelay',
'webextensions.storage.sync.enabled',
'webextensions.storage.sync.serverURL',
// 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',
/* IMPORTANT: last active pref must not have a trailing comma */
/* reset parrot: check your open about:config after running the script */
'_user.js.parrot'
];
console.clear();
let c = 0;
for (const sPname of aPREFS) {
if (Services.prefs.prefHasUserValue(sPname)) {
Services.prefs.clearUserPref(sPname);
if (!Services.prefs.prefHasUserValue(sPname)) {
console.info('reset', sPname);
c++;
} else console.warn('failed to reset', sPname);
}
}
focus();
const d = (c==1) ? ' pref' : ' prefs';
alert(c ? 'successfully reset ' + c + d + "\n\nfor details check the console" : 'nothing to reset');
return 'all done';
})();
@@ -1,61 +0,0 @@
/***
This will reset the preferences that are under sections 4600 & 4700 in the ghacks user.js
up to and including Firefox/ESR 68. 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() {
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',
/* section 4700 */
'general.useragent.override',
'general.buildID.override',
'general.appname.override',
'general.appversion.override',
'general.platform.override',
'general.oscpu.override',
/* reset parrot: check your open about:config after running the script */
'_user.js.parrot'
]
if("undefined" === typeof(Services)) {
alert("about:config needs to be the active tab!");
return;
}
let c = 0;
for (let i = 0, len = ops.length; i < len; i++) {
if (Services.prefs.prefHasUserValue(ops[i])) {
Services.prefs.clearUserPref(ops[i]);
if (!Services.prefs.prefHasUserValue(ops[i])) {
console.log("reset", ops[i]);
c++;
} else { console.log("failed to reset", ops[i]); }
}
}
focus();
let d = (c==1) ? " pref" : " prefs";
if (c > 0) {
alert("successfully reset " + c + d + "\n\nfor details check the Browser Console (Ctrl+Shift+J)");
} else { alert("nothing to reset"); }
})();
@@ -1,221 +0,0 @@
/***
This will reset the preferences that have been deprecated by Mozilla
and used in the ghacks user.js up to and including Firefox/ESR 68
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 */
/* 68 */
'browser.newtabpage.activity-stream.disableSnippets',
'browser.aboutHomeSnippets.updateUrl',
'lightweightThemes.update.enabled',
'security.csp.experimentalEnabled',
/* F67 */
'dom.event.highrestimestamp.enabled',
'browser.newtabpage.activity-stream.asrouter.userprefs.cfr',
/* 66 */
'browser.chrome.errorReporter.enabled',
'browser.chrome.errorReporter.submitUrl',
'network.allow-experiments',
/* 65 */
'browser.urlbar.autocomplete.enabled',
'browser.fixup.hide_user_pass',
/* 64 */
'browser.onboarding.enabled',
'devtools.webide.autoinstallADBHelper',
'devtools.webide.adbAddonURL',
'security.csp.enable_violation_events',
/* 63 */
'browser.search.countryCode',
'app.update.enabled',
'shield.savant.enabled',
'browser.chrome.favicons',
'media.autoplay.enabled',
'network.cookie.lifetime.days',
'browser.ctrlTab.previews',
/* 62 */
'plugin.state.java',
/* 61 */
'experiments.enabled',
'experiments.manifest.uri',
'experiments.supported',
'experiments.activeExperiment',
'network.jar.block-remote-files',
'network.jar.open-unsafe-types',
/* 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',
/* 59 */
'intl.locale.matchOS',
'general.useragent.locale',
'datareporting.healthreport.about.reportUrl',
'dom.flyweb.enabled',
'security.mixed_content.use_hsts',
'security.mixed_content.send_hsts_priming',
'network.http.referer.userControlPolicy',
'security.xpconnect.plugin.unrestricted',
'media.getusermedia.screensharing.allowed_domains',
'camera.control.face_detection.enabled',
'dom.disable_window_status_change',
'dom.idle-observers-api.enabled',
/* 58 */
'browser.crashReports.unsubmittedCheck.autoSubmit',
/* 57 */
'social.whitelist',
'social.toast-notifications.enabled',
'social.shareDirectory',
'social.remote-install.enabled',
'social.directories',
'social.share.activationPanelEnabled',
'social.enabled',
'media.eme.chromium-api.enabled',
'devtools.webide.autoinstallFxdtAdapters',
'browser.casting.enabled',
'browser.bookmarks.showRecentlyBookmarked',
/* 56 */
'extensions.screenshots.system-disabled',
'extensions.formautofill.experimental',
/* 55 */
'geo.security.allowinsecure',
'browser.selfsupport.enabled',
'browser.selfsupport.url',
'browser.newtabpage.directory.ping',
'browser.formfill.saveHttpsForms',
'browser.formautofill.enabled',
'dom.enable_user_timing',
'dom.keyboardevent.code.enabled',
'browser.tabs.animate',
'browser.fullscreen.animate',
/* 54 */
'browser.safebrowsing.reportMalwareMistakeURL',
'browser.safebrowsing.reportPhishMistakeURL',
'media.eme.apiVisible',
'dom.archivereader.enabled',
/* 53 */
'security.tls.unrestricted_rc4_fallback',
'plugin.scan.Acrobat',
'plugin.scan.Quicktime',
'plugin.scan.WindowsMediaPlayer',
'media.getusermedia.screensharing.allow_on_old_platforms',
'dom.beforeAfterKeyboardEvent.enabled',
/* 52 */
'network.http.sendSecureXSiteReferrer',
'media.gmp-eme-adobe.enabled',
'media.gmp-eme-adobe.visible',
'media.gmp-eme-adobe.autoupdate',
'dom.telephony.enabled',
'dom.battery.enabled',
/* 51 */
'media.block-play-until-visible',
'dom.vr.oculus050.enabled',
'network.http.spdy.enabled.v3-1',
/* 50 */
'browser.usedOnWindows10.introURL',
'plugins.update.notifyUser',
'browser.safebrowsing.enabled',
'security.ssl3.ecdhe_ecdsa_rc4_128_sha',
'security.ssl3.ecdhe_rsa_rc4_128_sha',
'security.ssl3.rsa_rc4_128_md5',
'security.ssl3.rsa_rc4_128_sha',
'plugins.update.url',
/* 49 */
'loop.enabled',
'loop.server',
'loop.feedback.formURL',
'loop.feedback.manualFormURL',
'loop.facebook.appId',
'loop.facebook.enabled',
'loop.facebook.fallbackUrl',
'loop.facebook.shareUrl',
'loop.logDomains',
'dom.disable_window_open_feature.scrollbars',
'dom.push.udp.wakeupEnabled',
/* 48 */
'browser.urlbar.unifiedcomplete',
/* 47 */
'toolkit.telemetry.unifiedIsOptIn',
'datareporting.healthreport.about.reportUrlUnified',
'browser.history.allowPopState',
'browser.history.allowPushState',
'browser.history.allowReplaceState',
/* 46 */
'datareporting.healthreport.service.enabled',
'datareporting.healthreport.documentServerURI',
'datareporting.policy.dataSubmissionEnabled.v2',
'browser.safebrowsing.appRepURL',
'browser.polaris.enabled',
'browser.pocket.enabled',
'browser.pocket.api',
'browser.pocket.site',
'browser.pocket.oAuthConsumerKey',
/* 45 */
'browser.sessionstore.privacy_level_deferred',
/* 44 */
'browser.safebrowsing.provider.google.appRepURL',
'security.tls.insecure_fallback_hosts.use_static_list',
'dom.workers.sharedWorkers.enabled',
'dom.disable_image_src_set',
/* 43 */
'browser.safebrowsing.gethashURL',
'browser.safebrowsing.updateURL',
'browser.safebrowsing.malware.reportURL',
'browser.trackingprotection.gethashURL',
'browser.trackingprotection.updateURL',
'pfs.datasource.url',
'browser.search.showOneOffButtons',
/* 42 and earlier */
'privacy.clearOnShutdown.passwords', // 42
'full-screen-api.approval-required', // 42
'browser.safebrowsing.reportErrorURL', // 41
'browser.safebrowsing.reportGenericURL', // 41
'browser.safebrowsing.reportMalwareErrorURL', // 41
'browser.safebrowsing.reportMalwareURL', // 41
'browser.safebrowsing.reportURL', // 41
'plugins.enumerable_names', // 41
'network.http.spdy.enabled.http2draft', // 41
'camera.control.autofocus_moving_callback.enabled', // 37
'privacy.donottrackheader.value', // 36
'network.websocket.enabled', // 35
'dom.network.enabled', // 31
'pageThumbs.enabled', // 25
/* reset parrot: check your open about:config after running the script */
'_user.js.parrot'
]
if("undefined" === typeof(Services)) {
alert("about:config needs to be the active tab!");
return;
}
let c = 0;
for (let i = 0, len = ops.length; i < len; i++) {
if (Services.prefs.prefHasUserValue(ops[i])) {
Services.prefs.clearUserPref(ops[i]);
if (!Services.prefs.prefHasUserValue(ops[i])) {
console.log("reset", ops[i]);
c++;
} else { console.log("failed to reset", ops[i]); }
}
}
focus();
let d = (c==1) ? " pref" : " prefs";
if (c > 0) {
alert("successfully reset " + c + d + "\n\nfor details check the Browser Console (Ctrl+Shift+J)");
} else { alert("nothing to reset"); }
})();
@@ -1,248 +0,0 @@
/***
This will reset the preferences that have been removed completely from the ghacks user.js.
Last updated: 19-December-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',
/* 67-beta */
'app.update.service.enabled',
'app.update.silent',
'app.update.staging.enabled',
'browser.cache.disk.capacity',
'browser.cache.disk.smart_size.enabled',
'browser.cache.disk.smart_size.first_run',
'browser.cache.offline.insecure.enable',
'browser.safebrowsing.downloads.remote.url',
'browser.safebrowsing.provider.google.reportMalwareMistakeURL',
'browser.safebrowsing.provider.google.reportPhishMistakeURL',
'browser.safebrowsing.provider.google.reportURL',
'browser.safebrowsing.provider.google4.dataSharing.enabled',
'browser.safebrowsing.provider.google4.dataSharingURL',
'browser.safebrowsing.provider.google4.reportMalwareMistakeURL',
'browser.safebrowsing.provider.google4.reportPhishMistakeURL',
'browser.safebrowsing.provider.google4.reportURL',
'browser.safebrowsing.reportPhishURL',
'browser.sessionhistory.max_total_viewers',
'browser.urlbar.filter.javascript',
'canvas.capturestream.enabled',
'dom.imagecapture.enabled',
'dom.popup_maximum',
'gfx.offscreencanvas.enabled',
'javascript.options.shared_memory',
'media.gmp-gmpopenh264.autoupdate',
'media.gmp-gmpopenh264.enabled',
'media.gmp-manager.updateEnabled',
'media.gmp-manager.url',
'media.gmp-manager.url.override',
'media.gmp.trial-create.enabled',
'media.gmp-widevinecdm.autoupdate',
'network.cookie.leave-secure-alone',
'network.cookie.same-site.enabled',
'network.dnsCacheEntries',
'network.dnsCacheExpiration',
'network.proxy.autoconfig_url.include_path',
'pdfjs.enableWebGL',
'plugin.default.state',
'plugin.defaultXpi.state',
'plugin.scan.plid.all',
'security.data_uri.block_toplevel_data_uri_navigations',
'security.insecure_field_warning.contextual.enabled',
'security.insecure_password.ui.enabled',
'signon.autofillForms.http',
'signon.storeWhenAutocompleteOff',
'xpinstall.whitelist.required',
/* 67-beta: Blocklist, SB & TP cleanup: these were all inactive */
'browser.safebrowsing.downloads.remote.block_dangerous',
'browser.safebrowsing.downloads.remote.block_dangerous_host',
'browser.safebrowsing.blockedURIs.enabled',
'browser.safebrowsing.provider.google.gethashURL',
'browser.safebrowsing.provider.google.updateURL',
'browser.safebrowsing.provider.google4.gethashURL',
'browser.safebrowsing.provider.google4.updateURL',
'browser.safebrowsing.provider.mozilla.gethashURL',
'browser.safebrowsing.provider.mozilla.updateURL',
'browser.urlbar.userMadeSearchSuggestionsChoice',
'privacy.trackingprotection.annotate_channels',
'privacy.trackingprotection.enabled',
'privacy.trackingprotection.lower_network_priority',
'privacy.trackingprotection.pbmode.enabled',
'services.blocklist.addons.collection',
'services.blocklist.gfx.collection',
'services.blocklist.onecrl.collection',
'services.blocklist.plugins.collection',
'services.blocklist.update_enabled',
'urlclassifier.trackingTable',
/* 68-beta */
'dom.forms.datetime',
'font.blacklist.underline_offset',
'font.name.monospace.x-unicode',
'font.name.monospace.x-western',
'font.name.sans-serif.x-unicode',
'font.name.sans-serif.x-western',
'font.name.serif.x-unicode',
'font.name.serif.x-western',
'layout.css.font-loading-api.enabled',
'toolkit.telemetry.cachedClientID',
/* 69-beta */
'plugin.sessionPermissionNow.intervalInMinutes',
/* 70-beta */
'browser.cache.disk_cache_ssl',
'browser.sessionhistory.max_entries',
'dom.push.connection.enabled',
'dom.push.serverURL',
'extensions.getAddons.discovery.api_url',
'extensions.htmlaboutaddons.discover.enabled',
'extensions.webservice.discoverURL',
'intl.locale.requested',
'intl.regional_prefs.use_os_locales',
'privacy.usercontext.about_newtab_segregation.enabled',
'security.insecure_connection_icon.pbmode.enabled',
'security.insecure_connection_text.pbmode.enabled',
'webgl.dxgl.enabled',
/* 71-beta */
'media.block-autoplay-until-in-foreground',
'middlemouse.paste',
/* 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"); }
})();
+17 -20
View File
@@ -1,5 +1,4 @@
/*** arkenfox user.js troubleshooter.js v1.6.3 ***/
/*** ghacks-user.js troubleshooter.js v1.6.0 ***/
(function() { (function() {
@@ -17,9 +16,7 @@
/* Storage + Cache */ /* Storage + Cache */
'browser.cache.offline.enable', 'browser.cache.offline.enable',
'dom.indexedDB.enabled',
'dom.storage.enabled', 'dom.storage.enabled',
'browser.storageManager.enabled',
'dom.storageManager.enabled', 'dom.storageManager.enabled',
/* Workers, Web + Push Notifications */ /* Workers, Web + Push Notifications */
@@ -34,7 +31,6 @@
/* Fonts */ /* Fonts */
'browser.display.use_document_fonts', 'browser.display.use_document_fonts',
'font.blacklist.underline_offset', 'font.blacklist.underline_offset',
'gfx.downloadable_fonts.woff2.enabled',
'gfx.font_rendering.graphite.enabled', 'gfx.font_rendering.graphite.enabled',
'gfx.font_rendering.opentype_svg.enabled', 'gfx.font_rendering.opentype_svg.enabled',
'layout.css.font-loading-api.enabled', 'layout.css.font-loading-api.enabled',
@@ -47,12 +43,10 @@
'dom.IntersectionObserver.enabled', 'dom.IntersectionObserver.enabled',
'dom.popup_allowed_events', 'dom.popup_allowed_events',
'full-screen-api.enabled', 'full-screen-api.enabled',
'geo.wifi.uri',
'intl.accept_languages', 'intl.accept_languages',
'javascript.options.asmjs', 'javascript.options.asmjs',
'javascript.options.wasm', 'javascript.options.wasm',
'permissions.default.shortcuts', 'permissions.default.shortcuts',
'security.csp.experimentalEnabled',
/* Hardware */ /* Hardware */
'dom.vr.enabled', 'dom.vr.enabled',
@@ -60,8 +54,8 @@
/* Audio + Video */ /* Audio + Video */
'dom.webaudio.enabled', 'dom.webaudio.enabled',
'media.autoplay.enabled',
'media.autoplay.default', // FF63+ 'media.autoplay.default', // FF63+
'media.autoplay.blocking_policy', // FF78+
/* Forms */ /* Forms */
'browser.formfill.enable', 'browser.formfill.enable',
@@ -88,13 +82,11 @@
/* Plugins + Flash */ /* Plugins + Flash */
'plugin.default.state', 'plugin.default.state',
'plugin.defaultXpi.state',
'plugin.sessionPermissionNow.intervalInMinutes',
'plugin.state.flash', 'plugin.state.flash',
/* unlikely to cause problems */ /* unlikely to cause problems */
'browser.tabs.remote.allowLinkedWebInFileUriProcess',
'dom.popup_maximum', 'dom.popup_maximum',
'geo.provider.network.url',
'layout.css.visited_links_enabled', 'layout.css.visited_links_enabled',
'mathml.disabled', 'mathml.disabled',
'network.auth.subresource-http-auth-allow', 'network.auth.subresource-http-auth-allow',
@@ -102,12 +94,13 @@
'network.protocol-handler.external.ms-windows-store', 'network.protocol-handler.external.ms-windows-store',
'privacy.trackingprotection.enabled', 'privacy.trackingprotection.enabled',
'security.data_uri.block_toplevel_data_uri_navigations', 'security.data_uri.block_toplevel_data_uri_navigations',
'privacy.window.name.update.enabled', // FF82+
'last.one.without.comma' 'last.one.without.comma'
] ]
// any runtime-set pref that everyone will have and that can be safely reset // any runtime-set pref that everyone will have and that can be safely reset
const oFILLER = { type: 64, name: 'extensions.blocklist.pingCountTotal', value: -1 }; const oFILLER = { type: 64, name: 'app.update.lastUpdateTime.browser-cleanup-thumbnails', value: 1580000000 };
function getMyList(arr) { function getMyList(arr) {
const aRet = []; const aRet = [];
@@ -167,8 +160,8 @@
reapply(aALL); reapply(aALL);
myreset(aTmp.slice(0, _h(aTmp))); myreset(aTmp.slice(0, _h(aTmp)));
while (aTmp.length) { while (aTmp.length) {
alert("NOW TEST AGAIN !"); alert('NOW TEST AGAIN !');
if (confirm("if the problem still exists click OK, otherwise click cancel.")) { if (confirm('if the problem still exists click OK, otherwise click Cancel.')) {
aTmp = aTmp.slice(_h(aTmp)); aTmp = aTmp.slice(_h(aTmp));
} else { } else {
aTmp = aTmp.slice(0, _h(aTmp)); aTmp = aTmp.slice(0, _h(aTmp));
@@ -182,16 +175,16 @@
if (aDbg.length == 1) return alert("narrowed it down to:\n\n"+aDbg[0].name+"\n"); if (aDbg.length == 1) return alert("narrowed it down to:\n\n"+aDbg[0].name+"\n");
if (aDbg.length == aALL.length) { if (aDbg.length == aALL.length) {
let msg = "Failed to narrow it down beyond the initial "+aALL.length+" prefs. The problem is most likely caused by at least 2 prefs!\n\n"; const msg = "Failed to narrow it down beyond the initial "+aALL.length+" prefs. The problem is most likely caused by at least 2 prefs!\n\n" +
msg += "Either those prefs are too far apart in the list or there are exactly 2 culprits and they just happen to be at the wrong place.\n\n"; "Either those prefs are too far apart in the list or there are exactly 2 culprits and they just happen to be at the wrong place.\n\n" +
msg += "In case it's the latter, the script can add a dummy pref and you can try again - Try again?"; "In case it's the latter, the script can add a dummy pref and you can try again - Try again?";
if (confirm(msg)) return _main([...aALL, oFILLER]); if (confirm(msg)) return _main([...aALL, oFILLER]);
} else if (aDbg.length > 10 && confirm("Narrowed it down to "+aDbg.length+" prefs. Try narrowing it down further?")) { } else if (aDbg.length > 10 && confirm("Narrowed it down to "+aDbg.length+" prefs. Try narrowing it down further?")) {
return _main(aDbg.reverse()); return _main(aDbg.reverse());
} }
alert("Narrowed it down to "+ aDbg.length.toString() +" prefs, check the console ..."); alert("Narrowed it down to "+ aDbg.length.toString() +" prefs, check the console ...");
console.log("The problem is caused by 2 or more of these prefs:"); console.log('The problem is caused by 2 or more of these prefs:');
for (const oPref of aDbg) console.log(oPref.name); for (const oPref of aDbg) console.log(oPref.name);
} }
@@ -201,13 +194,17 @@
const aBAK = getMyList(aPREFS); const aBAK = getMyList(aPREFS);
//console.log(aBAK.length, "user-set prefs from our list detected and their values stored."); //console.log(aBAK.length, "user-set prefs from our list detected and their values stored.");
const sMsg = "all detected prefs reset.\n\n" +
"!! KEEP THIS PROMPT OPEN AND TEST THE SITE IN ANOTHER TAB !!\n\n" +
"IF the problem still exists, this script can't help you - click Cancel to re-apply your values and exit.\n\n" +
"Click OK if your problem is fixed.";
focus(); focus();
myreset(aBAK); myreset(aBAK);
if (!confirm("all detected prefs reset.\n\n!! KEEP THIS PROMPT OPEN AND TEST THE SITE IN ANOTHER TAB !!\n\nIF the problem still exists, this script can't help you - click cancel to re-apply your values and exit.\n\nClick OK if your problem is fixed.")) { if (!confirm(sMsg)) {
reapply(aBAK); reapply(aBAK);
return; return;
} }
_main(aBAK); _main(aBAK);
})(); })();
+28 -20
View File
@@ -1,12 +1,12 @@
@ECHO OFF & SETLOCAL EnableDelayedExpansion @ECHO OFF & SETLOCAL EnableDelayedExpansion
TITLE ghacks user.js updater TITLE arkenfox user.js updater
REM ## ghacks-user.js updater for Windows REM ## arkenfox user.js updater for Windows
REM ## author: @claustromaniac REM ## author: @claustromaniac
REM ## version: 4.10 REM ## version: 4.16
REM ## instructions: https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.3-Updater-Scripts REM ## instructions: https://github.com/arkenfox/user.js/wiki/5.1-Updater-[Options]#-windows
SET v=4.10 SET v=4.15
VERIFY ON VERIFY ON
CD /D "%~dp0" CD /D "%~dp0"
@@ -23,11 +23,19 @@ IF /I "%~1"=="-merge" (SET _merge=1)
IF /I "%~1"=="-updatebatch" (SET _updateb=1) IF /I "%~1"=="-updatebatch" (SET _updateb=1)
IF /I "%~1"=="-singlebackup" (SET _singlebackup=1) IF /I "%~1"=="-singlebackup" (SET _singlebackup=1)
IF /I "%~1"=="-esr" (SET _esr=1) IF /I "%~1"=="-esr" (SET _esr=1)
IF /I "%~1"=="-rfpalts" (SET _rfpalts=1)
SHIFT SHIFT
GOTO parse GOTO parse
:endparse :endparse
FOR /F %%i IN ('PowerShell -Command "[Enum]::GetNames([Net.SecurityProtocolType]) -contains 'Tls12'"') DO (
IF "%%i" == "False" (
CALL :message "Your PowerShell version doesn't support TLS1.2 ^!"
ECHO: Instructions to update PowerShell are on the arkenfox wiki
PAUSE
EXIT
)
)
IF DEFINED _updateb ( IF DEFINED _updateb (
REM The normal flow here goes from phase 1 to phase 2 and then phase 3. REM The normal flow here goes from phase 1 to phase 2 and then phase 3.
IF NOT "!_myname:~0,9!"=="[updated]" ( IF NOT "!_myname:~0,9!"=="[updated]" (
@@ -51,9 +59,7 @@ IF DEFINED _updateb (
CALL :message "Updating script..." CALL :message "Updating script..."
REM Uncomment the next line and comment out the PowerShell call for testing. REM Uncomment the next line and comment out the PowerShell call for testing.
REM COPY /B /Y "!_myname!.bat" "[updated]!_myname!.bat" >nul REM COPY /B /Y "!_myname!.bat" "[updated]!_myname!.bat" >nul
( CALL :psdownload https://raw.githubusercontent.com/arkenfox/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" ( IF EXIST "[updated]!_myname!.bat" (
START /min CMD /C "[updated]!_myname!.bat" !_myparams! START /min CMD /C "[updated]!_myname!.bat" !_myparams!
) ELSE ( ) ELSE (
@@ -100,7 +106,10 @@ IF NOT EXIST user.js (
) )
:exitloop :exitloop
IF NOT "!_name!"=="" ( IF NOT "!_name!"=="" (
IF /I NOT "!_name!"=="!_name:ghacks=!" ( SET "_tempvar="
IF /I NOT "!_name!"=="!_name:ghacks=!" SET _tempvar=1
IF /I NOT "!_name!"=="!_name:arkenfox=!" SET _tempvar=1
IF !_tempvar! EQU 1 (
CALL :message "!_name! !_version:~2!,!_date!" CALL :message "!_name! !_version:~2!,!_date!"
) ELSE (CALL :message "Current user.js version not recognised.") ) ELSE (CALL :message "Current user.js version not recognised.")
) ELSE (CALL :message "Current user.js version not recognised.") ) ELSE (CALL :message "Current user.js version not recognised.")
@@ -108,7 +117,7 @@ IF NOT EXIST user.js (
ECHO: ECHO:
IF NOT DEFINED _ua ( IF NOT DEFINED _ua (
CALL :message "This batch should be run from your Firefox profile directory." CALL :message "This batch should be run from your Firefox profile directory."
ECHO: It will download the latest version of ghacks user.js from github and then ECHO: It will download the latest version of arkenfox user.js from github and then
CALL :message "append any of your own changes from user-overrides.js to it." CALL :message "append any of your own changes from user-overrides.js to it."
CALL :message "Visit the wiki for more detailed information." CALL :message "Visit the wiki for more detailed information."
ECHO: ECHO:
@@ -129,14 +138,8 @@ IF DEFINED _log (
) )
IF EXIST user.js.new (DEL /F "user.js.new") IF EXIST user.js.new (DEL /F "user.js.new")
CALL :message "Retrieving latest user.js file from github repository..." CALL :message "Retrieving latest user.js file from github repository..."
( CALL :psdownload https://raw.githubusercontent.com/arkenfox/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 EXIST user.js.new (
IF DEFINED _rfpalts (
CALL :message "Activating RFP Alternatives section..."
CALL :activate user.js.new "[SETUP-non-RFP]"
)
IF DEFINED _esr ( IF DEFINED _esr (
CALL :message "Activating ESR section..." CALL :message "Activating ESR section..."
CALL :activate user.js.new ".x still uses all the following prefs" CALL :activate user.js.new ".x still uses all the following prefs"
@@ -215,6 +218,13 @@ IF NOT "2"=="%_log%" (ECHO:)
ENDLOCAL ENDLOCAL
GOTO :EOF GOTO :EOF
::::::::::::::: Download :::::::::::::::
:psdownload
(
PowerShell -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; (New-Object Net.WebClient).DownloadFile('%~1', '%~2')"
) >nul 2>&1
GOTO :EOF
::::::::::::::: Activate Section ::::::::::::::: ::::::::::::::: Activate Section :::::::::::::::
:activate :activate
:: arg1 = file :: arg1 = file
@@ -305,8 +315,6 @@ ECHO: Run without user input.
CALL :message " -singleBackup" CALL :message " -singleBackup"
ECHO: Use a single backup file and overwrite it on new updates, instead of ECHO: Use a single backup file and overwrite it on new updates, instead of
ECHO: cumulative backups. This was the default behaviour before v4.3. ECHO: cumulative backups. This was the default behaviour before v4.3.
CALL :message " -rfpAlts"
ECHO: Activate RFP Alternatives section
CALL :message " -updateBatch" CALL :message " -updateBatch"
ECHO: Update the script itself on execution, before the normal routine. ECHO: Update the script itself on execution, before the normal routine.
CALL :message "" CALL :message ""
+122 -159
View File
@@ -1,18 +1,18 @@
#!/usr/bin/env bash #!/usr/bin/env bash
## ghacks-user.js updater for macOS and Linux ## arkenfox user.js updater for macOS and Linux
## version: 2.5 ## version: 3.5
## Author: Pat Johnson (@overdodactyl) ## Author: Pat Johnson (@overdodactyl)
## Additional contributors: @earthlng, @ema-pe, @claustromaniac ## Additional contributors: @earthlng, @ema-pe, @claustromaniac, @infinitewarp
## DON'T GO HIGHER THAN VERSION x.9 !! ( because of ASCII comparison in update_updater() ) ## DON'T GO HIGHER THAN VERSION x.9 !! ( because of ASCII comparison in update_updater() )
readonly CURRDIR=$(pwd) readonly CURRDIR=$(pwd)
sfp=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null || greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null) SCRIPT_FILE=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null || greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null)
if [ -z "$sfp" ]; then sfp=${BASH_SOURCE[0]}; fi [ -z "$SCRIPT_FILE" ] && SCRIPT_FILE=${BASH_SOURCE[0]}
readonly SCRIPT_DIR=$(dirname "${sfp}") readonly SCRIPT_DIR=$(dirname "${SCRIPT_FILE}")
######################### #########################
@@ -41,28 +41,28 @@ 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' DOWNLOAD_METHOD='curl --max-redirs 3 -so'
elif [[ $(command -v 'wget') ]]; then elif command -v wget >/dev/null; then
DOWNLOAD_METHOD='wget' 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}"
exit 0 exit 1
fi fi
show_banner () { show_banner() {
echo -e "${BBLUE}\n" echo -e "${BBLUE}
echo ' ############################################################################' ############################################################################
echo ' #### ####' #### ####
echo ' #### ghacks user.js ####' #### arkenfox user.js ####
echo ' #### Hardening the Privacy and Security Settings of Firefox ####' #### Hardening the Privacy and Security Settings of Firefox ####
echo ' #### Maintained by @Thorin-Oakenpants and @earthlng ####' #### Maintained by @Thorin-Oakenpants and @earthlng ####
echo ' #### Updater for macOS and Linux by @overdodactyl ####' #### Updater for macOS and Linux by @overdodactyl ####
echo ' #### ####' #### ####
echo ' ############################################################################' ############################################################################"
echo -e "${NC}\n" 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" echo -e "Documentation for this script is available here: ${CYAN}https://github.com/arkenfox/user.js/wiki/5.1-Updater-[Options]#-maclinux${NC}\n"
} }
######################### #########################
@@ -70,123 +70,101 @@ show_banner () {
######################### #########################
usage() { 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
echo 'Optional Arguments:' echo -e "${BLUE}Usage: $0 [-bcdehlnrsuv] [-p PROFILE] [-o OVERRIDE]${NC}" 1>&2 # Echo usage string to standard error
echo -e "\t-h,\t\t Show this help message and exit." echo -e "
echo -e "\t-p PROFILE,\t Path to your Firefox profile (if different than the dir of this script)" Optional Arguments:
echo -e "\t\t\t IMPORTANT: if the path include spaces, wrap the entire argument in quotes." -h Show this help message and exit.
echo -e "\t-l, \t\t Choose your Firefox profile from a list" -p PROFILE Path to your Firefox profile (if different than the dir of this script)
echo -e "\t-u,\t\t Update updater.sh and execute silently. Do not seek confirmation." IMPORTANT: If the path contains spaces, wrap the entire argument in quotes.
echo -e "\t-d,\t\t Do not look for updates to updater.sh." -l Choose your Firefox profile from a list
echo -e "\t-s,\t\t Silently update user.js. Do not seek confirmation." -u Update updater.sh and execute silently. Do not seek confirmation.
echo -e "\t-b,\t\t Only keep one backup of each file." -d Do not look for updates to updater.sh.
echo -e "\t-c,\t\t Create a diff file comparing old and new user.js within userjs_diffs. " -s Silently update user.js. Do not seek confirmation.
echo -e "\t-o OVERRIDE,\t Filename or path to overrides file (if different than user-overrides.js)." -b Only keep one backup of each file.
echo -e "\t\t\t If used with -p, paths should be relative to PROFILE or absolute paths" -c Create a diff file comparing old and new user.js within userjs_diffs.
echo -e "\t\t\t If given a directory, all files inside will be appended recursively." -o OVERRIDE Filename or path to overrides file (if different than user-overrides.js).
echo -e "\t\t\t You can pass multiple files or directories by passing a comma separated list." If used with -p, paths should be relative to PROFILE or absolute paths
echo -e "\t\t\t\t Note: If a directory is given, only files inside ending in the extension .js are appended" If given a directory, all files inside will be appended recursively.
echo -e "\t\t\t\t IMPORTANT: do not add spaces between files/paths. Ex: -o file1.js,file2.js,dir1" You can pass multiple files or directories by passing a comma separated list.
echo -e "\t\t\t\t IMPORTANT: if any files/paths include spaces, wrap the entire argument in quotes." Note: If a directory is given, only files inside ending in the extension .js are appended
echo -e "\t\t\t\t\t Ex: -o \"override folder\" " IMPORTANT: Do not add spaces between files/paths. Ex: -o file1.js,file2.js,dir1
echo -e "\t-n,\t\t Do not append any overrides, even if user-overrides.js exists." IMPORTANT: If any file/path contains spaces, wrap the entire argument in quotes.
echo -e "\t-v,\t\t Open the resulting user.js file." Ex: -o \"override folder\"
echo -e "\t-r,\t\t Only download user.js to a temporary file and open it." -n Do not append any overrides, even if user-overrides.js exists.
echo -e "\t-e,\t\t Activate ESR related preferences." -v Open the resulting user.js file.
echo -e -r Only download user.js to a temporary file and open it.
echo 'Deprecated Arguments (they still work for now):' -e Activate ESR related preferences."
echo -e "\t-donotupdate,\t Use instead -d" echo
echo -e "\t-update,\t Use instead -u"
echo -e
exit 1 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 # # File Handling #
######################### #########################
# Download files download_file() { # expects URL as argument ($1)
download_file () {
declare -r url=$1
declare -r tf=$(mktemp) declare -r tf=$(mktemp)
local dlcmd=''
if [ $DOWNLOAD_METHOD = 'curl' ]; then $DOWNLOAD_METHOD "${tf}" "$1" &>/dev/null && echo "$tf" || echo '' # return the temp-filename or empty string on error
dlcmd="curl -o $tf"
else
dlcmd="wget -O $tf"
fi
$dlcmd "${url}" &>/dev/null && echo "$tf" || echo '' # return the temp-filename (or empty string on error)
} }
open_file () { #expects one argument: file_path open_file() { # expects one argument: file_path
if [ "$(uname)" == 'Darwin' ]; then if [ "$(uname)" == 'Darwin' ]; then
open "$1" open "$1"
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then elif [ "$(uname -s | cut -c -5)" == "Linux" ]; then
xdg-open "$1" xdg-open "$1"
else else
echo -e "${RED}Error: Sorry, opening files is not supported for your OS.${NC}" echo -e "${RED}Error: Sorry, opening files is not supported for your OS.${NC}"
fi fi
} }
readIniFile () { # expects one argument: absolute path of profiles.ini readIniFile() { # expects one argument: absolute path of profiles.ini
declare -r inifile="$1" declare -r inifile="$1"
declare -r tfile=$(mktemp)
if [ $(grep '^\[Profile' "$inifile" | wc -l) == "1" ]; then ### only 1 profile found # tempIni will contain: [ProfileX], Name=, IsRelative= and Path= (and Default= if present) of the only (if) or the selected (else) profile
grep '^\[Profile' -A 4 "$inifile" | grep -v '^\[Profile' > $tfile if [ "$(grep -c '^\[Profile' "${inifile}")" -eq "1" ]; then ### only 1 profile found
tempIni="$(grep '^\[Profile' -A 4 "${inifile}")"
else else
grep -E -v '^\[General\]|^StartWithLastProfile=|^IsRelative=' "$inifile" echo -e "Profiles found:\n––––––––––––––––––––––––––––––"
echo '' ## cmd-substitution to strip trailing newlines and in quotes to keep internal ones:
echo "$(grep --color=never -E 'Default=[^1]|\[Profile[0-9]*\]|Name=|Path=|^$' "${inifile}")"
echo '––––––––––––––––––––––––––––––'
read -p 'Select the profile number ( 0 for Profile0, 1 for Profile1, etc ) : ' -r read -p 'Select the profile number ( 0 for Profile0, 1 for Profile1, etc ) : ' -r
echo -e "\n" echo -e "\n"
if [[ $REPLY =~ ^(0|[1-9][0-9]*)$ ]]; then if [[ $REPLY =~ ^(0|[1-9][0-9]*)$ ]]; then
grep '^\[Profile'${REPLY} -A 4 "$inifile" | grep -v '^\[Profile'${REPLY} > $tfile tempIni="$(grep "^\[Profile${REPLY}" -A 4 "${inifile}")" || {
if [[ "$?" != "0" ]]; then echo -e "${RED}Profile${REPLY} does not exist!${NC}" && exit 1
echo "Profile${REPLY} does not exist!" && exit 1 }
fi
else else
echo "Invalid selection!" && exit 1 echo -e "${RED}Invalid selection!${NC}" && exit 1
fi fi
fi fi
declare -r profpath=$(grep '^Path=' $tfile) # extracting 0 or 1 from the "IsRelative=" line
declare -r pathisrel=$(grep '^IsRelative=' $tfile) declare -r pathisrel=$(sed -n 's/^IsRelative=\([01]\)$/\1/p' <<< "${tempIni}")
rm "$tfile" # extracting only the path itself, excluding "Path="
PROFILE_PATH=$(sed -n 's/^Path=\(.*\)$/\1/p' <<< "${tempIni}")
# update global variable # update global variable if path is relative
if [[ ${pathisrel#*=} == "1" ]]; then [[ ${pathisrel} == "1" ]] && PROFILE_PATH="$(dirname "${inifile}")/${PROFILE_PATH}"
PROFILE_PATH="$(dirname "$inifile")/${profpath#*=}"
else
PROFILE_PATH="${profpath#*=}"
fi
} }
getProfilePath () { getProfilePath() {
declare -r f1=~/Library/Application\ Support/Firefox/profiles.ini declare -r f1=~/Library/Application\ Support/Firefox/profiles.ini
declare -r f2=~/.mozilla/firefox/profiles.ini declare -r f2=~/.mozilla/firefox/profiles.ini
if [ "$PROFILE_PATH" = false ]; then if [ "$PROFILE_PATH" = false ]; then
PROFILE_PATH="$SCRIPT_DIR" PROFILE_PATH="$SCRIPT_DIR"
elif [ "$PROFILE_PATH" = 'list' ]; then elif [ "$PROFILE_PATH" = 'list' ]; then
local ini=''
if [[ -f "$f1" ]]; then if [[ -f "$f1" ]]; then
ini="$f1" readIniFile "$f1" # updates PROFILE_PATH or exits on error
elif [[ -f "$f2" ]]; then elif [[ -f "$f2" ]]; then
ini="$f2" readIniFile "$f2"
else else
echo -e "${RED}Error: Sorry, -l is not supported for your OS${NC}" echo -e "${RED}Error: Sorry, -l is not supported for your OS${NC}"
exit 1 exit 1
fi fi
readIniFile "$ini" # updates PROFILE_PATH or exits on error
#else #else
# PROFILE_PATH already set by user with -p # PROFILE_PATH already set by user with -p
fi fi
@@ -197,62 +175,54 @@ 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
# Default: Check for update, if available, ask user if they want to execute it # Default: Check for update, if available, ask user if they want to execute it
# Args: # Args:
# -donotupdate: 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
# -update: Check for update, if available, execute without asking # -u: Check for update, if available, execute without asking
update_updater () { update_updater() {
if [ $UPDATE = 'no' ]; then [ "$UPDATE" = 'no' ] && return 0 # User signified not to check for updates
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') declare -r tmpfile="$(download_file 'https://raw.githubusercontent.com/arkenfox/user.js/master/updater.sh')"
[ -z "${tmpfile}" ] && echo -e "${RED}Error! Could not download updater.sh${NC}" && return 1 # check if download failed
if [[ $(get_updater_version "${SCRIPT_DIR}/updater.sh") < $(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"
if [[ $REPLY =~ ^[Nn]$ ]]; then [[ $REPLY =~ ^[Yy]$ ]] || return 0 # Update available, but user chooses not to update
return 0 # Update available, but user chooses not to update
fi
fi fi
else else
return 0 # No update available return 0 # No update available
fi fi
mv "${tmpfile}" "${SCRIPT_DIR}/updater.sh" mv "${tmpfile}" "$SCRIPT_FILE"
chmod u+x "${SCRIPT_DIR}/updater.sh" chmod u+x "$SCRIPT_FILE"
"${SCRIPT_DIR}/updater.sh" "$@" -d "$SCRIPT_FILE" "$@" -d
exit 1 exit 0
} }
######################### #########################
# Update user.js # # Update user.js #
######################### #########################
# Returns version number of a user.js file # Returns version number of a user.js file
get_userjs_version () { get_userjs_version() {
if [ -e $1 ]; then [ -e "$1" ] && echo "$(sed -n '4p' "$1")" || echo "Not detected."
echo "$(sed -n '4p' "$1")"
else
echo "Not detected."
fi
} }
add_override () { add_override() {
input=$1 input=$1
if [ -f "$input" ]; then if [ -f "$input" ]; then
echo "" >> user.js echo "" >> user.js
cat "$input" >> user.js cat "$input" >> user.js
echo -e "Status: ${GREEN}Override file appended:${NC} ${input}" echo -e "Status: ${GREEN}Override file appended:${NC} ${input}"
elif [ -d "$input" ]; then elif [ -d "$input" ]; then
FSAVEIFS=$IFS SAVEIFS=$IFS
IFS=$'\n\b' # Set IFS IFS=$'\n\b' # Set IFS
FILES="${input}"/*.js FILES="${input}"/*.js
for f in $FILES for f in $FILES
@@ -265,26 +235,27 @@ add_override () {
fi fi
} }
remove_comments () { # expects 2 arguments: from-file and to-file remove_comments() { # expects 2 arguments: from-file and to-file
sed -e 's/^[[:space:]]*\/\/.*$//' -e '/^\/\*/,/\*\//d' -e '/^[[:space:]]*$/d' -e 's/);[[:space:]]*\/\/.*/);/' "$1" > "$2" sed -e '/^\/\*.*\*\/[[:space:]]*$/d' -e '/^\/\*/,/\*\//d' -e 's|^[[:space:]]*//.*$||' -e '/^[[:space:]]*$/d' -e 's|);[[:space:]]*//.*|);|' "$1" > "$2"
} }
# Applies latest version of user.js and any custom overrides # Applies latest version of user.js and any custom overrides
update_userjs () { update_userjs() {
declare -r newfile=$(download_file 'https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/user.js') declare -r newfile="$(download_file 'https://raw.githubusercontent.com/arkenfox/user.js/master/user.js')"
[ -z "${newfile}" ] && echo -e "${RED}Error! Could not download user.js${NC}" && return 1 # check if download failed
echo 'Please observe the following information:' echo -e "Please observe the following information:
echo -e "\tFirefox profile: ${ORANGE}$(pwd)${NC}" Firefox profile: ${ORANGE}$(pwd)${NC}
echo -e "\tAvailable online: ${ORANGE}$(get_userjs_version $newfile)${NC}" Available online: ${ORANGE}$(get_userjs_version "$newfile")${NC}
echo -e "\tCurrently using: ${ORANGE}$(get_userjs_version user.js)\n${NC}\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 =~ ^[Yy]$ ]]; 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
@@ -298,9 +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")"
if [ $BACKUP = 'single' ]; then [ "$BACKUP" = 'single' ] && bakname='userjs_backups/user.js.backup'
bakname='userjs_backups/user.js.backup'
fi
cp user.js "$bakname" &>/dev/null cp user.js "$bakname" &>/dev/null
mv "${newfile}" user.js mv "${newfile}" user.js
@@ -313,8 +282,10 @@ update_userjs () {
# apply overrides # apply overrides
if [ "$SKIPOVERRIDE" = false ]; then if [ "$SKIPOVERRIDE" = false ]; then
while IFS=',' read -ra FILE; do while IFS=',' read -ra FILES; do
for FILE in "${FILES[@]}"; do
add_override "$FILE" add_override "$FILE"
done
done <<< "$OVERRIDE" done <<< "$OVERRIDE"
fi fi
@@ -324,24 +295,22 @@ 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}"
if [ $BACKUP = 'multiple' ]; then [ "$BACKUP" = 'multiple' ] && rm "$bakname" &>/dev/null
rm $bakname &>/dev/null
fi fi
fi rm "$past_nocomments" "$current_nocomments" "$pastuserjs" &>/dev/null
rm $past_nocomments $current_nocomments $pastuserjs &>/dev/null
fi fi
if [ "$VIEW" = true ]; then open_file "${PWD}/user.js"; fi [ "$VIEW" = true ] && open_file "${PWD}/user.js"
} }
######################### #########################
@@ -349,16 +318,9 @@ update_userjs () {
######################### #########################
if [ $# != 0 ]; then if [ $# != 0 ]; then
readonly legacy_lc=$(echo $1 | tr '[A-Z]' '[a-z]')
# 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
elif [ $legacy_lc = '-donotupdate' ]; then
UPDATE='no'
legacy_argument $1
elif [ $legacy_lc = '-update' ]; then
UPDATE='yes'
legacy_argument $1
else else
while getopts ":hp:ludsno:bcvre" opt; do while getopts ":hp:ludsno:bcvre" opt; do
case $opt in case $opt in
@@ -399,11 +361,12 @@ if [ $# != 0 ]; then
ESR=true ESR=true
;; ;;
r) r)
tfile=$(download_file 'https://raw.githubusercontent.com/ghacksuserjs/ghacks-user.js/master/user.js') tfile="$(download_file 'https://raw.githubusercontent.com/arkenfox/user.js/master/user.js')"
mv $tfile "${tfile}.js" [ -z "${tfile}" ] && echo -e "${RED}Error! Could not download user.js${NC}" && exit 1 # check if download failed
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 1 exit 0
;; ;;
\?) \?)
echo -e "${RED}\n Error! Invalid option: -$OPTARG${NC}" >&2 echo -e "${RED}\n Error! Invalid option: -$OPTARG${NC}" >&2
@@ -411,7 +374,7 @@ if [ $# != 0 ]; then
;; ;;
:) :)
echo -e "${RED}Error! Option -$OPTARG requires an argument.${NC}" >&2 echo -e "${RED}Error! Option -$OPTARG requires an argument.${NC}" >&2
exit 1 exit 2
;; ;;
esac esac
done done
@@ -419,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
+992 -1319
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

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: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB