Reenvío esto por si les interesa :) ---------- Forwarded message ---------- From: Jean-Pierre Chauvel <jchau...@gmail.com> Date: 2011/4/14 Subject: [l-plug] Una solución elegante y permanente para guardar tus temporales de videos en Flash To: linux-p...@linux.org.pe
Hice una scripcillo en forma de librería de vínculo dinámico para evitar que ciertos programas molestos, como libflashplugin.so, intenten desvincular un archivo del sistema de archivos. Por buen tiempo se podían backup-ear videos descargados por el plugin de Flash, copiando el archivo temporal (ubicado en /tmp o en $HOME/.cache/chromium/Caches por ejemplo) en otra parte, o bien, agregándole un hard link adicional al archivo. Lamentablemente con la última versión del plugin esto ya no es posible, tampoco es posible obtener las referencias del handler usando lsof o examinando el contenido de /proc/*/fd. Así que molesto, no me quedó otra que crear un surrogate para la llamada a unlink del filesystem. Venciendo la flojera y el desconocimiento del API me lanzé a la piscina y terminé haciendo un escueto pero elegante scripcillo en C que permite reemplazar cualquier llamada a unlink por un simple NOP. Para utilizarlo hay que generarlo para arquitectura i386 (recuerden que el plugin solo existe en versión 32 bits y en 64-bit boxes el plugin se invoca usando un wrapper de 64 bits), asignarle usario y grupo root o equivalente, y finalmente establecer la variable LD_PRELOAD con la ruta y el nombre del módulo generado. Ignoren cualquier mensaje del tipo: ERROR: ld.so: object '/path/to/your/dummy-unlinker.so' from LD_PRELOAD cannot be preloaded: ignored. Esto solo ocurre en sistemas de 64 bits ya que antes de que libflashplugin.so tenga oportunidad de leer el contenido de la variable de entorno, el browser y npviewer.bin lo hicieron antes, y estos últimos son binarios elf de 64 bits. Solo resta aplicar tu método antiguo de copiar/hardlink-ear el archivo del cache en otro lado y listo :) El módulo es bien cojudón así que lo liberé con licencia de dominio público. Lo cual quiere decir que pueden hacer con este lo que les plazca :) https://github.com/hellhound/unlinker4flash Saludos, Jean-Pierre p.s. Disculpen el repost. Tuve que cambiar el nombre del proyecto a solicitud de un fellow githubber :P _______________________________________________ Lista de correo Linux-plug Temática: Discusión general sobre Linux Peruvian Linux User Group (http://www.linux.org.pe) Participa suscribiéndote y escribiendo a: linux-p...@linux.org.pe Para darte de alta, de baja o hacer ajustes a tu suscripción visita: http://voip2.voip.net.pe/mailman/listinfo/linux-plug IMPORTANTE: Reglas y recomendaciones http://www.linux.org.pe/listas/reglas.php http://www.linux.org.pe/listas/comportamiento.php http://www.linux.org.pe/listas/recomendaciones.php -- Linux Registered User # 386081 A menudo unas pocas horas de "Prueba y error" podrán ahorrarte minutos de leer manuales. -- To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/banlktintabf78hwuvaobgpychs1gyok...@mail.gmail.com