Streaming's breach
Hello my friends !
A few weeks ago I created a bash script to find and download the source file of every videos hosted with exashare. Given that it uses an IP filter, I think it might be useful to translate in javascript or another web client language and host it on streaming.lunx.ch.
I hope you will help me.
#!/bin/bash
# Langue : Franis
# Autheur : ERGY13
# But : trouver et tharger le fichier source d'une vid exashare
# fonctions
function ligne {
i=0
if [ -z "$LINES" ]; then
LINES=80
fi ;
while [ $i -lt $LINES -a $i -lt 80 ]; do
i=$(( $i+1 ))
printf "-"
done
printf "\n"
}
# intitialisation
ligne
if [ "$(whoami)" = "root" -o "$(whoami)" = "ergy13" ]; then
OK="[\e[1;32m OK \e[0m]"
INFO="[\e[1;32m INFO \e[0m]"
WARN="[\e[1;33m WARN \e[0m]"
FAIL="[\e[1;31m FAIL \e[0m]"
echo -e "$INFO selection du logging color"
else
OK="[ OK ]"
INFO="[ INFO ]"
WARN="[ WARN ]"
FAIL="[ FAIL ]"
echo -e "$INFO selection du logging non-color"
fi ;
file="$RANDOM.temp"
echo -e "$INFO \$file = $file"
# code
# ape 1
ligne
echo -e "$INFO Etape 1 : Thargement de la page source"
ligne
# vification du lien
if [ -z "$1" ]; then
echo -e "$FAIL Erreur : le lien n'est pas spifil"
echo -e "$FAIL Arr..."
exit 1
fi
# affichage des infos
echo -e "$INFO site : $1"
# thargement
wget $1 -q -O $file
ligne
echo -e "$INFO Etape 2 : Passage des diffentes couches iframe"
ligne
ok="false"
couche=0
while [ $ok = "false" ]; do
couche=$(( $couche + 1 ))
code_old="$code"
lien_old="$lien"
echo -e "$INFO Extraction du code de la couche $couche."
code=""
if [ -z "$code" ]; then
code=$(grep "<iframe" $file)
fi
if [ -z "$code" ]; then
code=$(grep "<embed" $file)
fi
if [ -z "$code" ]; then
code=$(grep "<video" $file)
fi
if [ -z "$code" ]; then
code=$(grep "<media" $file)
fi
if [ -z "$code" ]; then
echo -e "$WARN Le code n'a pas trouv"
echo -e "$INFO VIDEO : Extraction du fichier video..."
lien=""
position="1"
tempval_precedent=""
while [ -z "$lien" ]; do
echo -e "$INFO VIDEO : Tentative d'extraction du fichier la position $position"
if [ -z "$code" ]; then
code=$(grep ".mp4" $file)
fi
if [ -z "$code" ]; then
code=$(grep ".avi" $file)
fi
if [ -z "$code" ]; then
code=$(grep ".flv" $file)
fi
if [ -z "$code" ]; then
code=$(grep ".3gp" $file)
fi
if [ -z "$code" ]; then
echo -e "$FAIL VIDEO : Impossible d'extraire le lien exact de la video."
echo -e "$FAIL VIDEO : Utilisation du dernier lien trouv"
lien=$lien_old
if [ -z "$lien" ]; then
echo -e "$FAIL VIDEO : Impossible de trouver le lien."
echo -e "$FAIL Aucun code n'a trouv"
echo -e "$FAIL Arr du script."
ligne
echo -e "$FAIL hec gal"
ligne
exit 1
fi ;
code="<iframe src=\"$lien\" type='manuel'>"
fi
echo -e "$INFO VIDEO : \$code = $code"
templien=$(echo $code | awk -F '"' "{print \$${position}}")
if [[ $templien =~ (.mp4|.avi|.flv|.3gp) ]]; then
echo -e "$OK VIDEO : Trouv La position $position est corecte."
lien=$(echo $code | awk -F '"' "{print \$${position}}")
echo -e "$INFO VIDEO : \$lien = $lien"
ok="true"
else
tempval=$(echo $code | awk -F '"' "{print \$${position}}")
echo -e "$WARN VIDEO : Valeur refus : $tempval"
position=$(( $position + 1 ))
if [ "$tempval_precedent" = "$tempval" ]; then
echo -e "$FAIL VIDEO : le lien n'a pas chang Arr..."
echo -e "$FAIL VIDEO : \$tempval_precedent = $tempval_precedent"
echo -e "$FAIL VIDEO : \$tempval = $tempval"
exit 1
fi ;
tempval_precedent=$tempval
fi
done
else
echo -e "$INFO LECTEUR : le code trouv la couche est pers."
echo -e "$INFO LECTEUR : \$code = $code"
echo -e "$INFO LECTEUR : extraction du lien..."
lien=""
position="1"
tempval_precedent=""
while [ -z "$lien" ]; do
echo -e "$INFO LECTEUR : Tentative d'extraction du lien la position $position"
templien=$(echo $code | awk -F '"' "{print \$${position}}")
if [[ $templien =~ (.html|.php|.asp|.aspx) ]]; then
echo -e "$OK LECTEUR : Trouv La position $position est corecte."
lien=$(echo $code | awk -F '"' "{print \$${position}}")
echo -e "$INFO LECTEUR : \$lien = $lien"
if [[ $lien =~ ^\/\/ ]]; then
lien="http:$lien"
fi
wget $lien -q -O $file
else
tempval=$(echo $code | awk -F '"' "{print \$${position}}")
echo -e "$WARN LECTEUR : Valeur refus : $tempval"
position=$(( $position + 1 ))
if [ "$tempval_precedent" = "$tempval" ]; then
echo -e "$FAIL LECTEUR : le lien n'a pas chang Arr..."
echo -e "$FAIL LECTEUR : \$tempval_precedent = $tempval_precedent"
echo -e "$FAIL LECTEUR : \$tempval = $tempval"
exit 1
fi ;
tempval_precedent=$tempval
fi
done
fi
# if [ "$lien_old" = "$lien" ]; then
# echo -e "$FAIL Une erreur est apparue. Arr..."
# exit 1
# fi ;
done
echo -e "Etape 3 : Thargement du fichier video"
if [ ! "$2" = "false" ]; then
if [ -z "$2" ]; then
wget $lien --show-progress --referer=$1
else
wget $lien --show-progress -O $2 --referer=$1
fi
else
echo -e "\n\n$lien\n\n"
fi
rm $file
0replies
1voice
182views
You must be logged in to reply to this discussion.
Login