115 lines
3.6 KiB
Bash
Executable File
115 lines
3.6 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
## Vérifier la présence de firefox-esr, le désinstaler.
|
||
## Installer firefox via les dépôts Mozilla.
|
||
## Modifier en conséquence ci-dessous le chemin dans /usr/lib/
|
||
|
||
#!/usr/bin/env bash
|
||
|
||
|
||
# ================================
|
||
# Fonctions utilitaires
|
||
# ================================
|
||
echo_info() { echo -e "\e[1;34m[INFO]\e[0m $*"; }
|
||
echo_warn() { echo -e "\e[1;33m[WARN]\e[0m $*"; }
|
||
echo_err() { echo -e "\e[1;31m[ERROR]\e[0m $*"; }
|
||
|
||
# ================================
|
||
# Étape 1 : Détection de Firefox ESR
|
||
# ================================
|
||
if dpkg -l | grep -qw firefox-esr; then
|
||
echo_info "Firefox ESR est détecté."
|
||
|
||
# ================================
|
||
# Étape 2 : Sauvegarde du profil utilisateur
|
||
# ================================
|
||
FIREFOX_DIR="${HOME}/.mozilla/firefox"
|
||
BACKUP_DIR="${HOME}/firefox_esr_backup_$(date +%Y%m%d_%H%M%S)"
|
||
|
||
if [[ -d "$FIREFOX_DIR" ]]; then
|
||
echo_info "Sauvegarde du profil Firefox ESR depuis : $FIREFOX_DIR"
|
||
mkdir -p "$BACKUP_DIR"
|
||
cp -a "$FIREFOX_DIR" "$BACKUP_DIR/"
|
||
echo_info "Profil sauvegardé dans : $BACKUP_DIR"
|
||
else
|
||
echo_warn "Aucun répertoire de profil Firefox trouvé dans $FIREFOX_DIR."
|
||
fi
|
||
|
||
# ================================
|
||
# Étape 3 : Suppression de Firefox ESR
|
||
# ================================
|
||
echo_info "Suppression de Firefox ESR..."
|
||
sudo apt remove --purge -y firefox-esr
|
||
#sudo apt autoremove -y
|
||
else
|
||
echo_info "Firefox ESR n’est pas installé — aucune sauvegarde ni suppression nécessaire."
|
||
fi
|
||
|
||
# ================================
|
||
# Étape 4 : Ajout du dépôt officiel Mozilla
|
||
# ================================
|
||
echo_info "Ajout du dépôt officiel Mozilla pour Firefox."
|
||
|
||
sudo install -d -m 0755 /etc/apt/keyrings
|
||
wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | \
|
||
sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null
|
||
|
||
DEB_CODENAME=$(lsb_release -cs)
|
||
echo_info "Code-nom Debian détecté : ${DEB_CODENAME}"
|
||
|
||
if [[ "${DEB_CODENAME}" == "trixie" || "${DEB_CODENAME}" == "bookworm" ]]; then
|
||
sudo tee /etc/apt/sources.list.d/mozilla.sources > /dev/null <<EOF
|
||
Types: deb
|
||
URIs: https://packages.mozilla.org/apt
|
||
Suites: mozilla
|
||
Components: main
|
||
Signed-By: /etc/apt/keyrings/packages.mozilla.org.asc
|
||
EOF
|
||
else
|
||
echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | \
|
||
sudo tee /etc/apt/sources.list.d/mozilla.list > /dev/null
|
||
fi
|
||
|
||
sudo tee /etc/apt/preferences.d/mozilla > /dev/null <<EOF
|
||
Package: *
|
||
Pin: origin packages.mozilla.org
|
||
Pin-Priority: 1000
|
||
EOF
|
||
|
||
# ================================
|
||
# Étape 5 : Installation de Firefox standard
|
||
# ================================
|
||
echo_info "Mise à jour des dépôts et installation de Firefox."
|
||
sudo apt update
|
||
sudo apt install -y firefox
|
||
|
||
echo_info "Installation terminée. Version installée :"
|
||
firefox --version
|
||
|
||
echo_info "✅ Script terminé avec succès."
|
||
|
||
|
||
|
||
### Installation de ublock Origin
|
||
|
||
mkdir tmp
|
||
|
||
# On télécharge l'extension depuis addons.mozilla.org
|
||
wget https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi -O tmp/latest.xpi
|
||
|
||
# On renomme le fichier avec l'uid de l'extension
|
||
mv tmp/latest.xpi tmp/uBlock0@raymondhill.net.xpi
|
||
rm tmp
|
||
|
||
# On crée
|
||
sudo mkdir -p /usr/lib/firefox/distribution/extensions/
|
||
sudo cp tmp/uBlock0@raymondhill.net.xpi /usr/lib/firefox/distribution/extensions/
|
||
|
||
# On force les droits en lecture du fichier.
|
||
# A vérifier si c'est vraiment utile...
|
||
sudo chmod 644 /usr/lib/firefox/distribution/extensions/uBlock0@raymondhill.net.xpi
|
||
|
||
## TO BE CONTINUED
|
||
# Homepage custom avec liens vers service publics + + google search + background
|
||
#
|