Skip to content

Instantly share code, notes, and snippets.

@dapize
Created March 14, 2026 01:08
Show Gist options
  • Select an option

  • Save dapize/00715eaf9964eab360dcee8db8f1811a to your computer and use it in GitHub Desktop.

Select an option

Save dapize/00715eaf9964eab360dcee8db8f1811a to your computer and use it in GitHub Desktop.
Instalador de Firefox Developer Edition para Linux (distribuciones basadas en Debian)
#!/bin/bash
# Script actualizado para Firefox Developer Edition (formato .tar.xz - 2025/2026)
# - Detecta y valida el nuevo formato oficial de Mozilla
# - Se detiene en CUALQUIER error
# - Limpieza automática en caso de fallo
DOWNLOAD_URL="https://download.mozilla.org/?product=firefox-devedition-latest-ssl&os=linux64&lang=es-ES"
# Si prefieres Firefox en español: cambia a lang=es-ES
# DOWNLOAD_URL="https://download.mozilla.org/?product=firefox-devedition-latest-ssl&os=linux64&lang=es-ES"
DEST_DIR="/opt/firefox-developer"
TAR_FILE="firefox-developer.tar.xz"
echo "=== Paso 1: Descargando Firefox Developer Edition ==="
if ! wget --quiet --show-progress -O "$TAR_FILE" "$DOWNLOAD_URL"; then
echo "ERROR: Falló la descarga."
exit 1
fi
if [ ! -s "$TAR_FILE" ]; then
echo "ERROR: El archivo descargado está vacío."
rm -f "$TAR_FILE" 2>/dev/null
exit 1
fi
echo "=== Paso 2: Verificando que sea un archivo .xz válido (nuevo formato oficial) ==="
if ! xz -t "$TAR_FILE" 2>/dev/null; then
echo "ERROR: El archivo NO es un .tar.xz válido (esto ya no debería pasar)."
echo " Ejecuta: file \"$TAR_FILE\" para ver qué descargó realmente."
rm -f "$TAR_FILE" 2>/dev/null
exit 1
fi
echo "=== Paso 3: Extrayendo el archivo ==="
if ! tar -xJf "$TAR_FILE"; then
echo "ERROR: Falló la extracción."
rm -f "$TAR_FILE" 2>/dev/null
exit 1
fi
if [ ! -d "firefox" ]; then
echo "ERROR: No se encontró el directorio 'firefox' después de extraer."
rm -f "$TAR_FILE" 2>/dev/null
exit 1
fi
echo "=== Paso 4: Instalando en /opt ==="
sudo rm -rf "$DEST_DIR" || { echo "ERROR: No se pudo eliminar el directorio anterior."; exit 1; }
sudo mv firefox "$DEST_DIR" || { echo "ERROR: No se pudo mover a $DEST_DIR."; exit 1; }
echo "=== Paso 5: Creando enlace simbólico ==="
sudo ln -sf "$DEST_DIR/firefox" /usr/local/bin/firefox-developer || { echo "ERROR: No se pudo crear el enlace."; exit 1; }
echo "=== Paso 6: Creando entrada de escritorio ==="
sudo tee /usr/share/applications/firefox-developer.desktop > /dev/null << 'EOF'
[Desktop Entry]
Name=Firefox Developer Edition
GenericName=Firefox Developer Edition
Exec=/usr/local/bin/firefox-developer %u
Terminal=false
Icon=/opt/firefox-developer/browser/chrome/icons/default/default48.png
Type=Application
Categories=Application;Network;X-Developer;
Comment=Firefox Developer Edition Web Browser
StartupWMClass=Firefox Developer Edition
EOF
if [ $? -ne 0 ]; then
echo "ERROR: No se pudo crear el archivo .desktop."
exit 1
fi
sudo chmod +x /usr/share/applications/firefox-developer.desktop || { echo "ERROR: No se pudieron dar permisos."; exit 1; }
# Limpieza
rm -f "$TAR_FILE"
echo "¡Instalación completada con éxito!"
echo "Busca 'Firefox Developer Edition' en el menú."
echo "O ejecuta directamente: firefox-developer"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment