... | ... |
@@ -0,0 +1,401 @@ |
1 |
+#!/bin/bash |
|
2 |
+ |
|
3 |
+USER_AGENT="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0" |
|
4 |
+DEBUG=1 |
|
5 |
+ |
|
6 |
+# Temporary Variables |
|
7 |
+BASE="serie-vostfr" |
|
8 |
+TEMPHTML="$BASE.html" |
|
9 |
+TEMPHTML2="$BASE.2.html" |
|
10 |
+TEMPHTML3="$BASE.3.html" |
|
11 |
+TEMPCOOKIE="$BASE.cookie" |
|
12 |
+TEMPJS="$BASE.js" |
|
13 |
+TEMPJSON="$BASE.json" |
|
14 |
+RCFILE="$HOME/.$BASE""rc" |
|
15 |
+if [ 0 -eq $DEBUG ] |
|
16 |
+then |
|
17 |
+ DATE=$(date +%s) |
|
18 |
+ TEMPHTML="$BASE-$DATE.html" |
|
19 |
+ TEMPHTML2="$BASE.2-$DATE.html" |
|
20 |
+ TEMPHTML3="$BASE.3-$DATE.html" |
|
21 |
+ TEMPCOOKIE="$BASE-$DATE.cookie" |
|
22 |
+ TEMPJS="$BASE-$DATE.js" |
|
23 |
+ TEMPJSON="$BASE-$DATE.json" |
|
24 |
+fi |
|
25 |
+ |
|
26 |
+WGET_CMD="wget -q --no-check-certificate --keep-session-cookies --load-cookies $TEMPCOOKIE --save-cookies $TEMPCOOKIE" |
|
27 |
+WGET_CMD_VERBOSE="wget --no-check-certificate --keep-session-cookies --load-cookies $TEMPCOOKIE --save-cookies $TEMPCOOKIE" |
|
28 |
+ |
|
29 |
+URL="$1" |
|
30 |
+HDR_ACCEPT="Accept: */*" |
|
31 |
+ |
|
32 |
+function cleanfiles() { |
|
33 |
+ rm -f $TEMPHTML |
|
34 |
+ rm -f $TEMPHTML2 |
|
35 |
+ rm -f $TEMPHTML3 |
|
36 |
+ rm -f $TEMPCOOKIE |
|
37 |
+ rm -f $TEMPJS |
|
38 |
+ rm -f $TEMPJSON |
|
39 |
+} |
|
40 |
+ |
|
41 |
+function die() |
|
42 |
+{ |
|
43 |
+ RETCODE=$1 |
|
44 |
+ if [ "" == "$1" ] |
|
45 |
+ then |
|
46 |
+ RETCODE=255 |
|
47 |
+ fi |
|
48 |
+ echo " FAILED" |
|
49 |
+ exit $RETCODE |
|
50 |
+} |
|
51 |
+ |
|
52 |
+function parse_uptobox() { |
|
53 |
+ #~ NOTFOUND=$(cat $1 |grep 'File not found' | wc -l) |
|
54 |
+ NOTFOUND=$(grep '<input type="hidden" name="fname" value="' $1 | wc -l) |
|
55 |
+ #" |
|
56 |
+ #~ echo "$NOTFOUND" |
|
57 |
+ #~ if [ ! -z $NOTFOUND ] |
|
58 |
+ if [ "0" == "$NOTFOUND" ] |
|
59 |
+ then |
|
60 |
+ echo " NOT FOUND" |
|
61 |
+ else |
|
62 |
+ echo " OK" |
|
63 |
+ FILENAME=$(grep '<input type="hidden" name="fname" value="' $1 | awk -F'"' '{print $6}') |
|
64 |
+ FILESIZE=$(grep '<input type="hidden" name="file_size_real" value="' $1 | awk -F'"' '{print $6}') |
|
65 |
+ FILESIZE=$(( $FILESIZE/1024/1024 )) |
|
66 |
+ echo " +- Filename: $FILENAME" |
|
67 |
+ echo " +- FileSize: $FILESIZE MB" |
|
68 |
+ fi |
|
69 |
+} |
|
70 |
+ |
|
71 |
+function parse_uplea() { |
|
72 |
+ NOTFOUND=$(cat $1 |grep 'expired link' | wc -l) |
|
73 |
+ if [ "0" != "$NOTFOUND" ] |
|
74 |
+ then |
|
75 |
+ echo " NOT FOUND" |
|
76 |
+ else |
|
77 |
+ echo " OK" |
|
78 |
+ fi |
|
79 |
+} |
|
80 |
+ |
|
81 |
+function parse_clicknuploadlink() { |
|
82 |
+ NOTFOUND=$(cat $1 |grep 'File Not Found' | wc -l) |
|
83 |
+ if [ "0" != "$NOTFOUND" ] |
|
84 |
+ then |
|
85 |
+ echo " NOT FOUND" |
|
86 |
+ else |
|
87 |
+ echo " OK" |
|
88 |
+ fi |
|
89 |
+} |
|
90 |
+ |
|
91 |
+function parse_filecloudio() { |
|
92 |
+ NOTFOUND=$(cat $1 |grep 'The file at this URL was either removed or did not exist in the first place' | wc -l) |
|
93 |
+ #~ if [ ! -z $NOTFOUND ] |
|
94 |
+ if [ "0" != "$NOTFOUND" ] |
|
95 |
+ then |
|
96 |
+ echo " NOT FOUND" |
|
97 |
+ else |
|
98 |
+ echo " OK" |
|
99 |
+ fi |
|
100 |
+} |
|
101 |
+ |
|
102 |
+function parse_filesupload() { |
|
103 |
+ NOTFOUND=$(cat $1 |grep 'File not found' | wc -l) |
|
104 |
+ #~ if [ ! -z $NOTFOUND ] |
|
105 |
+ if [ "0" != "$NOTFOUND" ] |
|
106 |
+ then |
|
107 |
+ echo " NOT FOUND" |
|
108 |
+ else |
|
109 |
+ echo " OK" |
|
110 |
+ fi |
|
111 |
+} |
|
112 |
+ |
|
113 |
+function parse_letitbit() { |
|
114 |
+ NOTFOUND=$(cat $1 |grep 'The project does not exist' | wc -l) |
|
115 |
+ #~ if [ ! -z $NOTFOUND ] |
|
116 |
+ if [ "0" != "$NOTFOUND" ] |
|
117 |
+ then |
|
118 |
+ echo " NOT FOUND" |
|
119 |
+ else |
|
120 |
+ echo " OK" |
|
121 |
+ fi |
|
122 |
+} |
|
123 |
+ |
|
124 |
+function parse_dlfreefr() { |
|
125 |
+ NOTFOUND=$(cat $1 |grep 'Fichier inexistant' | wc -l) |
|
126 |
+ #~ if [ ! -z $NOTFOUND ] |
|
127 |
+ if [ "0" != "$NOTFOUND" ] |
|
128 |
+ then |
|
129 |
+ echo " NOT FOUND" |
|
130 |
+ else |
|
131 |
+ echo " OK" |
|
132 |
+ fi |
|
133 |
+} |
|
134 |
+ |
|
135 |
+function parse_1fichier() { |
|
136 |
+ #~ NOTFOUND=$(cat $1 |grep '<div id="errorDiv"' | wc -l) |
|
137 |
+ NOTFOUND=$(cat $1 |grep 'File Name :</td>' | wc -l) |
|
138 |
+ #~ echo "$NOTFOUND" |
|
139 |
+ if [ "0" == "$NOTFOUND" ] |
|
140 |
+ then |
|
141 |
+ NOTFOUND=$(cat $1| grep 'Nom du fichier :' | wc -l ) |
|
142 |
+ if [ "0" == "$NOTFOUND" ] |
|
143 |
+ then |
|
144 |
+ echo " NOT FOUND" |
|
145 |
+ else |
|
146 |
+ FILENAME=$(grep -A1 'Nom du fichier :</td>' $1 | tail -1 | awk -F'<' '{print $2}' | awk -F'>' '{print $NF}') |
|
147 |
+ FILESIZE=$(grep -A1 'Taille :</td>' $1 | tail -1 | awk -F'<' '{print $2}' | awk -F'>' '{print $NF}') |
|
148 |
+ echo " +- Filename: $FILENAME" |
|
149 |
+ echo " +- FileSize: $FILESIZE" |
|
150 |
+ fi |
|
151 |
+ else |
|
152 |
+ echo " OK" |
|
153 |
+ FILENAME=$(grep -A1 'File Name :</td>' $1 | tail -1 | awk -F'<' '{print $2}' | awk -F'>' '{print $NF}') |
|
154 |
+ FILESIZE=$(grep -A1 'Size :</td>' $1 | tail -1 | awk -F'<' '{print $2}' | awk -F'>' '{print $NF}') |
|
155 |
+ echo " +- Filename: $FILENAME" |
|
156 |
+ echo " +- FileSize: $FILESIZE" |
|
157 |
+ fi |
|
158 |
+} |
|
159 |
+ |
|
160 |
+function parse_turbobit() { |
|
161 |
+ NOTFOUND=$(cat $1 |grep 'not-found-header' | wc -l) |
|
162 |
+ #~ if [ ! -z $NOTFOUND ] |
|
163 |
+# if [ "0" != "$NOTFOUND" ] |
|
164 |
+# then |
|
165 |
+# echo " NOT FOUND" |
|
166 |
+# else |
|
167 |
+# echo " OK" |
|
168 |
+# fi |
|
169 |
+ echo " NOT FOUND" |
|
170 |
+} |
|
171 |
+ |
|
172 |
+function parse_bigfileto() { |
|
173 |
+ NOTFOUND=$(cat $1 |grep 'This file is no longer available' | wc -l) |
|
174 |
+ #~ if [ ! -z $NOTFOUND ] |
|
175 |
+ if [ "0" != "$NOTFOUND" ] |
|
176 |
+ then |
|
177 |
+ echo " NOT FOUND" |
|
178 |
+ else |
|
179 |
+ echo " OK" |
|
180 |
+ fi |
|
181 |
+} |
|
182 |
+ |
|
183 |
+function parse_uploaded() { |
|
184 |
+ if [ ! -s $1 ] |
|
185 |
+ then |
|
186 |
+ echo " NOT FOUND" |
|
187 |
+ else |
|
188 |
+ NOTFOUND=$(cat $1 |grep '<div id="errorDiv"' | wc -l) |
|
189 |
+ #~ if [ ! -z $NOTFOUND ] |
|
190 |
+ if [ "0" != "$NOTFOUND" ] |
|
191 |
+ then |
|
192 |
+ echo " NOT FOUND" |
|
193 |
+ else |
|
194 |
+ echo " OK" |
|
195 |
+ URL=$(grep '"filename"' $1 | awk -F'href=' '{print $2}' | awk -F'"' '{print "http://ul.to/" $2}') |
|
196 |
+ echo "+- $URL" |
|
197 |
+ uploaded.net $URL |
|
198 |
+ rm $1 |
|
199 |
+ exit 0 |
|
200 |
+ fi |
|
201 |
+ fi |
|
202 |
+} |
|
203 |
+ |
|
204 |
+function parse_multiup_org() { |
|
205 |
+ URI=$(grep '/mirror/' $1 | awk -F'"' '{print $2}') |
|
206 |
+ NEWURL="http://www.multiup.org$URI" |
|
207 |
+ $WGET_CMD --header "$HDR_ACCEPT" --user-agent "$USER_AGENT" $NEWURL -O $TEMPHTML || die 2 "Error" |
|
208 |
+ LINK_LIST=$(grep -B1 ' target="_blank" ' $TEMPHTML | grep 'href=' | awk -F'"' '{print $2}') |
|
209 |
+ #" |
|
210 |
+ CPT=0 |
|
211 |
+ for link in $LINK_LIST |
|
212 |
+ do |
|
213 |
+ echo -n " +- Checking $link" |
|
214 |
+ IS_TB=$(echo $link | grep turbobit | wc -l ) |
|
215 |
+ IS_1F=$(echo $link | grep 1fichier | wc -l ) |
|
216 |
+ IS_LTB=$(echo $link | grep letitbit | wc -l ) |
|
217 |
+ IS_UPBX=$(echo $link | grep uptobox | wc -l ) |
|
218 |
+ #~ IS_UPLED=$(echo $link | grep uploaded | wc -l ) |
|
219 |
+ IS_UPLED=$(echo $link | grep -e uploaded -e "ul.to" | wc -l ) |
|
220 |
+ IS_FILESUPLOAD=$(echo $link | grep filesupload.org | wc -l ) |
|
221 |
+ IS_UPLEA=$(echo $link | grep uplea.com | wc -l ) |
|
222 |
+ IS_FILECLOUDIO=$(echo $link | grep filecloud.io | wc -l ) |
|
223 |
+ IS_FILECLICKNUPLOADIO=$(echo $link | grep clicknupload.link | wc -l ) |
|
224 |
+ IS_BIGFILETO=$(echo $link | grep bigfile.to | wc -l ) |
|
225 |
+ IS_DLFREEFR=$(echo $link | grep dl.free.fr | wc -l ) |
|
226 |
+ $WGET_CMD --header "$HDR_ACCEPT" --user-agent "$USER_AGENT" "$link" -O check-$CPT.html |
|
227 |
+ if [ "0" != "$IS_1F" ] |
|
228 |
+ then |
|
229 |
+ parse_1fichier check-$CPT.html |
|
230 |
+ elif [ "0" != "$IS_UPBX" ] |
|
231 |
+ then |
|
232 |
+ echo ZOB |
|
233 |
+ parse_uptobox check-$CPT.html |
|
234 |
+ elif [ "0" != "$IS_UPLED" ] |
|
235 |
+ then |
|
236 |
+ parse_uploaded check-$CPT.html |
|
237 |
+ elif [ "0" != "$IS_FILESUPLOAD" ] |
|
238 |
+ then |
|
239 |
+ parse_filesupload check-$CPT.html |
|
240 |
+ elif [ "0" != "$IS_UPLEA" ] |
|
241 |
+ then |
|
242 |
+ link2=$(echo $link|sed 's/\/dl\//\/step\//;s/$/\/3/') |
|
243 |
+ echo " +- Moving to $link2" |
|
244 |
+ $WGET_CMD --header "$HDR_ACCEPT" --user-agent "$USER_AGENT" "$link2" -O check-$CPT.html |
|
245 |
+ parse_uplea check-$CPT.html |
|
246 |
+ elif [ "0" != "$IS_FILECLOUDIO" ] |
|
247 |
+ then |
|
248 |
+ parse_filecloudio check-$CPT.html |
|
249 |
+ elif [ "0" != "$IS_FILECLICKNUPLOADIO" ] |
|
250 |
+ then |
|
251 |
+ parse_clicknuploadlink check-$CPT.html |
|
252 |
+ elif [ "0" != "$IS_TB" ] |
|
253 |
+ then |
|
254 |
+ parse_turbobit check-$CPT.html |
|
255 |
+ elif [ "0" != "$IS_BIGFILETO" ] |
|
256 |
+ then |
|
257 |
+ parse_bigfileto check-$CPT.html |
|
258 |
+ elif [ "0" != "$IS_DLFREEFR" ] |
|
259 |
+ then |
|
260 |
+ parse_dlfreefr check-$CPT.html |
|
261 |
+ elif [ "0" != "$IS_DLFREEFR" ] |
|
262 |
+ then |
|
263 |
+ parse_letitbit check-$CPT.html |
|
264 |
+ else |
|
265 |
+ echo " UNKNOWN" |
|
266 |
+ fi |
|
267 |
+ rm -f check-$CPT.html |
|
268 |
+ CPT=$(( $CPT + 1 )) |
|
269 |
+ done |
|
270 |
+} |
|
271 |
+ |
|
272 |
+function parse_jheberg() { |
|
273 |
+ NEWURL=$(echo $1 | sed 's/download/mirror/') |
|
274 |
+ echo $NEWURL |
|
275 |
+ $WGET_CMD_VERBOSE --header "$HDR_ACCEPT" --user-agent "$USER_AGENT" $NEWURL -O $TEMPHTML || die 2 "Error" |
|
276 |
+} |
|
277 |
+ |
|
278 |
+trap cleanfiles EXIT |
|
279 |
+ |
|
280 |
+ISURL=${URL:0:4} |
|
281 |
+if [ "http" == "$ISURL" ] |
|
282 |
+then |
|
283 |
+ echo -n "+- Downloading $URL" |
|
284 |
+ $WGET_CMD --header "$HDR_ACCEPT" --user-agent "$USER_AGENT" $URL -O $TEMPHTML && echo " OK" || die 2 "Error" |
|
285 |
+ LINE_START=$(grep -n 'TELECHARGEMENT' $TEMPHTML | awk -F':' '{print $1}') |
|
286 |
+ LINE_STOP=$(cat $TEMPHTML|wc -l) |
|
287 |
+ if [ "" == "$START" ] |
|
288 |
+ then |
|
289 |
+ URL=$(grep "data-lazy-src=" $TEMPHTML | sed 's/data-lazy-src=/\ndata-lazy-src=/g' | grep 'data-lazy-src=' | awk -F'"' '{print $2}' | grep includes) |
|
290 |
+ echo -n "+- Nested $URL" |
|
291 |
+ $WGET_CMD --header "$HDR_ACCEPT" --user-agent "$USER_AGENT" $URL -O $TEMPHTML && echo " OK" || die 2 "Error" |
|
292 |
+ LINE_START=$(grep -n 'TELECHARGEMENT' $TEMPHTML | awk -F':' '{print $1}') |
|
293 |
+ LINE_STOP=$(cat $TEMPHTML|wc -l) |
|
294 |
+ fi |
|
295 |
+ #~ echo "+- Start @ [$LINE_START]" |
|
296 |
+ #~ echo "+- Stop @ [$LINE_STOP]" |
|
297 |
+ cat $TEMPHTML | sed -n "$LINE_START,$LINE_STOP"p > $TEMPHTML3 |
|
298 |
+ grep 'href' $TEMPHTML3 | awk -F"'" '{print $2}' > $TEMPHTML2 |
|
299 |
+else |
|
300 |
+ cat $URL | grep "^http" > $TEMPHTML2 |
|
301 |
+fi |
|
302 |
+ |
|
303 |
+CPT=1 |
|
304 |
+while read link |
|
305 |
+do |
|
306 |
+ IS_TB=$(echo $link | grep turbobit | wc -l ) |
|
307 |
+ IS_UPBX=$(echo $link | grep uptobox | wc -l ) |
|
308 |
+ IS_SHF=$(echo $link | grep shareflare | wc -l ) |
|
309 |
+ IS_RG=$(echo $link | grep rapidgator | wc -l ) |
|
310 |
+ IS_LTB=$(echo $link | grep letitbit | wc -l ) |
|
311 |
+ IS_HF=$(echo $link | grep hugefiles | wc -l ) |
|
312 |
+ IS_1F=$(echo $link | grep 1fichier | wc -l ) |
|
313 |
+ IS_180U=$(echo $link | grep 180upload.com | wc -l ) |
|
314 |
+ IS_MU=$(echo $link | grep multiup.org | wc -l ) |
|
315 |
+ IS_FILESUPLOAD=$(echo $link | grep filesupload.org | wc -l ) |
|
316 |
+ IS_UPLEA=$(echo $link | grep uplea.com | wc -l ) |
|
317 |
+ IS_FILECLOUDIO=$(echo $link | grep filecloud.io | wc -l ) |
|
318 |
+ IS_FILECLICKNUPLOADIO=$(echo $link | grep clicknupload.link | wc -l ) |
|
319 |
+ IS_BIGFILETO=$(echo $link | grep bigfile.to | wc -l ) |
|
320 |
+ IS_DLFREEFR=$(echo $link | grep dl.free.fr | wc -l ) |
|
321 |
+ IS_JHEBERG=$(echo $link | grep jheberg.net | wc -l ) |
|
322 |
+ IS_UPLED=$(echo $link | grep -e uploaded -e "ul.to" | wc -l ) |
|
323 |
+ if [ "0" == "$IS_HF" ] |
|
324 |
+ then |
|
325 |
+ if [ "0" == "$IS_180U" ] |
|
326 |
+ then |
|
327 |
+ $WGET_CMD --header "$HDR_ACCEPT" --user-agent "$USER_AGENT" "$link" -O check-$CPT.html |
|
328 |
+ fi |
|
329 |
+ fi |
|
330 |
+ echo " +- Checking $link " |
|
331 |
+ if [ "0" != "$IS_TB" ] |
|
332 |
+ then |
|
333 |
+ parse_turbobit check-$CPT.html |
|
334 |
+ elif [ "0" != "$IS_UPBX" ] |
|
335 |
+ then |
|
336 |
+ parse_uptobox check-$CPT.html |
|
337 |
+ elif [ "0" != "$IS_SHF" ] |
|
338 |
+ then |
|
339 |
+ NOTFOUND=$(cat check-$CPT.html |grep 'The project does not exist' | wc -l) |
|
340 |
+ if [ ! -z $NOTFOUND ] |
|
341 |
+ then |
|
342 |
+ echo " NOT FOUND" |
|
343 |
+ else |
|
344 |
+ echo " OK" |
|
345 |
+ fi |
|
346 |
+ elif [ "0" != "$IS_RG" ] |
|
347 |
+ then |
|
348 |
+ NOTFOUND=$(cat check-$CPT.html |grep '<title>Rapidgator.net: Fast, safe and secure file hosting</title>' | wc -l) |
|
349 |
+ if [ ! -z $NOTFOUND ] |
|
350 |
+ then |
|
351 |
+ echo " NOT FOUND" |
|
352 |
+ else |
|
353 |
+ echo " OK" |
|
354 |
+ fi |
|
355 |
+ elif [ "0" != "$IS_LTB" ] |
|
356 |
+ then |
|
357 |
+ parse_letitbit check-$CPT.html |
|
358 |
+ elif [ "0" != "$IS_MU" ] |
|
359 |
+ then |
|
360 |
+ echo " PARSING" |
|
361 |
+ parse_multiup_org check-$CPT.html |
|
362 |
+ elif [ "0" != "$IS_1F" ] |
|
363 |
+ then |
|
364 |
+ parse_1fichier check-$CPT.html |
|
365 |
+ elif [ "0" != "$IS_FILESUPLOAD" ] |
|
366 |
+ then |
|
367 |
+ parse_filesupload check-$CPT.html |
|
368 |
+ elif [ "0" != "$IS_UPLEA" ] |
|
369 |
+ then |
|
370 |
+ link2=$(echo $link|sed 's/\r//;s/\/dl\//\/step\//;s/$/\/3/') |
|
371 |
+ echo " +- Moving to $link2" |
|
372 |
+ $WGET_CMD --header "$HDR_ACCEPT" --user-agent "$USER_AGENT" "$link2" -O check-$CPT.html |
|
373 |
+ parse_uplea check-$CPT.html |
|
374 |
+ elif [ "0" != "$IS_FILECLOUDIO" ] |
|
375 |
+ then |
|
376 |
+ parse_filecloudio check-$CPT.html |
|
377 |
+ elif [ "0" != "$IS_FILECLICKNUPLOADIO" ] |
|
378 |
+ then |
|
379 |
+ parse_clicknuploadlink check-$CPT.html |
|
380 |
+ elif [ "0" != "$IS_BIGFILETO" ] |
|
381 |
+ then |
|
382 |
+ parse_bigfileto check-$CPT.html |
|
383 |
+ elif [ "0" != "$IS_DLFREEFR" ] |
|
384 |
+ then |
|
385 |
+ parse_dlfreefr check-$CPT.html |
|
386 |
+ elif [ "0" != "$IS_UPLED" ] |
|
387 |
+ then |
|
388 |
+ parse_uploaded check-$CPT.html |
|
389 |
+ elif [ "0" != "$IS_JHEBERG" ] |
|
390 |
+ then |
|
391 |
+ echo " UNKNOWN" |
|
392 |
+ #~ echo " PARSING" |
|
393 |
+ #~ parse_jheberg $link |
|
394 |
+ else |
|
395 |
+ echo " UNKNOWN" |
|
396 |
+ fi |
|
397 |
+ rm -f check-$CPT.html |
|
398 |
+ CPT=$(( $CPT + 1 )) |
|
399 |
+done < $TEMPHTML2 |
|
400 |
+ |
|
401 |
+ |