Ghacks user.js goes github

Martin Brinkmann
Apr 13, 2017
Updated • Apr 13, 2017
Firefox
|
18

When Pants approached me in 2015 about publishing his Firefox user.js configuration file on Ghacks, I never imagined how far the project would come.

Now, 20 months later, the project has made a huge step by moving to GitHub. Among the many improvements are openness, better manageability, change tracking, faster releases, support for user contributions, and a lot more.

Pants was kind enough to keep the Ghacks name for the project, and I will publish information on new releases whenever they are made available here on Ghacks. This means that I will post a new article shortly after stable Firefox releases that highlight the changes of that particular release, and provide you with links to the latest versions of the user.js file on the Github project page.

You can use this link as an entry point on Github to explore the project there.

Without further Ado, here is Pants announcement:

Hi ghacks

After v11 (FF51), I decided to put the ghacks user.js on GitHub. This brings a lot of benefits that I don't need to list here. It's been a busy 6 weeks, and now that all the noise (number of posts and discussions and issues) have died down, I can tell you about it... here's what we've done... so far:

PS: I'm crap at writing, so I'm doing this bullet style

PPS: I just want to say thanks to the guys (and gals) who have been contributing at GitHub, but a MASSIVE thanks to Earthlng, who is the only MEMBER (and I am the owner) of the ghacksuserjs  GitHub organization, and as such he has full control over the repository. His contributions have really helped bring the ghacks user.js to another level in so many ways, and the work put in with generating diffs, research, and the changelog are fantastic.

Readme

ghacks user js

Ghacks User.js changes

