Skip to content

Instantly share code, notes, and snippets.

@FabianPastor
Last active December 2, 2015 14:58
Show Gist options
  • Save FabianPastor/a53e5f71a38a6ba0bb52 to your computer and use it in GitHub Desktop.
Save FabianPastor/a53e5f71a38a6ba0bb52 to your computer and use it in GitHub Desktop.
Portable - Descarga la última versión de Firefox y de flashplayer y usa un archivo encriptado para abrir el perfil de FF.
#!/bin/bash
#Esta parte ejecutarla solo en entornos donde la carpeta personal se crea cada vez que te registras
#chmod -R go-rwx /home/`whoami`/ #Quitamos permisos de la carpeta personal a otros usuarios
#export LANG="es_ES.UTF-8" #Le decimos de usar un tipo de idioma y charset determinado
rojo="\e[1m\e[31m"; #Color Rojo con negrita
verde="\e[1m\e[32m"; #Color verde con negrita
end="\e[0m"; #Color de reset
function downloadFlash {
#Carpeta en la que se encuentra la versión flash anterior
flashlocation="/home/`whoami`/.mozilla/plugins/"
flashlib="libflashplayer.so"
if [ ! -f "$flashlocation$flashlib" ]; then
link="https://get.adobe.com/flashplayer/download/?installer=Flash_Player_11.2_for_other_Linux_%28.tar.gz%29_64-bit&standalone=1"
flashtar="FP.tar.gz"
helper="helper.html"
wget -nv --no-check-certificate -O $helper $link
# Parsea la URL de donde descargar flash del HTML descargado.
link1=`cat $helper|grep "setTimeout(\"location.href ="|awk -F\' '{ print $2 }'`
# Determina la versión de flash
fv=`echo $link1|awk -F/ '{print $7}'`
echo -e "$rojo # Version de flash $fv $end"
#Si la version no concuerda o no hay archivo de guardado...
echo -e "$rojo # Descargando flash $end"
wget -nv --no-check-certificate -O $flashtar $link1
echo -e "$rojo # Desempaquetando $end"
tar -xzf $flashtar $flashlib
echo -e "$rojo # Copiando $end"
echo cp -f $flashlib $flashlocation$flashlib
cp -f $flashlib $flashlocation$flashlib
echo -e "$rojo # Eliminando archivos temporales $end"
rm $flashlib $flashtar
rm $helper
fi
}
function downloadFirefox {
#Variables
link="https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=es-ES";
archivo="firefox.tar.bz2";
if [ -d "./firefox/" ]; then
cd firefox
else
echo -e "$verde Descargando Lista de archivos.$end";
wget --no-check-certificate $link -O $archivo;
echo -e "$verde Desenpaquetando $archivo$end";
tar -jxvf $archivo
echo -e "$verde Borrando $archivo$end";
rm $archivo
cd firefox
echo -e "$verde Concediendo permisos a ejecutables de Firefox$end";
chmod +x firefox plugin-container firefox-bin crashreporter updater webapprt-stub
fi
if [ ! -d "../firefox/" ]; then
echo -e "$rojo Error al descargar Firefox$end";
exit 1;
fi
if [ ! -d "./Profile0/" ]; then
if [ -f "../profile.tar.bz2.enc" ]; then
echo -e "$verde Moviendo,descompactando y desencriptando perfil de Firefox$end";
cat ../profile.tar.bz2.enc|openssl aes256 -d -salt > profile.tar.bz2
while [ $? -eq 1 ]; do
cat ../profile.tar.bz2.enc|openssl aes256 -d -salt > profile.tar.bz2
done;
mv ../profile.tar.bz2.enc ../profile.tar.bz2.enc.old
tar -jxvf profile.tar.bz2
rm profile.tar.bz2
else
mkdir "./Profile0/";
fi
fi
echo -e "$verde Ejecutando Firefox$end";
./firefox -no-remote -profile "./Profile0"
echo -e "$verde Eliminando Cache$end";
rm -rf ./Profile0/storage/default/https+++web.telegram.org/idb/*.files/
rm -rf ./Profile0/thumbnails/*
#TODO: Agregar vaciar canciones de SoundCloud y otros servicios que guardan cosas en la caché
echo -e "$verde Compactando y encriptando Perfil de Firefox$end";
tar -jcvf profile.tar.bz2 Profile0
cat profile.tar.bz2|openssl aes256 -salt > ../profile.tar.bz2.enc
rm profile.tar.bz2
}
############ Inicio de ejecución. ############
# Se ha separado en funciones para poder deshabilitar cada parte
#por separado para poder hacer pruebas de cada una de ellas.
#---------- Descarga de Flash -----------#
if [ ! -d "/home/`whoami`/.mozilla/plugins/" ]; then
mkdir "/home/`whoami`/.mozilla/plugins/";
fi
downloadFlash
#---------- Fin Descarga de Flash -----------#
#-------- Descarga de Firefox Última versión ---------- #
downloadFirefox
#---------- Fin Descarga de Firefox -----------#
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment