# Configuration Firefox ESR et uBlock Origin
Cette page documente la configuration appliquee par
[`powershell/Install-Firefox.ps1`](../powershell/Install-Firefox.ps1).
Le but est de preparer Firefox ESR pour tous les utilisateurs Windows, y compris
les futurs profils :
- Firefox ESR devient le navigateur par defaut pour `.htm`, `.html`, `http` et `https`.
- uBlock Origin est installe automatiquement depuis Mozilla Add-ons.
- uBlock Origin recoit une configuration geree commune a tous les profils Firefox.
## Execution
Lance le script dans un terminal PowerShell administrateur. Il installe Firefox
ESR puis applique la configuration :
```powershell
powershell -ExecutionPolicy Bypass -File .\powershell\Install-Firefox.ps1
```
Le script est aussi appele automatiquement par
[`powershell/libres-softwares-install.ps1`](../powershell/libres-softwares-install.ps1)
quand Firefox ESR est selectionne via l'installateur interactif.
## Fichiers et cles crees
Le script ecrit un fichier `policies.json` dans le dossier d'installation Firefox :
```text
C:\Program Files\Mozilla Firefox\distribution\policies.json
```
Selon l'installation, le dossier peut etre sous `Program Files (x86)`.
Le script ecrit aussi un fichier XML d'associations Windows :
```text
C:\ProgramData\WindowsLibreSoftwareToolkit\FirefoxDefaultAssociations.xml
```
Puis il configure la policy Windows :
```text
HKLM\SOFTWARE\Policies\Microsoft\Windows\System
DefaultAssociationsConfiguration
```
Enfin, il importe les associations par defaut pour les futurs utilisateurs avec :
```powershell
dism.exe /Online /Import-DefaultAppAssociations:C:\ProgramData\WindowsLibreSoftwareToolkit\FirefoxDefaultAssociations.xml
```
## Policies Firefox
Firefox lit les policies machine au demarrage. Le fichier `policies.json` genere
contient principalement :
```json
{
"policies": {
"DontCheckDefaultBrowser": true,
"DisableDefaultBrowserAgent": true,
"ExtensionSettings": {
"uBlock0@raymondhill.net": {
"installation_mode": "force_installed",
"install_url": "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"
}
}
}
}
```
`ExtensionSettings` force l'installation de uBlock Origin pour chaque profil
Firefox. Si l'extension est supprimee ou absente, Firefox la reinstalle au
demarrage suivant.
L'identifiant officiel de l'extension Firefox est :
```text
uBlock0@raymondhill.net
```
## Configuration geree uBlock Origin
La configuration uBlock Origin passe par la policy Firefox `3rdparty`.
Firefox expose ensuite ces valeurs a l'extension via `storage.managed`.
Extrait simplifie :
```json
{
"policies": {
"3rdparty": {
"Extensions": {
"uBlock0@raymondhill.net": {
"adminSettings": {
"selectedFilterLists": [
"user-filters",
"ublock-filters",
"ublock-badware",
"ublock-privacy",
"ublock-abuse",
"ublock-unbreak",
"ublock-quick-fixes",
"easylist",
"easyprivacy",
"urlhaus-1",
"plowe-0"
],
"userSettings": {
"advancedUserEnabled": false,
"cloudStorageEnabled": false,
"contextMenuEnabled": true,
"showIconBadge": true
}
}
}
}
}
}
}
```
## Listes de filtres activees
| Liste | Role |
| --- | --- |
| `user-filters` | Reserve les filtres utilisateur. |
| `ublock-filters` | Filtres principaux uBlock Origin. |
| `ublock-badware` | Protection contre domaines malveillants. |
| `ublock-privacy` | Protection vie privee. |
| `ublock-abuse` | Protection contre abus et nuisances. |
| `ublock-unbreak` | Corrections de compatibilite. |
| `ublock-quick-fixes` | Correctifs rapides publies par uBlock Origin. |
| `easylist` | Liste anti-publicite generaliste. |
| `easyprivacy` | Liste anti-tracking generaliste. |
| `urlhaus-1` | Blocage de domaines malveillants URLhaus. |
| `plowe-0` | Liste de blocage complementaire. |
## Parametres utilisateur imposes
| Parametre | Valeur | Effet |
| --- | --- | --- |
| `advancedUserEnabled` | `false` | Desactive le mode utilisateur avance. |
| `cloudStorageEnabled` | `false` | Desactive la synchronisation cloud uBlock. |
| `contextMenuEnabled` | `true` | Garde le menu contextuel uBlock disponible. |
| `showIconBadge` | `true` | Affiche le badge de compteur sur l'icone. |
## Firefox navigateur par defaut
Windows ne permet pas de forcer proprement le navigateur par defaut en modifiant
simplement le registre utilisateur. Le script utilise donc la methode
administrateur standard :
1. lire les ProgID Firefox dans le registre ;
2. generer un XML `DefaultAssociations` ;
3. definir la policy `DefaultAssociationsConfiguration` ;
4. importer le XML avec DISM pour les futurs profils.
Les associations configurees sont :
| Identifiant | Application |
| --- | --- |
| `.htm` | Firefox |
| `.html` | Firefox |
| `http` | Firefox |
| `https` | Firefox |
## Verification
Pour verifier les policies Firefox :
1. ouvre Firefox ;
2. va sur `about:policies` ;
3. verifie l'onglet `Active`.
Pour verifier uBlock Origin :
1. ouvre Firefox avec un nouveau profil utilisateur Windows ;
2. va sur `about:addons` ;
3. verifie que uBlock Origin est present ;
4. ouvre le tableau de bord uBlock Origin ;
5. verifie que les listes de filtres attendues sont selectionnees.
Pour verifier les associations Windows :
```powershell
dism.exe /Online /Get-DefaultAppAssociations
```
## Limites
Les associations importees par DISM ciblent les futurs profils Windows. Un profil
deja cree peut conserver ses associations existantes.
Le script installe Firefox ESR avec winget avant de lire les ProgID Firefox. Si
winget echoue ou si Firefox ne s'enregistre pas correctement, les associations
par defaut ne peuvent pas etre importees.
uBlock Origin est telecharge par Firefox depuis Mozilla Add-ons au demarrage. La
machine doit donc avoir acces a `addons.mozilla.org`.
## Sources
- Mozilla Firefox policies :
- Mozilla `ExtensionSettings` :
- Mozilla `3rdparty` policies :
- Mozilla Firefox default browser enterprise :
- Microsoft DISM default app associations :