8507f087ba
Firefox: captura del perfil snap (marcadores, contrasenas, extensiones, cookies, contenedores, prefs; excluye caches y storage de sitios) y modulo de restauracion idempotente. VSCodium: pasa a instalacion nativa via repo apt oficial (clave GPG + sources) en lugar de flatpak; captura settings, snippets, perfiles, estado de workspaces y lista de extensiones (excluye cache de redhat.java). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
40 lines
1.6 KiB
Bash
Executable File
40 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Captura el perfil de Firefox (Snap): marcadores, historial, contraseñas,
|
|
# extensiones, cookies, contenedores y preferencias de todos los perfiles.
|
|
# Excluye cachés, almacenamiento de sitios, crash reports y telemetría.
|
|
set -euo pipefail
|
|
stpRoot="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
source "$stpRoot/lib/log.sh"
|
|
|
|
readonly firefoxCommonDirectory="$HOME/snap/firefox/common"
|
|
readonly firefoxProfilesDirectory="$firefoxCommonDirectory/.mozilla/firefox"
|
|
readonly outputFile="$stpRoot/secrets/firefoxProfile.zip"
|
|
|
|
firefoxDataExists() {
|
|
[[ -f "$firefoxProfilesDirectory/profiles.ini" ]]
|
|
}
|
|
|
|
if ! firefoxDataExists; then
|
|
log::warn "Datos de Firefox Snap no encontrados en: $firefoxProfilesDirectory"
|
|
log::info "Asegurate de haber abierto Firefox al menos una vez antes de capturar"
|
|
exit 0
|
|
fi
|
|
|
|
log::step "Capturando perfil de Firefox"
|
|
log::info "Cerrá Firefox antes de capturar para evitar bases de datos a medio escribir"
|
|
mkdir -p "$stpRoot/secrets"
|
|
rm -f "$outputFile"
|
|
|
|
(
|
|
cd "$firefoxCommonDirectory"
|
|
find ".mozilla/firefox" \
|
|
| grep -Ev "/(cache2|startupCache|OfflineCache|thumbnails|shader-cache|jumpListCache|storage|minidumps|crashes|datareporting|saved-telemetry-pings|security_state|gmp-widevinecdm|gmp-gmpopenh264)(/|$)" \
|
|
| grep -Ev "/(Crash Reports|Pending Pings)(/|$)" \
|
|
| grep -Ev "\.(sqlite-wal|sqlite-shm)$" \
|
|
| grep -Ev "/(lock|\.parentlock)$" \
|
|
| zip -q "$outputFile" -@
|
|
)
|
|
|
|
log::ok "Guardado: secrets/firefoxProfile.zip ($(du -sh "$outputFile" | cut -f1))"
|
|
log::info "Commiteá secrets/firefoxProfile.zip antes de hacer push"
|