Un tempo su Linux si poteva trovare un video guardato in streaming direttamente nella directory /tmp
.
In seguito, con degli aggiornamenti, flash scaricava il video sempre lì, ma veniva eliminato, anche se fisicamente presente.
Per ritrovarlo bastava trovare il processo dell’implementazione flash del browser, solitamente con ps aux | grep flash
e così si trovavano i possibili pid.
Andando a vedere nella directory /proc/pid/fd
, si trovavano tanti link, uno di questi a un file tipo /tmp/Flash...
. In seguito si poteva trattare quel link come se fosse un file normale, quindi riprodurlo, passarlo a mencoder o ffmpeg etc… Se volevate copiarlo dovevate aspettare che il browser avesse finito di scaricare il video!
In seguito sembrava essere scomparsa anche questa possibilità, ma oggi mi sono accorto che è tornata, quindi vi lascio un breve file in python che permette di trovare automaticamente i vari file:
#!/usr/bin/env python import os for pid in os.listdir('/proc'): if not pid.isdigit(): continue fdpath = '/proc/' + str(pid) + '/fd' try: fd = os.listdir(fdpath) except: continue for fid in fd: try: # Not a link? Raise exception fname = os.readlink(fdpath + '/' + fid) fname = fname.strip() if fname.lower().find('/tmp/flash') == 0: fname = fname.split(' ')[0] print fdpath + '/' + fid + ' => ' + fname except: continue
Questo script è stato scritto molto velocemente: cerca di andare in tutti i pid e di trovare i vari link. Se contengono la parola flash stampa il link e la destinazione. So che si potrebbe fare una cosa migliore ma in questo caso preferisco fare lo script kid 😊 .
Lo rilascio nel pubblico dominio.
Comunque se volete scaricare video da siti come youtube ed altri, vi consiglio di non adottare questo metodo ma di usare direttamente youtube-dl, che è fantastico!