source: titan/mediathek/localparser_secret/foxx.sh

Last change on this file was 44504, checked in by obi, 9 months ago

fix

File size: 13.9 KB
Line 
1#!/bin/sh
2# first sh box parser for titannit mfg obi
3
4SRC=$1
5INPUT=$2
6CURPAGE=$3
7MAXPAGE=$4
8PAGE=$5
9PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'`
10
11URL=http://foxx.to
12PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'`
13NAME="Foxx HD"
14
15case $2 in
16        init)   ;;
17        *)      . /tmp/localhoster/hoster.sh
18                mkdir $TMP > /dev/null 2>&1
19                FILENAME="$PARSER $INPUT $CURPAGE $MAXPAGE $PAGE"
20                FILENAME=$(echo $FILENAME | tr '&' '.' | tr '/' '.' | tr '?' '.' | tr '=' '.' | sed -e 's/\&\+/./g' -e 's#\/\+#.#g' -e 's/\?\+/./g' -e 's/;\+/./g' -e 's/=\+/./g' -e 's/ \+/./g' -e 's/\.\+/./g')
21                if [ -z "$FILENAME" ]; then FILENAME=none;fi
22                PICNAME="$FILENAME"
23                ;;
24esac
25
26if [ `echo $SRC | grep ^"/mnt/parser" | wc -l` -gt 0 ];then
27        TYPE="$SRC - Shell script"
28elif [ `echo $SRC | grep ^"/var/swap" | wc -l` -gt 0 ];then
29        TYPE="Swap - Shell script"
30elif [ `echo $SRC | grep ^"/mnt/swapextensions" | wc -l` -gt 0 ];then
31        TYPE="Mnt - Shell script"
32else
33        TYPE="Flash - Shell script"
34fi
35
36init()
37{
38        rm -rf $TMP > /dev/null 2>&1
39        echo "$NAME ($TYPE)#$SRC $SRC mainmenu#http://atemio.dyndns.tv/mediathek/menu/$PARSER.jpg#$PARSER.jpg#TiThek#0"
40}
41
42mainmenu()
43{
44        echo "Random Movie#$SRC $SRC new 0 0 '?get=movies'#http://atemio.dyndns.tv/mediathek/menu/all-newfirst.jpg#all-newfirst.jpg#$NAME#0" > $TMP/$FILENAME.list
45        #echo "Serien#$SRC $SRC new 0 0 '?get=tv'#http://atemio.dyndns.tv/mediathek/menu/Movies.jpg#Movies.jpg#$NAME#0" >> $TMP/$FILENAME.list
46    echo "Search#$SRC $SRC search 1 0 '?s=%search%'#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#$NAME#112" >> $TMP/$FILENAME.list
47
48        if [ -e "$TMP/$PARSER.new.list" ] ; then
49                rm $TMP/$PARSER.new.list
50        fi
51        if [ "`echo $TMP/$PARSER.search.*.list`" != "$TMP/$PARSER.search.*.list" ] ; then
52                rm $TMP/$PARSER.search.*.list
53        fi
54        if [ -e "$TMP/$PARSER.page.list" ] ; then
55                rm $TMP/$PARSER.page.list
56        fi
57
58        echo "$TMP/$FILENAME.list"
59}
60
61new()
62{
63        if [ ! -e "$TMP/$FILENAME.list" ] ; then
64#               $curlbin $URL/$PAGE -o $TMP/cache.$FILENAME.1
65
66#               /tmp/localhoster/hoster.sh get $URL/$PAGE > $TMP/cache.$FILENAME.1
67                $BIN /tmp/localhoster/cloudflare.py "$URL/$PAGE" > $TMP/cache.$FILENAME.1
68
69                cat $TMP/cache.$FILENAME.1 | sed 's/<div class/\n<div class/g' | sed 's/<a href="/\n<a href="/g' | grep ^'<a href="' | grep alt= | grep -v .gif > /$TMP/cache.$FILENAME.2
70                while read -u 3 ROUND; do
71                        TITLE=`echo $ROUND | sed 's/alt=/\nalt=/' | grep ^"alt=" | cut -d '"' -f2 | sed 's/#/%/'`
72                        TITLE=`echo $TITLE | sed -e 's/&#038;/&/g' -e 's/&amp;/und/g' -e 's/&quot;/"/g' -e 's/&lt;/\</g' -e 's/&#034;/\"/g' -e 's/&#039;/\"/g' -e 's/&%8211;/-/g' -e "s/&%8217;/'/g"`
73                        PIC=`echo $ROUND | sed 's!data-original=!\nsrc=!' | grep ^"src=" | cut -d '"' -f2`
74                        NEWPAGE=`echo $ROUND | sed 's/<a href=/\nhref=/' | grep ^"href=" | cut -d '"' -f2`
75
76                        if [ `echo $PIC | grep ^// | wc -l` -eq 1 ];then
77                                PIC=https:$PIC
78                        fi
79                        if [ `echo $NEWPAGE | grep ^// | wc -l` -eq 1 ];then
80                                NEWPAGE=https:$NEWPAGE
81                        fi
82                        if [ -z  "$PIC" ]; then 
83                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
84                                TMPPIC="default.jpg"
85                        else
86                                TMPPIC=goldesel_`echo $PIC | tr '/' '\n' | tail -n1`
87                        fi
88
89#                       echo "ROUND " $ROUND
90#                       echo "Bildlink " $PIC
91#                       echo "TMPPIC " $TMPPIC
92#                       echo "TITLE " $TITLE
93#                       echo "NEWPAGE " $NEWPAGE
94#
95#
96#exit
97                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
98                                if [ `cat $TMP/$FILENAME.list | grep ^"$NEWPAGE" | wc -l` -eq 0 ];then
99                                        if [ ! -e $TMP/$FILENAME.list ];then
100                                                touch $TMP/$FILENAME.list
101                                        fi
102# obi
103                                        LINE="$TITLE#$SRC $SRC hosterlist 0 0 $NEWPAGE#$PIC#$TMPPIC#$NAME#0"
104#                                       LINE="$TITLE#$SRC $SRC play $NEWPAGE#$PIC#$TMPPIC#$NAME#111"
105                                        echo "$LINE" >> $TMP/$FILENAME.list
106                                fi
107                        fi
108                done 3<$TMP/cache.$FILENAME.2
109                rm $TMP/cache.$FILENAME.* > /dev/null 2>&1
110        fi
111
112        echo "$TMP/$FILENAME.list"
113}
114
115search()
116{
117        if [ ! -e "$TMP/$FILENAME.list" ] ; then
118                if [ "$CURPAGE" -eq "1" ] ; then
119                        NEWPAGE=$PAGE
120                else
121                        NEWPAGE=`echo $PAGE | sed "s/@PAGE@/$CURPAGE/g"`
122                fi
123#               $curlbin $URL/$NEWPAGE -o $TMP/cache.$FILENAME.1
124
125#               /tmp/localhoster/hoster.sh get $URL/$PAGE > $TMP/cache.$FILENAME.1
126                $BIN /tmp/localhoster/cloudflare.py "$URL/$PAGE" > $TMP/cache.$FILENAME.1
127
128                cat $TMP/cache.$FILENAME.1 | tr '\n' ' ' | sed -e 's/<a href=/\n<a href=/g' -e 's/Film/\nFilm/g' | grep '^<a href=' | grep '<img src=' > $TMP/cache.$FILENAME.1a
129                cat $TMP/cache.$FILENAME.1a | sed '/Stream in HD/d' > $TMP/cache.$FILENAME.2
130                while read -u 3 ROUND; do
131                        TITLE=`echo $ROUND | sed 's/alt=/\nalt=/' | grep ^"alt=" | cut -d '"' -f2 | sed 's/#/%/'`
132                        TITLE=`echo $TITLE | sed -e 's/&#038;/&/g' -e 's/&amp;/und/g' -e 's/&quot;/"/g' -e 's/&lt;/\</g' -e 's/&#034;/\"/g' -e 's/&#039;/\"/g' -e 's/&%8211;/-/g' -e "s/&%8217;/'/g"`
133                        PIC=`echo $ROUND | sed 's/img src/\nsrc=/' | grep ^"src=" | cut -d '"' -f2`
134                        NEWPAGE=`echo $ROUND | sed 's/<a href=/\nhref=/' | grep ^"href=" | cut -d '"' -f2`
135                        if [ `echo $PIC | grep ^// | wc -l` -eq 1 ];then
136                                PIC=https:$PIC
137                        fi
138                        if [ `echo $NEWPAGE | grep ^// | wc -l` -eq 1 ];then
139                                NEWPAGE=https:$NEWPAGE
140                        fi
141
142                        if [ `echo $NEWPAGE | grep "/serie/" | wc -l` -eq 1 ];then
143                                TYPE=season
144                        else
145                                TYPE=hosterlist
146                        fi
147
148                        if [ -z  "$PIC" ]; then 
149                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
150                                TMPPIC="default.jpg"
151                        else
152                                TMPPIC=foxx_`echo $PIC | tr '/' '\n' | tail -n1`
153                        fi
154
155#                       echo "ROUND " $ROUND
156#                       echo "Bildlink " $PIC
157#                       echo "TMPPIC " $TMPPIC
158#                       echo "TITLE " $TITLE
159#                       echo "NEWPAGE " $NEWPAGE
160#
161#
162#exit
163                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
164                                if [ `cat $TMP/$FILENAME.list | grep ^"$NEWPAGE" | wc -l` -eq 0 ];then
165                                        if [ ! -e $TMP/$FILENAME.list ];then
166                                                touch $TMP/$FILENAME.list
167                                        fi
168# obi
169                                        LINE="$TITLE#$SRC $SRC $TYPE 0 0 $NEWPAGE#$PIC#$TMPPIC#$NAME#0"
170#                                       LINE="$TITLE#$SRC $SRC play 0 0 $NEWPAGE#$PIC#$TMPPIC#$NAME#111"
171                                        echo "$LINE" >> $TMP/$FILENAME.list
172                                fi
173                        fi
174                done 3<$TMP/cache.$FILENAME.2
175                if [ "$CURPAGE" -eq "1" ] ; then
176                        PAGE="page/@PAGE@$PAGE"
177                        MAXPAGE=`cat $TMP/cache.$FILENAME.1 | sed '/<div class="pagination/!d;s/^.*Seite 1 von //;s/<\/span>.*$//'`
178                fi
179                if [ "$CURPAGE" -lt "$MAXPAGE" ] ; then
180                        NEWPAGE=`expr $CURPAGE + 1`
181                        echo "Page ($NEWPAGE/$MAXPAGE)#$SRC $SRC search $NEWPAGE $MAXPAGE '$PAGE'#http://atemio.dyndns.tv/mediathek/menu/next.jpg#next.jpg#$NAME#0" >> $TMP/$FILENAME.list
182        fi
183
184                rm $TMP/cache.$FILENAME.* > /dev/null 2>&1
185        fi
186#       if [ -e "$TMP/$PARSER.hosterlist.list" ] ; then
187#               rm $TMP/$PARSER.hosterlist.list
188#       fi
189        echo "$TMP/$FILENAME.list"
190}
191
192#/tmp/localparser/foxx.sh /tmp/localparser/foxx.sh hosterlist 0 0 https://foxx.to/film/72-stunden-next-three-days-2010-23914-Stream
193
194hosterlist()
195{
196        if [ -e "$TMP/$FILENAME.list" ] ; then
197                rm $TMP/$FILENAME.list
198        fi
199#       $curlbin $PAGE -o $TMP/cache.$FILENAME.1
200        $BIN /tmp/localhoster/cloudflare.py "$PAGE" > $TMP/cache.$FILENAME.1
201
202        cat $TMP/cache.$FILENAME.1 | sed 's/<iframe src=/\n<iframe src=/g' | grep -E ^"<iframe src=" | sed -e 's/<iframe src\=//g' | cut -d '"' -f2 >$TMP/cache.$FILENAME.2
203        TEMP=$(cat $TMP/cache.$FILENAME.2)
204
205        if [ `echo $TEMP | grep ^// | wc -l` -eq 1 ];then
206                TEMP=https:$TEMP
207        fi
208
209#       $curlbin $TEMP -o $TMP/cache.$FILENAME.3
210        $BIN /tmp/localhoster/cloudflare.py "$TEMP" > $TMP/cache.$FILENAME.3
211        cat $TMP/cache.$FILENAME.3 | grep -A 10 "var decodeABC" >$TMP/cache.$FILENAME.4
212        echo "print(decodeABC(jbdaskgs));" >> $TMP/cache.$FILENAME.4
213        $DUKBIN $TMP/cache.$FILENAME.4 > $TMP/cache.$FILENAME.5
214
215#exit
216
217#[{"file":"https://lh3.googleusercontent.com/_KqlWWPoaC4gfQ0z_z9bK1y99QsnvN2eTSBz32Kd78Y7xLO_KoXveMe7TkimM0wpJl56HNTY=m18","label":"360p","type":"mp4"},{"file":"https://lh3.googleusercontent.com/_KqlWWPoaC4gfQ0z_z9bK1y99QsnvN2eTSBz32Kd78Y7xLO_KoXveMe7TkimM0wpJl56HNTY=m22","label":"720p","type":"mp4"}]
218#{"error":"status=fail&hl=uk&allow_embed=0&ps=docs&partnerid=30&errorcode=100&reason=Це+відео+не+існує.&timestamp=1532793394463"}
219        errorcode=`cat /tmp/localcache/cache.foxx.hosterlist.5 | sed -nr 's/.*errorcode=([^=]+)&.*/\1/p'`
220
221        cat $TMP/cache.$FILENAME.5 | grep -o "http[^ ]*"| sed -e 's!{! !g' -e 's/}//g' -e 's/{//g' -e 's/\"//g' -e 's/file/\nfile/g' -e 's/file://g' -e 's/type:mp4//g' -e 's/default:true//g' -e 's/\]//g' >$TMP/cache.$FILENAME.6
222        echo >> $TMP/cache.$FILENAME.6
223        while read -u 3 ROUND; do
224                NEWPAGE=$(echo $ROUND | grep -o "http[^ ]*" | cut -d "," -f1)
225                TITLE=$(echo $ROUND | grep -o "label[^ ]*" | cut -d "," -f1 | sed -e 's!label:!!g' -e 's!"!!g')
226                if [ ! -z "$TITLE" ] && [ "$TITLE" != " " ] && [ ! -z "$NEWPAGE" ];then
227                        PIC=`echo $TITLE | tr [A-Z] [a-z]`
228#ffplay -debug 1 "https://master.foxx.to/videoplayback?hash=df8cbe41-1fcd-468e-be40-90b2aeef6a9c&expireAt=1533097023189" -user-agent "Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0" -headers "cookie: cf_clearance=2ace7e2a04dc45592043701ae70fc07b06a4244d-1533078966-14400;"
229#                       REFERER=`echo "$TEMP" | sed -e 's/=/%3D/g' -e 's/&/%26/g'`
230                        LINE="Http Stream ($TITLE)#$NEWPAGE|User-Agent=$USERAGENT#http://atemio.dyndns.tv/mediathek/menu/foxx.jpg#foxx.jpg#$NAME#2"
231                        echo "$LINE" >> $TMP/$FILENAME.list
232                fi
233        done 3<$TMP/cache.$FILENAME.6
234        rm $TMP/cache.$FILENAME.* > /dev/null 2>&1
235
236        if [ ! -z "$errorcode" ];then
237                ERRORMSG="Foxx Website error, this video file cannot be played. (Error Code: $errorcode)"
238                LINE="$ERRORMSG#$NEWPAGE#$PIC#kinox_$piccount.jpg#Foxx#0"
239                echo "$LINE" > $TMP/$FILENAME.list
240        fi
241        echo $TMP/$FILENAME.list
242
243}
244
245season()
246{
247        if [ ! -e "$TMP/$FILENAME.list" ]; then
248
249#               $curlbin $PAGE -o $TMP/cache.$FILENAME.1
250                $BIN /tmp/localhoster/cloudflare.py "$PAGE" > $TMP/cache.$FILENAME.1
251                seasons=`cat $TMP/cache.$FILENAME.1 | sed -nr 's/.*class="se-t ">([^>]+)<.*/\1/p'`
252
253                tags=""
254                i=1
255                if [ ! -z "$i" ] && [ ! -z "$seasons" ];then
256                        until [ "$i" -gt "$seasons" ]
257                        do
258                        TMPURL=`echo $TMPURL | sed -e "s/&season=.*//" -e "s/&episode=.*//" -e "s/&referrer=.*//"`
259                        echo "Season $i#$SRC $SRC episode $i 0 '$PAGE'#http://atemio.dyndns.tv/mediathek/menu/s"$i".jpg#s"$i".jpg#$NAME#0" | sort -r >> $TMP/$FILENAME.list
260                        i=`expr $i + 1` 
261                        done
262                fi
263
264                rm $TMP/cache.$FILENAME.* > /dev/null 2>&1
265        fi
266        echo $TMP/$FILENAME.list
267}
268
269episode()
270{
271        if [ ! -e "$TMP/$FILENAME.list" ]; then
272                $curlbin $PAGE -o $TMP/cache.$FILENAME.1
273                $BIN /tmp/localhoster/cloudflare.py "$PAGE" > $TMP/cache.$FILENAME.1
274                cat $TMP/cache.$FILENAME.1 | sed 's/<span class="se-t/\n<span class="se-t/g' | grep ^'<span class="se-t' | grep ">$CURPAGE</span><span class=" | sed 's/<li><div class/\nfound/g' | sed -e '/^ *$/d' > $TMP/cache.$FILENAME.2
275
276                while read -u 3 ROUND; do
277                        #echo ROUND $ROUND
278                        #found="imagen"><a href="//foxx.to/episode/game-of-thrones-7x1"><img src="//foxx.to/wp-content/uploads/2017/09/3SB4PUzZAnY6HnZbVbktIZoopGs-300x170.jpg"></a></div><div class="numerando">7 - 1</div><div class="episodiotitle"><a href="//foxx.to/episode/game-of-thrones-7x1">Drachenstein</a><span class="date">Jul. 16, 2017</span></div></li>
279                        NEWPAGE=$(echo $ROUND | sed -nr 's/.*<a href="([^"]+)".*/\1/p')
280                        PIC=$(echo $ROUND | sed -nr 's/.*<img src="([^"]+)".*/\1/p')
281                        EXTRA=$(echo $ROUND | sed -nr 's/.*episodiotitle">.*">([^>.*].*)<\/span>.*/\1/p')
282                        TITLE=$(echo $ROUND | sed -nr 's/.*episodiotitle"><a href.*">([^>].*)<\/a><span.*/\1/p')
283                        NUM=$(echo $ROUND | sed -nr 's/.*numerando">([^>]+)<\/div>.*/\1/p')
284
285                        if [ `echo $PIC | grep ^// | wc -l` -eq 1 ];then
286                                PIC=https:$PIC
287                        fi
288                        if [ `echo $NEWPAGE | grep ^// | wc -l` -eq 1 ];then
289                                NEWPAGE=https:$NEWPAGE
290                        fi
291
292                        if [ ! -z "$TITLE" ] && [ ! -z "$NUM" ];then
293                                NUM=`echo $NUM | cut -d "-" -f2 | sed -e 's/ //g'`
294                                TITLE="$NUM - $TITLE"
295                        fi
296
297                        if [ ! -z "$TITLE" ] && [ ! -z "$EXTRA" ];then
298                                TITLE="$TITLE ($EXTRA)"
299                        fi
300        #echo NEWPAGE $NEWPAGE
301        #echo NUM $NUM
302        #echo TITLE $TITLE
303        #echo EXTRA $EXTRA
304        #echo PIC $PIC
305        #exit
306
307                        if [ ! -z "$TITLE" ] && [ "$TITLE" != " " ] && [ ! -z "$NEWPAGE" ];then
308#                               LINE="$TITLE#$SRC $SRC hosterlist 0 0 $NEWPAGE#$PIC#foxx.jpg#$NAME#0"
309                                LINE="$TITLE#$SRC $SRC hosterlist 0 0 $NEWPAGE#http://atemio.dyndns.tv/mediathek/menu/s"$CURPAGE"e"$NUM".jpg#s"$CURPAGE"e"$NUM".jpg#$NAME#0"
310
311                                echo "$LINE" >> $TMP/$FILENAME.list
312                        fi
313                done 3<$TMP/cache.$FILENAME.2
314                rm $TMP/cache.$FILENAME.* > /dev/null 2>&1
315        fi
316        echo $TMP/$FILENAME.list
317}
318
319
320hoster()
321{
322        if [ ! -e "$TMP/$FILENAME.list" ] ; then
323#               $curlbin $URL/res/links -X POST --data "$PAGE" -o $TMP/cache.$FILENAME.1 -A 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.7.3000 Chrome/30.0.1599.101 Safari/537.36'
324                $curlbin $URL/res/links -X POST --data "$PAGE" -o $TMP/cache.$FILENAME.1
325                echo "curl hoster " $curlbin $URL/res/links -X POST --data "$PAGE" -o $TMP/cache.$FILENAME.1
326#               cat $TMP/cache.$FILENAME.1 | sed 's!url="http://dref.pw/?!\nstreamurl="!' | grep ^streamurl= | cut -d'"' -f2 | sed 's!%3A!:!g' | sed 's!%2F!/!g' > $TMP/$FILENAME.list
327
328#               REFERER=`echo "$PAGE" | sed -e 's/=/%3D/g' -e 's/&/%26/g'`
329#               echo "$URL|User-Agent=$USERAGENT&Referer=$REFERER" >> $STREAMLIST
330                cat $TMP/cache.$FILENAME.1 | sed 's!url="http://dref.pw/?!\nstreamurl="!' | grep ^streamurl= | cut -d'"' -f2 | sed 's!%3A!:!g' | sed 's!%2F!/!g'"|User-Agent=$USERAGENT&Referer=$REFERER" > $TMP/$FILENAME.list
331
332                rm $TMP/cache.$FILENAME.* > /dev/null 2>&1
333        fi
334        cat $TMP/$FILENAME.list
335}
336
337#obi
338play()
339{
340        if [ -e "$TMP/$FILENAME.list" ] ; then
341                rm $TMP/$FILENAME.list
342        fi
343
344#       $curlbin $PAGE -o $TMP/cache.$FILENAME.1
345        $BIN /tmp/localhoster/cloudflare.py "$PAGE" > $TMP/cache.$FILENAME.1
346
347        cat $TMP/cache.$FILENAME.1 | grep -E ^"<iframe src=" | sed -e 's/<iframe src\=//g' | cut -d '"' -f2 >$TMP/cache.$FILENAME.2
348        TEMP=$(cat $TMP/cache.$FILENAME.2)
349        $curlbin $TEMP -o $TMP/cache.$FILENAME.3
350        cat $TMP/cache.$FILENAME.3 | grep -E "sources:*" >$TMP/cache.$FILENAME.4
351        cat $TMP/cache.$FILENAME.4 | grep -o "http[^ ]*"| sed -e 's/,/ /g' -e 's/}//g' -e 's/{//g' -e 's/\"//g' -e 's/file/\nfile/g' -e 's/file://g' -e 's/type:mp4//g' -e 's/default:true//g' -e 's/\]//g' >$TMP/cache.$FILENAME.5
352
353        cat $TMP/cache.$FILENAME.5 > $TMP/$PARSER.playlist.list
354
355        echo "$TMP/$PARSER.playlist.list"
356}
357
358case $INPUT in
359#       init) $INPUT;;
360        mainmenu) $INPUT;;
361        new) $INPUT;;
362        search) $INPUT;;
363        page) $INPUT;;
364        season) $INPUT;;
365        episode) $INPUT;;
366        hosterlist) $INPUT;;
367        hoster) $INPUT;;
368        play) $INPUT;;
369esac
Note: See TracBrowser for help on using the repository browser.