ghacks user js changes

  • Changed version numbering to match Firefox stable (see the release section below)
  • Stripped out all non essential sections, such as Firefox Add-ons and Test Sites to the wiki section, and Palemoon and Things to Investigate to issues
  • Removed the troubleshooting list (see tags below)
  • Super-simplified and shortened the original intro/readme - most of this moved to the "Wiki: Getting Started" pages
  • Formatted the js so all multi-line text can collapse and fold
  • Cleaned up all the typos, expanded acronyms, fixed grammar, used same syntax for parts (such as version start and end numbering)
  • Added tags such as [WARNING], [SETUP], [SETTINGS], [TEST] and numbered references [1], [2] etc.
  • As a result the entire js is much easier to visually parse, read, and search
  • Revamped entire sections to be more logically ordered, with section sub-grouping if needed, and better explanations, including section descriptions when required. Even made some groupings and order based on commenting them out for more convenience. These sections include:
    • 0800: location bar / search bar / forms etc
    • 1000: cache
    • 1200: https / ciphers etc
    • 1600: headers / referers
    • 2800: shutdown
  • Section revamps included improving some preferences (some were found to be deprecated or legacy, others were changed, some preferences are new, better descriptions and all that)
  • Created a new section 2697: UA Spoofing
  • Compared ghacks vs pyllyukko: we added 4 minor obscure preferences. (Documented in issue #10). Created a diff for pyllyukko to compare, and so far they have added almost 2 dozen items from ghacks, and still going
  • Compared ghacks values vs pyllyukko values for what we have in common: no changes. We differ on only 8 preferences due to a slightly different strategy. That's a good sign. (Documented in issue #18)
  • Upgraded to Firefox 52 compliant

Wiki

wiki

  • Add-ons Appendix is more informational with flags for e10s, WebExtension etc
  • Test Sites Appendix expanded as well
  • References Appendix (Mozilla, MDN, TOR, CVE etc sites) added
  • The "readme section" from the old js has become an in-depth "Getting Started" wiki section, and expanded (with pictures!), including a full overview of how a user.js works, how to backup properly, an implementation page, and even how to troubleshoot a preference.
  • The implementation page led me to create a How To section on working with multiple profiles for both installed and portable Firefox, and how to run concurrent profiles. I will create the Lock Pref pages in due time.
  • Added a "Scripts" section, including some greasemonkey (or similar) scripts and pointers for NoScript, uBlock Origin and uMatrix (this is a work in progress)
  • Note: There are "sticky" issues for various wiki section suggestions
  • Future plans include expanding the wiki even further with Tutorials and Articles and more How To's

Releases

user js releases

  • As mentioned, we changed the version number to match Firefox stable
  • You can read all about how we manage "releases" here ( https://github.com/ghacksuserjs/ghacks-user.js/issues/54 )
    • Basically, the current "live" master user.js is always current stable and always being improved
    • At the end of stable life-cycle, we now archive off a "release" for legacy and archival reasons
    • Then we change the master version number and as quickly as we can test and add preferences and deprecate items as per the new stable version. We know in advance a lot of the changes due to Earthlng's diffs
    • As soon as we have worked through all the changes, we create a "pre-release", and from this we can generate a user friendly changelog (Earthlng authors these, and they use the changelog label in issues). You can click labels to filter issues. We will always have an open "Changelog" issue, and older ones will be closed, but there for historical pruposes. They are a lot more user friendly than the atomic level commit history.
    • Martin will republish Earthlng's changelog here at ghacks as soon as we do them, just like he does a "What's new in Firefox X", there will be a "What's new in ghacks user,js X"
    • The delay last time was around 7 days from when stable landed. So expect that to be the approximate time frame, as we have to upgrade ourselves, test items and so on.
  • Again, the "Pre-release" is a snapshot, the master user.js (here: https://github.com/ghacksuserjs/ghacks-user.js/blob/master/user.js ) is the one always being worked on.

Future Plans

  • Besides the obvious
    • stable compliant releases
    • improving the js
    • improving tags and info on breakage and setup
    • updating and improving the wiki
  • Providing branches
    • preset versions eg: "Relaxed", "Hardened", "Social Media" etc for use with multiple profiles
    • when Firefox 57 lands, maybe start an ESR branch

That's about all. Everyone is welcome to come visit and contribute.

Regards

Thorin-Oakenpants

Summary
Ghacks user.js goes github
Article Name
Ghacks user.js goes github
Description
The Ghacks Firefox user.js project has moved to the project hosting website Github for better manageability and other improvements.
Author
Publisher
Ghacks Technology News
Logo
Advertisement

Tutorials & Tips


Previous Post: «
Next Post: «

Comments

  1. Ken Saunders said on April 15, 2017 at 7:27 pm
    Reply

    “Thorin-Oakenpants”
    Gives ZERO fkcus (misspelled purposefully so that it isn’t removed) and has a funny avatar.

    Who is “earthlng “?

    1. Pants said on April 16, 2017 at 12:38 am
      Reply

      in the original Aug 2015 article, you can see “earthling” ‘s comments over the last 18 months ( a couple of hundred of them). On GitHub his/her handle is earthlng (without the i) as seen here: https://github.com/orgs/ghacksuserjs/people

      1. Steve H said on October 22, 2018 at 4:53 pm
        Reply

        I’m sorry if this is not the best way to contact you…but I have a question. In a recent post to https://www.ghacks.net/2018/10/21/mozilla-tests-premium-vpn-service/
        There were some comments regarding traffic to various hostnames.
        I spent a moment and gathered the information from these comments as well as from about:config and came up with the following list. I use your user.js file that you have developed (thank you very much). I wondered if these hostnames are a security risk, in your opinion, and if you think any of them should be restricted. I’m still kind of new to Firefox and all the options so if I’m going down a path that’s just going to cause problems just let me know.

        accessibility.support.ur supporgt.mozilla.org
        app.feedback.baseUR input.mozilla.org
        app.normandy.shieldLearnMoreUr supporgt.mozilla.org
        app.productInfo.baseUR http://www.mozilla.org
        app.releaseNotesUR http://www.mozilla.org
        app.support.baseUR supporgt.mozilla.org
        app.update.ur aus5.mozilla.org
        app.update.url.detail http://www.mozilla.org
        app.update.url.manua http://www.mozilla.org
        browser.chrome.errorReporter.infoUR supporgt.mozilla.org
        browser.contentblocking.reportBreakage.ur tracking-protection-issues.herokuapp.com
        browser.dictionaries.download.ur addons.mozilla.org
        browser.geolocation.warning.infoUR http://www.mozilla.org
        browser.newtabpage.activity-stream.default.site http://www.youtube.com/,www.facebook.com/,www.amazon.com/,www.reddit.com/,www.wikipedia.org/,twitter.com/
        browser.newtabpage.activity-stream.fxaccounts.endpoin accomunts.firefox.com
        browser.newtabpage.activity-stream.telemetry.ping.endpoin tiles.services.mozilla.com
        browser.ping-centre.production.endpoin tiles.services.mozilla.com
        browser.ping-centre.staging.endpoin onyx_tiles.stage.mozaws.net
        browser.safebrowsing.provider.google.advisoryUR developers.google.com
        browser.safebrowsing.provider.google.gethashUR safebrowsing.google.com
        browser.safebrowsing.provider.google.updateUR safebrowsing.google.com
        browser.safebrowsing.provider.google4.advisoryUR developers.google.com
        browser.safebrowsing.provider.google4.gethashUR safebrowsing.googleapis.com
        browser.safebrowsing.provider.google4.updateUR safebrowsing.googleapis.com
        browser.safebrowsing.provider.mozilla.gethashUR shavar.services.mozilla.com
        browser.safebrowsing.provider.mozilla.updateUR shavar.services.mozilla.com
        browser.search.searchEnginesUR addons.mozilla.org
        browser.uitour.themeOrigi addons.mozilla.org
        datareporting.healthreport.infoUR http://www.mozilla.org
        datareporting.policy.firstRunUR http://www.mozilla.org
        devtools.devices.ur comde.cdn.mozilla.net
        devtools.gcli.imgurUploadUR api.imgur.com
        devtools.gcli.jquerySr cdnjs.cloudflare.com
        devtools.gcli.lodashSr cdnjs.cloudflare.com
        devtools.gcli.underscoreSr cdnjs.cloudflare.com
        devtools.webide.adbAddonUR http://ftp.mozilla.org
        devtools.webide.templatesUR comde.cdn.mozilla.net
        extensions.blocklist.detailsUR blocked.cdn.mozilla.net
        extensions.blocklist.itemUR blocked.cdn.mozilla.net
        extensions.blocklist.ur blocklists.settings.services.mozilla.com
        extensions.getAddons.compatOverides.ur services.addons.mozilla.org
        extensions.getAddons.get.ur services.addons.mozilla.org
        extensions.getAddons.langpacks.ur services.addons.mozilla.org
        extensions.getAddons.link.ur addons.mozilla.org
        extensions.getAddons.search.browseUR addons.mozilla.org
        extensions.getAddons.themes.browseUR addons.mozilla.org
        extensions.update.background.ur versioncheck-bg.addons.mozilla.org
        extensions.update.ur versioncheck.addons.mozilla.org
        extensions.webcompat-reporter.newIssueEndpoin webcommpat.com
        gecko.handlerService.schemes.irc.0.uriTemplat http://www.mibbit.com
        gecko.handlerService.schemes.ircs.0.uriTemplat http://www.mibbit.com
        gecko.handlerService.schemes.mailto.0.uriTemplat commpose.mail.yahoo.com
        gecko.handlerService.schemes.mailto.1.uriTemplat mail.google.com
        gecko.handlerService.schemes.webcal.0.uriTemplat 30boxes.com
        geo.wifi.ur location.services.mozilla.com
        identity.fxaccounts.auth.ur api.accomunts.firefox.com
        identity.fxaccounts.remote.oauth.ur oauth.accomunts.firefox.com
        identity.fxaccounts.remote.profile.ur profile.accomunts.firefox.com
        identity.fxaccounts.remote.roo accomunts.firefox.com
        identity.mobilepromo.androi http://www.mozilla.org
        identity.mobilepromo.io http://www.mozilla.org
        identity.sync.tokenserver.ur token.services.mozilla.com
        lightweightThemes.getMoreUR addons.mozilla.org
        media.decoder-doctor.new-issue-endpoin webcommpat.com
        network.trr.ur mozilla.cloudflare-dns.com
        NO ABOUT CONFIG ENTRY activations.cdn.mozilla.net
        NO ABOUT CONFIG ENTRY balrog-aus5.r53-2.services.mozilla.com
        NO ABOUT CONFIG ENTRY crash-stats.mozilla.com
        NO ABOUT CONFIG ENTRY detectportal.firefox.com
        NO ABOUT CONFIG ENTRY experiments.mozilla.org
        NO ABOUT CONFIG ENTRY fhr.cdn.mozilla.net
        NO ABOUT CONFIG ENTRY getpocket.cdn.mozilla.net
        NO ABOUT CONFIG ENTRY incoming.telemetry.mozilla.org
        NO ABOUT CONFIG ENTRY olympia.prod.mozaws.net
        NO ABOUT CONFIG ENTRY qsurvey.mozilla.com
        NO ABOUT CONFIG ENTRY search.r53-2.services.mozilla.com
        NO ABOUT CONFIG ENTRY search.services.mozilla.com
        NO ABOUT CONFIG ENTRY self-repair.mozilla.org
        NO ABOUT CONFIG ENTRY self-repair.r53-2.services.mozilla.com
        NO ABOUT CONFIG ENTRY services.addons.mozilla.org
        NO ABOUT CONFIG ENTRY shavar.prod.mozaws.net
        NO ABOUT CONFIG ENTRY shield-normandy-elb-prod-2099053585.us-west-2.elb.amazonaws.com
        NO ABOUT CONFIG ENTRY telemetry.mozilla.org
        NO ABOUT CONFIG ENTRY telemetry-experiment.cdn.mozilla.net
        NO ABOUT CONFIG ENTRY tiles.r53-2.services.mozilla.com
        NO ABOUT CONFIG ENTRY versioncheck.prod.mozaws.net
        privacy.trackingprotection.introUR http://www.mozilla.org
        services.settings.serve firefox.settings.services.mozilla.com
        services.sync.fxa.privacyUR accomunts.firefox.com
        services.sync.fxa.termsUR accomunts.firefox.com
        toolkit.crashreporter.infoUR http://www.mozilla.org
        toolkit.datacollection.infoUR http://www.mozilla.org
        webextensions.storage.sync.serverUR webextensions.settings.services.mozilla.com
        xpinstall.signatures.devInfoUR wiki.mozilla.org

  2. Psy said on April 13, 2017 at 10:32 pm
    Reply

    “Martin Brinkmann at ghacks
    100% genuine super-nice all-round good guy”

    I’m now imagining Martin as a sphere, like PacMan…

  3. Andy said on April 13, 2017 at 9:46 pm
    Reply

    I’ve been reading about Pants’s user.js on here for a while, but haven’t really taken the time to dig into it and see which parts I want to implement. I surely will now, though.

    I’m also excited to see a section of the wiki devoted to extension tips for UBlock Origin. I’ve been keen lately on finding ways to harden my browser, yet allow “harmless” advertisements (those that don’t track me, etc) to abide freely. I don’t want to adversely impact content providers (such as Martin!) who rely on ad revenue.

    1. Martin Brinkmann said on April 13, 2017 at 9:51 pm
      Reply

      That’s very kind of you Andy, thanks ;)

  4. Pants said on April 13, 2017 at 10:22 am
    Reply

    True story .. If you play the punch card (https://github.com/ghacksuserjs/ghacks-user.js/graphs/punch-card) backwards in a pianola (like the one in Westworld), you will unlock your conscious and become self-aware

    1. Tom Hawack said on April 13, 2017 at 1:50 pm
      Reply

      When I see what happened to Lucy in Besson’s movie when she hit the 100% of her brain potential I’m not truly in a hurry to unlock my conscious. But increasing from 10% to, say, 15% would be helpful!

      Not to mention that imperfection is so delightful.

      1. v1adimir said on January 6, 2018 at 8:41 pm
        Reply

        It’s an old concept, today we know that the (human) brain is utilized to the full potential. Any reserves that there might be are just that – reserves, in case of damage for example. Just, btw.

  5. Guest703 said on April 13, 2017 at 9:59 am
    Reply

    Cool cool, but where are the previews? How do I know that I would like to try this user.js without previews? Or is this just a security mod, not something to make Firefox look good?

    1. v1adimir said on January 6, 2018 at 8:34 pm
      Reply

      Firefox has a Profile Manager, “In the Run dialog box, type in: firefox.exe -P (Note: You can use -P, -p or -ProfileManager (any of them should work))” @support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles

      That would be the easiest way to test and see. Under Linux, bash shell, it’s: “firefox –ProfileManager”. :)

    2. Martin Brinkmann said on April 13, 2017 at 10:05 am
      Reply

      The user.js config file changes Firefox configuration. It focuses heavily on privacy and security, and not looks. So, if you want to harden your browser, this is the thing you need.

      There are not any images because it does not really change how Firefox looks at all.

  6. Chris said on April 13, 2017 at 9:10 am
    Reply

    Well done!

    I thought Pants was a “her”. No?

    1. Pants said on April 13, 2017 at 9:32 am
      Reply

      It’s a well known fact that Dwarves like their wimmins stout and hairy!

      “… female Dwarves look and sound (and dress, if journeying—which is rare) so alike to Dwarf-males that other folk cannot distinguish them, and thus others wrongly believe Dwarves grow out of stone” – Tolkien

      1. v1adimir said on January 6, 2018 at 8:14 pm
        Reply

        <3 btw., the editor used here is Atom?! Notepad++ (& Notepadqq) and Kate (KDE) are nice; but, eye like that THEME – the dark won, w/the colors.. although all of these programs *do* have lang. highlighting.

      2. Pants said on January 31, 2018 at 3:50 am
        Reply

        v1adimir – its Notepad++ and the Theme is Obsdian (and the font is Hack)

      3. v1adimir said on April 2, 2018 at 7:44 pm
        Reply

        @Pants Hey, um… Thanks (so much!) for the reply!.. I’d been here earlier, but haven’t said anything. Anyway, thank you!! :))

      4. Chris said on April 13, 2017 at 11:08 am
        Reply

        ROTFL! Pants, outside of your amazing brain, your stoutness and hairiness make you a beautiful woman… I mean wommin.

        You know, sooner or later, we are going to insist on a photo. As the kids say, pics or fake.

Leave a Reply

Check the box to consent to your data being stored in line with the guidelines set out in our privacy policy

We love comments and welcome thoughtful and civilized discussion. Rudeness and personal attacks will not be tolerated. Please stay on-topic.
Please note that your comment may not appear immediately after you post it.