News for hackers. Stuff that matters.

Show HN: Firebuilder: A complete Firefox customization tool

https://github.com/Explosion-Scratch/firebuilder

Hi HN! I've been working lately on unifying firefox configuration. Many people work on creating custom `userChrome.css` files and modules, browser user scripts, etc, but it's hard to actually use these a lot of the time. It usually involves cloning a repo, finding a folder and lots of copy paste.

My tool (firebuilder) has an interactive CLI to select what to apply, (e.g. firefox hardening, custom CSS, etc) then creates a brand new profile folder for you. You can also seamlessly port from an existing profile folder to preserve all of your history, bookmarks, extensions, etc.

For those more interested in using it programmatically everything is compiled from a config.json file which contains all the config necessary to build the said firefox profile. It currently supports: - userChrome tweaks - user.js (usually hardening related tweaks) - fx-autoconfig scripts - extending existing profiles. You can copy custom files or presets like history, bookmarks, extensions, etc

Also its defaults (if you just have a blank config.json) do the following: - Apply hardening that removes telemetry, sponsors, some mozilla features - Keeps the browser very usable, doesn't remove unnecessary features or make things break - Adds vibrancy for macOS

Firebuilder also supports whatever firefox tool you've been currently working on. It can install custom features from any git based repo, including downloading from releases, and keeping resources as well (so even if your theme sets custom icons you're still good!). Additionally if whatever you've created for firefox has about:config based settings these can be defined in the repo's json file as well.

The codebase is mainly JavaScript, and is then compiled and run with Bun. I've intentionally tried to make it easy to add new features via PR and easy to extend via configuration. See the examples folder for lots of examples.

Feel free to give any feedback, ask questions, etc, and drop a star if you like the project!

( 12 comments | on HN )
Re:Show HN: Firebuilder: A complete Firefox customization tool by 361994752 on Thursday August 29, 2024 @01:53AM (#41387760)
Because of the hassle of configuring Firefox, I've been using Floorp for quite some time. But it is also not perfect.. This is definitely interesting. If Mozilla can also sync userChrome between machines it will be perfect...
Re:Show HN: Firebuilder: A complete Firefox customization tool by OtomotO on Thursday August 29, 2024 @01:57AM (#41387783)
"Keeps the browser very usable, doesn't remove unnecessary features or make things break"

It does NOT remove UNNECESSARY features?

Sorry, non native speaker, am I missing a double negation or just not grokking it?

Re:Show HN: Firebuilder: A complete Firefox customization tool by arnvidr on Thursday August 29, 2024 @02:11AM (#41387851)
Since it's talking about the defaults, I'm reading it to mean that there are many unnecessary features that you can remove by tweaking the configuration.
Re:Show HN: Firebuilder: A complete Firefox customization tool by OtomotO on Thursday August 29, 2024 @04:05AM (#41388444)
Ah, hm, that makes sense. Thanks!
Re:Show HN: Firebuilder: A complete Firefox customization tool by ryann_wisc on Thursday August 29, 2024 @02:26AM (#41387917)
Good effort. If it works the way you're saying, I'll be using it a lot
Re:Show HN: Firebuilder: A complete Firefox customization tool by postepowanieadm on Thursday August 29, 2024 @02:57AM (#41388080)
Nah, can't remove Pocket integration.
Re:Show HN: Firebuilder: A complete Firefox customization tool by dsp_person on Thursday August 29, 2024 @03:13AM (#41388169)
user_pref("extensions.pocket.enabled", false);
Re:Show HN: Firebuilder: A complete Firefox customization tool by Dansvidania on Thursday August 29, 2024 @09:11AM (#41390441)
eheh, i was just looking for a way to add it back on zen browser..
Re:Show HN: Firebuilder: A complete Firefox customization tool by flir on Thursday August 29, 2024 @09:11AM (#41390450)
A policies.json with

"DisablePocket": true,

works here, for what it's worth.

I wrote that file hand, with a lot of messing about. I hope this tool takes some of the pain out of it, especially if it can consume my existing config as a starting point.

Re:Show HN: Firebuilder: A complete Firefox customization tool by creesch on Thursday August 29, 2024 @04:38AM (#41388647)
This looks really neat! I never really dabbled with firefox customizations on this level as it is a bit of a hassle, easy to mess up and easy to forget the details. Having it all in a json based format where you can easily reapply it on a fresh profile makes it much easier.
Re:Show HN: Firebuilder: A complete Firefox customization tool by fny on Thursday August 29, 2024 @07:34AM (#41389723)
Is it possible to disable CORS? Ive often wanted to make mashups for personal use and bots where that would be handy.
Re:Show HN: Firebuilder: A complete Firefox customization tool by Klaster_1 on Thursday August 29, 2024 @07:35AM (#41389738)
You can run a CORS-stripping proxy.