Skip to content

Installation

Vitaliy Elin edited this page Oct 26, 2026 · 7 revisions

Requirements

  • Linux, x86_64 or aarch64
  • Python 3.8 or newer
  • curl
  • for the graphical mode, a graphical session

No root is needed.

Running

curl -fsSL https://raw.githubusercontent.com/CustomFF/myfox/master/get.sh | sh

Flags go after sh -s --:

curl -fsSL https://raw.githubusercontent.com/CustomFF/myfox/master/get.sh | sh -s -- --gui

Modes

Mode How to enable Behavior
Terminal (TUI) the default the form in a text interface
Window (GUI) --gui the form in a graphical window
Automatic -y install with the defaults, no questions

Without a terminal (from a script, from cron) and without -y, nothing is installed: the parameters and the command with -y are printed, exit code 1.

Flags

Flag Action
--gui the form in a graphical window
-y, --yes no questions, the defaults
--firefox-command turn on the firefox shell command
--no-doh keep the tweaks from turning on DNS over HTTPS in the new profile
--import <ID|name|folder> copy another Firefox's profile into the new MyFox profile (see Profiles)
--sync none|copy|move with --import: the Firefox account stays in the original (default), is copied, or moves into the copy
--allow-downgrade with --import: go on with a profile a newer Firefox last opened, at your own risk
--dry-run show the form and the install stages without installing anything

Install parameters

Field Default Note
Folder ~/.local/share/myfox/firefox
Profile new a profile related to MyFox, used as it is; «Import: …» another Firefox's profile; «Import from a folder…»
Sync leave in the old profile only when importing a profile signed in to a Firefox account
Channel stable stable or beta
MyFox tweaks yes
Theme dark dark or light; only with the tweaks
DNS over HTTPS yes the tweaks turn it on (Cloudflare) at the profile's first start; only with the tweaks
Firefox language from $LANG
Shell command no

What gets installed

  1. Firefox, into the chosen folder.
  2. The profile: the chosen one or a new myfox-N; when importing, a copy of the other Firefox's profile.
  3. With the tweaks on:
    • the tweaks;
    • the themes, dark and light;
    • the bookmarklet styling from ddblm;
    • in a KDE Plasma session, the Plasma integration add-on; if the system has no plasma-browser-integration package, the command to install it is printed at the end.
  4. The myfox command in ~/.local/bin (the directory must be in PATH).
  5. The "Firefox" shortcut in the application menu.
  6. The firefox shell command, if chosen.

The tweaks apply only in the MyFox profile. A system-wide Firefox is not affected.

Cancelling

The install can be stopped at any point: the Cancel button, Esc or Ctrl+C in the terminal, closing the window in the graphical mode, Ctrl+C in the automatic mode, closing the terminal. Everything the install has created is removed; what existed before it stays.

While the network doesn't answer, the progress line shows for how many seconds. After 20 seconds without an answer the install stops with an error and removes what it has created.

Running it again

If MyFox is already installed, get.sh:

  • with a command (… | sh -s -- refresh), passes it to the installed myfox;
  • without one, offers to check for updates.

Installing from a clone

git clone https://github.com/CustomFF/myfox.git && cd myfox
make install                     # the form in the terminal
make install gui                 # the form in a window
MYFOX_INSTALL=AUTO make install  # no questions

make refresh, make reinstall, make uninstall (with an optional gui) call the installed myfox command.

Clone this wiki locally