| ... | ... |
@@ -0,0 +1,99 @@ |
| 1 |
+#!/bin/bash |
|
| 2 |
+DEBUG=1 |
|
| 3 |
+export LANG=en_US |
|
| 4 |
+ |
|
| 5 |
+# Temporary Variables |
|
| 6 |
+TEMPHTML="1fichier.html" |
|
| 7 |
+if [ 0 -eq $DEBUG ] |
|
| 8 |
+then |
|
| 9 |
+ DATE=$(date +%s) |
|
| 10 |
+ TEMPHTML="1fichier-$DATE.html" |
|
| 11 |
+fi |
|
| 12 |
+ |
|
| 13 |
+function die() |
|
| 14 |
+{
|
|
| 15 |
+ RETCODE=$1 |
|
| 16 |
+ if [ "" == "$1" ] |
|
| 17 |
+ then |
|
| 18 |
+ RETCODE=255 |
|
| 19 |
+ fi |
|
| 20 |
+ echo " FAILED" |
|
| 21 |
+ exit $RETCODE |
|
| 22 |
+} |
|
| 23 |
+ |
|
| 24 |
+function progressfilt () |
|
| 25 |
+{
|
|
| 26 |
+ local flag=false c count cr=$'\r' nl=$'\n' |
|
| 27 |
+ while IFS='' read -d '' -rn 1 c |
|
| 28 |
+ do |
|
| 29 |
+ if $flag |
|
| 30 |
+ then |
|
| 31 |
+ printf '%c' "$c" |
|
| 32 |
+ else |
|
| 33 |
+ if [[ $c != $cr && $c != $nl ]] |
|
| 34 |
+ then |
|
| 35 |
+ count=0 |
|
| 36 |
+ else |
|
| 37 |
+ ((count++)) |
|
| 38 |
+ if ((count > 1)) |
|
| 39 |
+ then |
|
| 40 |
+ flag=true |
|
| 41 |
+ fi |
|
| 42 |
+ fi |
|
| 43 |
+ fi |
|
| 44 |
+ done |
|
| 45 |
+} |
|
| 46 |
+ |
|
| 47 |
+function clean_temp_files() |
|
| 48 |
+{
|
|
| 49 |
+ rm -f $TEMPHTML |
|
| 50 |
+} |
|
| 51 |
+ |
|
| 52 |
+function usage() |
|
| 53 |
+{
|
|
| 54 |
+ echo "usage : $(basename $0) <1fichierurl>" |
|
| 55 |
+} |
|
| 56 |
+ |
|
| 57 |
+URL="$1" |
|
| 58 |
+if [ "" == "$1" ] |
|
| 59 |
+then |
|
| 60 |
+ usage |
|
| 61 |
+ exit 1 |
|
| 62 |
+fi |
|
| 63 |
+ |
|
| 64 |
+echo -n "+- Downloading front page $URL" |
|
| 65 |
+wget -q $URL -O $TEMPHTML && echo " OK" || die 2 |
|
| 66 |
+FILE_NAME=$(grep -A1 "FileName" $TEMPHTML | tail -1|sed 's/</>/g' |awk -F'>' '{print $3}'|sed 's/ /_/g')
|
|
| 67 |
+if [ "" == "$FILE_NAME" ] |
|
| 68 |
+then |
|
| 69 |
+ FILE_NAME=$(grep -A1 "Nom du fichier :" $TEMPHTML | tail -1|sed 's/</>/g' |awk -F'>' '{print $3}'|sed 's/ /_/g')
|
|
| 70 |
+ if [ "" == "$FILE_NAME" ] |
|
| 71 |
+ then |
|
| 72 |
+ FILE_NAME=$(grep -A1 'File Name :</td>' $TEMPHTML | tail -1 | awk -F'<' '{print $2}' | awk -F'>' '{print $NF}')
|
|
| 73 |
+ fi |
|
| 74 |
+fi |
|
| 75 |
+echo "+- Getting FileName : $FILE_NAME" |
|
| 76 |
+POST_DATA=" " |
|
| 77 |
+FILEID=$(echo $URL|awk -F'/' '{print $3}' | awk -F'.' '{print $1}')
|
|
| 78 |
+IS_OK=$(echo $URL|grep '\?'|wc -l) |
|
| 79 |
+if [ "0" == "$IS_OK" ] |
|
| 80 |
+then |
|
| 81 |
+ NEW_URL="https://1fichier.com/?$FILEID" |
|
| 82 |
+else |
|
| 83 |
+ NEW_URL=$URL |
|
| 84 |
+fi |
|
| 85 |
+echo -n "+- Post : $NEW_URL" |
|
| 86 |
+HDR_REF="Referer: $NEW_URL" |
|
| 87 |
+wget -q --header "$HDR_REF" --post-data "" $NEW_URL -O $TEMPHTML && echo " OK" || die 2 |
|
| 88 |
+ |
|
| 89 |
+NEW_URL=$(grep 'ok btn-general btn-orange' $TEMPHTML | awk -F'"' '{print $2}')
|
|
| 90 |
+if [ "submit" == "$NEW_URL" ] |
|
| 91 |
+then |
|
| 92 |
+ grep -A1 "Vous devez attendre" $TEMPHTML | awk -F'>' '{print $NF}'
|
|
| 93 |
+ grep -A1 "you must wait between" $TEMPHTML | awk -F'>' '{print $NF}'
|
|
| 94 |
+ clean_temp_files |
|
| 95 |
+ exit 0 |
|
| 96 |
+fi |
|
| 97 |
+clean_temp_files |
|
| 98 |
+echo "+- File : $NEW_URL" |
|
| 99 |
+wget $NEW_URL --progress=bar:force -O $FILE_NAME 2>&1 | progressfilt |