Introdução
Desenvolvi esse script para facilitar o processo descrito no post:
https://daemoniolabs.wordpress.com/2011/07/23/para-onde-foram-os-arquivos-flash-do-tmp/
Usando-o você poderá salvar todos os vídeos abertos no momento em seu computador.
Código
#!/bin/bash # Autor: Daemonio (Marcos Paulo Ferreira) # Contato: undefinido gmail com # daemoniolabs.wordpress.com # # [getfla.sh] # Script que copia para a pasta $PASTA # todos os videos flash abertos pelo # plugin do flash. Esse script foi feito # para recupar arquivos de videos de sites # como Youtube que "nao estao" mais na pasta # /tmp. # # [Uso] # $ ./getfla.sh # # [Exemplo] # $ ./getfla.sh # [+] Checando lista de arquivos abertos... Espere. # [+] Copiando /proc/8403/fd/30 para /home/daemonio\ # /FLV_Videos/video_2279.flv ... ok! # # OBS: Evite copiar e distribuir ilegalmente # videos protegidos (copyright). # # Sun Jul 24 18:15:09 BRT 2011 # # Variaveis do script. PASTA=${HOME}/FLV_Videos PREFIX='video_' # Se preciso cria a pasta destino e fecha o script # se nao eh possivel cria-la. if [ ! -d $PASTA ] then read -p "Criar pasta \`${PASTA}' (y/n)? " q if [ "$q" = "y" ] then mkdir $PASTA [ ! -d $PASTA ] && exit else exit fi fi # Essa checagem realmente pode demorar um pouco ... echo '[+] Checando lista de arquivos abertos... Espere.' for PIDFD in $(lsof -n | grep 'FlashXX' | awk '{print $2"/fd/"$4}') do # TODO: Passar isso para o awk. Mas # primeiro aprender AWK. ;-O PIDFD='/proc/'$(echo $PIDFD | sed 's/[^0-9]*$//') # RANDOM para tentar evitar nomes iguais. DEST=${PASTA}'/'${PREFIX}${RANDOM}'.flv' # Processo de copia. echo -n "[+] Copiando $PIDFD para $DEST ... " cp $PIDFD $DEST echo 'ok!' done #EOF
Como usar
Salve o código do script com o nome getfla.sh e dê permissão de execução para ele. Após isso, digite o nome do script para executá-lo.
$ ./getfla.sh
Exemplo de utilização
Estou com três vídeos abertos no youtube e agora quero salvá-los em meu computador. Para isso digito:
$ ./getfla.sh Criar pasta `/home/daemonio/FLV_Videos' (y/n)? y [+] Checando lista de arquivos abertos... Espere. [+] Copiando /proc/8403/fd/17 para /home/daemonio/FLV_Videos/video_2618.flv ... ok! [+] Copiando /proc/8403/fd/43 para /home/daemonio/FLV_Videos/video_9585.flv ... ok! [+] Copiando /proc/8403/fd/44 para /home/daemonio/FLV_Videos/video_17639.flv ... ok!
Como podemos ver, todos os três vídeos foram salvos na pasta /home/daemonio/FLV_Videos.
Observações
A checagem de arquivos abertos (comando lsof) pode demorar um pouco. Em uma ocasião esperei aproximadamente 1 minuto para o lsof retornar. Irei ver futuramente algum modo de agilizar esse processo.
Obtenha a nova versão do script na página de Downloads.
obs: para o youtube esse esquema não funciona mais (essa postagem é de 2011). Porém, para outros sites ainda funciona.