Fran's site and blog

Blog

Firefox Cache Recover

Posted by lapaginadefran on March 29, 2013 at 8:25 AM

Así es como he llamado a un pequeño script que he empaquetado como paquete .deb para su distribución e instalación y uso más cómodo.

El script depende de los paquetes scowsay (que muestra los mensajes al usuario de un modo más atractivo) e imagemagick, que contiene programas extras para trabajar con imágenes y era necesario como veremos a continuación.

¿El origen de la idea? Poder descargar imágenes de páginas webs en las que no se permite su descarga; generalmente porque su visionado es a través de visores hechos con flash. Durante un tiempo me dedicaba a mirar el código fuente de la página y era a veces interesante observar una carpeta que era origen de las imágenes que cargaba el visor flash. En otras ocasiones el enlace del origen de esas imágenes estaba dentro del código del objeto flash y había que desensamblar el objeto flash para mirar luego el código "action script" de flash.... Hasta que me di cuenta de la estupidez que estaba haciendo porque... ¡TODO LO QUE VEO EN MI NAVEGADOR ESTÁ EN MI DISCO DURO! Bueno, no exactamente porque el navegador Firefox al menos hace distinción entre grabar en la RAM el contenido que estás viendo en la web y pasarlo al disco duro. Pero convenientemente configurado, hará uso de la caché del disco duro. Y eso implica que lo que estás viendo en tu firefox está ya en algún lugar del disco duro.

Y no es un lugar secreto desde luego. El problema es que los archivos se guardan sin extensión. En Windows uno se queda sin saber a priori de qué archivo se trata. En linux el sistema detecta el tipo de fichero. Para esos menesteres desde la línea de comandos tenemos el comando "file" que puede ser usado en un script, como es el caso.


Así pues, y haciendo uso básicamente del comando "file", este script extrae de la cache de firefox todos los archivos alojados en los distitos subdirectorios del direcotorio cache (búsqueda a través del comando "find"), copiándoos a un directorio que nos crea al principio en el nuestro de usuario: "firefox_cache". También se crearán las siguientes carpetas: "jpg", "flv", "txt", "png", "gif", "mp4" y "swf".

Desde ahí se procede a una clasificación de archivos según los tipos indicados anteriormente y se procede a agregarles una extensión según su tipo y se mueven a las carpetas arriba indicas. Dentro de jpg se crearán además las carpetas "large", "medium" y "small" para alojar las fotos de extensión jpg clasificadas como grandes (tamaño a partir de 900x600 u 800x600), las de tamaño medio (entre el tamaño anterior y 600x300 y su equivalente vertical) y las pequeñas; cuyo tamaño no sea inferior  a 400x300 o su equivalente vertical.

También rescata los vídeos que hayamos estado reproduciendo en streaming en alguna web, obtetos flash (swf) y archivos de texto que suelen ser hojas de estilo css y scripts de java.

Cuando se instala el script como paquete deb, este se aloja como fcrecover en la carpeta /usr/bin y puede ser usado ejecutado como comando desde la consola o a través de un icono que se crea en el menú, tanto de Unity como KDE, por lo que podemos ejecutarlo con un click al acceso directo. El icono es el mismo que el del navegador Firefox pero en blanco  y negro. Realmente no he tenido muchas ganas de crear yo uno nuevo desde cero.


Descargar fcrecover_2.1_all.deb

Changelog:

Ahora el script borra la carpeta firefox_cache existente. Al final se crea una copia comprimida de la nueva carpeta firefox_cache cuyo nombre es firefox_cache-aaaa-mm-dd.tar.bz2; es decir, se le añade el día actual al nombre de la copia. Pero no se borra la carpeta resultante, ya que el usuario ejecuta el script con intención de acceder a ella. Pero si se ejecuta de nuevo, la carpeta será borrada y contaremos con la copia de seguridad firefox_cache-aaaa-mm-dd.tar.bz2

Descargar fcrecover_2.2_all.deb


Categories: Linux/Darwin, Firefox Cache Recover, Inform├?┬ítica

Post a Comment

Oops!

Oops, you forgot something.

Oops!

The words you entered did not match the given text. Please try again.

Already a member? Sign In

0 Comments