# user.js | Firefox Fenix Nightly), Iceraven, Fennec F-Droid or Icecatmobile

The `user.js` file is used to configure Firefox for android in the safest and fastest way possible.
There are 2 versions: 
 * One, recommended by default for average users.
 * Another one with less connections as possible, meaning there are not automatic addons updates. You'll have to uninstall and reinstall them.



## Aims:

* enhance security
* improve privacy
* better performance
* less unique fingerprint possible



## Best Use:

This `user.js` has been designed for mobile purposes and you can use it on these browsers:

* [Firefox Fenix Nightly for Android](https://firefox-ci-tc.services.mozilla.com/tasks/index/mobile.v2.fenix.nightly.latest) - Mozilla-mobile
* [Iceraven browser](https://github.com/fork-maintainers/iceraven-browser) - Forks maintainers
* [Fennec F-Droid](https://f-droid.org/en/packages/org.mozilla.fennec_fdroid/) - F-Droid (out of date)
* [Icecatmobile](https://f-droid.org/en/packages/org.gnu.icecat/) - F-Droid (out of date)



## Note:

This file contains prefs. that are not native to the Android version of Firefox, but I have chosen to add them to avoid that in the future they can be implemented by Mozilla without we can realize it.

All this does not lead into stability issues.



## Installation:

### **ROOT METHOD 1** *(file manager)*

I would like to suggest the use of [Amaze](https://f-droid.org/en/packages/com.amaze.filemanager/) or [TWRP File Manager](https://twrp.me/Devices/) before proceed.
- Download and install Fenix, Iceraven or Fennec F-Droid from official websites (see above)
- Start the browser for the first time (offline mode/no data connections) and wait about 5 sec.
- Close it.
- Clone or download zip file and extract it
- Locate browser's installation directory similar to this:

    ✳️ Firefox Fenix Nightly `data/data/org.mozilla.fenix/files/mozilla/[xxxxxxx].default`

    ✳️ Iceraven `data/data/io.github.forkmaintainers.iceraven/files/mozilla/[xxxxxxx].default`

    ✳️ Fennec F-Droid `data/data/org.fdroid.froid/files/mozilla/[xxxxxxx].default`

    ✳️ Icecatmobile `data/data/org.gnu.icecat/files/mozilla/[xxxxxxx].default`

- Copy the extracted `user.js` file to the above installation directory.
- Delete `prefs.js` file inside the above directory
- Start the browser and test if `user.js` was applied :
 browse to `about:config` (put it in search bar) and look if `config.applied` is `true`.

If this doesn't work I suggest you to use the **ROOT METHOD 2** below.

### **ROOT METHOD 2** *(app)*

- Download and install the browser from official websites.
- Download and install [User.js Updater](https://github.com/v1nc/user.js-updater/releases)
- Start the browser for the first time (offline mode/no data connections) and wait about 5 sec.
- Close it.
- Open `User.js Updater` app and grant storage permission.
- Choose Custom and write the following:

    https://git.nixnet.xyz/Narsil/mobile_user.js/src/branch/master/user.js

- Tap `UPDATE` at the bottom and grant root permission.
- Start the browser and test if `user.js` was applied :
  browse to `about:config` (put it in search bar) and look if `config.applied` is `true`.
 
- **AFWall+ USERS:** You can disable `Use Download Manager` option into `Settings` and enable data connection just to the app itself.

Thanks to [v1nc](https://github.com/v1nc/) for creating this app.




## Thanks:

I really thank the following authors:

* [Quindecim] (https://git.lelux.fi/quindecim/mobile_user.js) - Without him/her, this project could not be possible.
* [Arkenfox] (https://github.com/arkenfox/user.js) - Updates.

## Special Thanks:

***