Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 82 additions & 4 deletions source/exegol-image/my-resources.rst
Original file line number Diff line number Diff line change
Expand Up @@ -101,11 +101,89 @@ To automatically:

A system exists to easily personalise firefox in any new exegol container.

The file ``/opt/my-resources/setup/firefox/policy.json.template`` can be modified to apply a Firefox policy (https://support.mozilla.org/en-US/kb/customizing-firefox-using-policiesjson), all available directives can be found here: https://mozilla.github.io/policy-templates/.
The file ``/usr/lib/firefox-esr/distribution/policies.json`` can be used as a template in order to create your own Firefox policy. Your policy can then be copied to the location ``/opt/my-resources/setup/firefox/policies.json`` to apply it in the next container deployment (https://support.mozilla.org/en-US/kb/customizing-firefox-using-policiesjson), all available directives can be found here: https://mozilla.github.io/policy-templates/.

Once the modifications are done, the template file can be renamed to ``/opt/my-resources/setup/firefox/policy.json`` and the policy will be applied.
.. hint::
Your custom policy will overwrite the default policy created by Exegol.

The default policy applied by Exegol will do the following actions:

`Add a few bookmarks`

.. code-block:: json

{
"policies": {
"ManagedBookmarks": [
{
"toplevel_name": "Exegol Bookmarks"
},
{
"url": "https://exegol.readthedocs.io/en/latest/",
"name": "Exegol Doc"
},
{
"name": "References / Guides",
"children": [
{
"url": "https://www.thehacker.recipes/",
"name": "THR"
},
[...]
{
"url": "https://lolol.farm/",
"name": "LOLOL Farm"
}
]
}
]
}

`Install a few extensions`

.. code-block:: json

{
"policies": {
"ExtensionSettings": {
"foxyproxy@eric.h.jung": {
"installation_mode": "force_installed",
"install_url": "https://addons.mozilla.org/firefox/downloads/latest/foxyproxy-standard/latest.xpi"
},
[...]
}
}

`Disable a few Firefox features such as the telemetry`

.. code-block:: json

{
"policies": {
"DisableTelemetry": true,
"DisplayBookmarksToolbar": "always",
"UserMessaging": {
"WhatsNew": false,
"ExtensionRecommendations": false,
"FeatureRecommendations": false,
"UrlbarInterventions": false,
"SkipOnboarding": true,
"MoreFromMozilla": false
}
}

`Apply the CA of Burpsuite`

.. code-block:: json

{
"policies": {
"Certificates": {
"Install": ["/opt/tools/firefox/cacert.der"]
}
}

In order to install a specific addon, you can go to the Firefox addon webpage, and search for the addon GUID in the page HTML source code by searching for the JSON field ``"guid":``, for example for the Dark Reader addon, the GUID is ``addon@darkreader.org``, you can then add the extension in the JSON file:
In order to install a specific addon in your own policy, you can go to the Firefox addon webpage, and search for the addon GUID in the page HTML source code by searching for the JSON field ``"guid":``, for example for the Dark Reader addon, the GUID is ``addon@darkreader.org``, you can then add the extension in your policy file:

.. code-block:: json

Expand Down Expand Up @@ -142,7 +220,7 @@ or you can add a new folder:
:code:`firefox` (addons, CA) (deprecated)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. warning::
This covers the previous method for personalizing Firefox; the current approach utilizes :ref:`policy <`firefox` (policy)>`.
This covers the previous method for personalizing Firefox; the current approach utilizes :ref:`policy <\`firefox\` (policy)>`.

.. seealso::
Available from version ``3.0.2`` to ``3.1.5`` of any exegol image.
Expand Down