source: titan/mediathek/localparser_secret/foxx.sh @ 42569

Last change on this file since 42569 was 42569, checked in by obi, 2 years ago

tithek add erros msg foxx

File size: 10.3 KB
Line 
1#!/bin/sh
2# first sh box parser for titannit mfg obi
3
4case $2 in
5        init) echo skip load hoster.sh;;
6        *) . /tmp/localhoster/hoster.sh;;
7esac
8
9SRC=$1
10INPUT=$2
11CURPAGE=$3
12MAXPAGE=$4
13PAGE=$5
14
15FILENAME=`echo $PAGE | tr '/' '.'`
16FILENAME=`echo $FILENAME | tr '&' '.'`
17
18if [ -z "$PAGE" ]; then
19        FILENAME=none
20fi
21
22URL=http://foxx.to
23PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'`
24NAME="Foxx HD"
25
26mkdir $TMP > /dev/null 2>&1
27#TMP=/tmp/localcache
28if [ `echo $SRC | grep ^"/mnt/parser" | wc -l` -gt 0 ];then
29        TYPE="$SRC - Shell script"
30elif [ `echo $SRC | grep ^"/var/swap" | wc -l` -gt 0 ];then
31        TYPE="Swap - Shell script"
32elif [ `echo $SRC | grep ^"/mnt/swapextensions" | wc -l` -gt 0 ];then
33        TYPE="Mnt - Shell script"
34else
35        TYPE="Flash - Shell script"
36fi
37
38init()
39{
40        rm -rf $TMP > /dev/null 2>&1
41        echo "$NAME ($TYPE)#$SRC $SRC mainmenu#http://atemio.dyndns.tv/mediathek/menu/$PARSER.jpg#$PARSER.jpg#TiThek#0"
42}
43
44mainmenu()
45{
46        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/$PARSER.$INPUT.list
47        #echo "Serien#$SRC $SRC new 0 0 '?get=tv'#http://atemio.dyndns.tv/mediathek/menu/Movies.jpg#Movies.jpg#$NAME#0" >> $TMP/$PARSER.$INPUT.list
48        echo "Search#$SRC $SRC search 1 0 '?s='#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#$NAME#112" >> $TMP/$PARSER.$INPUT.list
49
50        if [ -e "$TMP/$PARSER.new.list" ] ; then
51                rm $TMP/$PARSER.new.list
52        fi
53        if [ "`echo $TMP/$PARSER.search.*.list`" != "$TMP/$PARSER.search.*.list" ] ; then
54                rm $TMP/$PARSER.search.*.list
55        fi
56        if [ -e "$TMP/$PARSER.page.list" ] ; then
57                rm $TMP/$PARSER.page.list
58        fi
59
60        echo "$TMP/$PARSER.$INPUT.list"
61}
62
63new()
64{
65        if [ ! -e "$TMP/$PARSER.$INPUT.list" ] ; then
66#               $curlbin $URL/$PAGE -o $TMP/cache.$PARSER.$INPUT.1
67
68#               /tmp/localhoster/hoster.sh get $URL/$PAGE > $TMP/cache.$PARSER.$INPUT.1
69                $BIN /tmp/localhoster/cloudflare.py "$URL/$PAGE" > $TMP/cache.$PARSER.$INPUT.1
70
71                cat $TMP/cache.$PARSER.$INPUT.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.$PARSER.$INPUT.2
72                while read -u 3 ROUND; do
73                        TITLE=`echo $ROUND | sed 's/alt=/\nalt=/' | grep ^"alt=" | cut -d '"' -f2 | sed 's/#/%/'`
74                        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"`
75                        PIC=`echo $ROUND | sed 's!data-original=!\nsrc=!' | grep ^"src=" | cut -d '"' -f2`
76                        NEWPAGE=`echo $ROUND | sed 's/<a href=/\nhref=/' | grep ^"href=" | cut -d '"' -f2`
77
78                        if [ `echo $NEWPAGE | grep ^// | wc -l` -eq 1 ];then
79                                NEWPAGE=https:$NEWPAGE
80                        fi
81                        if [ -z  "$PIC" ]; then 
82                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
83                                TMPPIC="default.jpg"
84                        else
85                                TMPPIC=goldesel_`echo $PIC | tr '/' '\n' | tail -n1`
86                        fi
87
88#                       echo "ROUND " $ROUND
89#                       echo "Bildlink " $PIC
90#                       echo "TMPPIC " $TMPPIC
91#                       echo "TITLE " $TITLE
92#                       echo "NEWPAGE " $NEWPAGE
93#
94#
95#exit
96                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
97                                if [ `cat $TMP/$PARSER.$INPUT.list | grep ^"$NEWPAGE" | wc -l` -eq 0 ];then
98                                        if [ ! -e $TMP/$PARSER.$INPUT.list ];then
99                                                touch $TMP/$PARSER.$INPUT.list
100                                        fi
101# obi
102                                        LINE="$TITLE#$SRC $SRC hosterlist 0 0 $NEWPAGE#$PIC#$TMPPIC#$NAME#0"
103#                                       LINE="$TITLE#$SRC $SRC play $NEWPAGE#$PIC#$TMPPIC#$NAME#111"
104                                        echo "$LINE" >> $TMP/$PARSER.$INPUT.list
105                                fi
106                        fi
107                done 3<$TMP/cache.$PARSER.$INPUT.2
108                rm $TMP/cache.$PARSER.$INPUT.* > /dev/null 2>&1
109        fi
110
111        echo "$TMP/$PARSER.$INPUT.list"
112}
113
114search()
115{
116        if [ ! -e "$TMP/$PARSER.$INPUT.$CURPAGE.list" ] ; then
117                if [ "$CURPAGE" -eq "1" ] ; then
118                        NEWPAGE=$PAGE
119                else
120                        NEWPAGE=`echo $PAGE | sed "s/@PAGE@/$CURPAGE/g"`
121                fi
122#               $curlbin $URL/$NEWPAGE -o $TMP/cache.$PARSER.$INPUT.1
123
124#               /tmp/localhoster/hoster.sh get $URL/$PAGE > $TMP/cache.$PARSER.$INPUT.1
125                $BIN /tmp/localhoster/cloudflare.py "$URL/$PAGE" > $TMP/cache.$PARSER.$INPUT.1
126
127                cat $TMP/cache.$PARSER.$INPUT.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.$PARSER.$INPUT.1a
128                cat $TMP/cache.$PARSER.$INPUT.1a | sed '/Stream in HD/d' > $TMP/cache.$PARSER.$INPUT.2
129                while read -u 3 ROUND; do
130                        TITLE=`echo $ROUND | sed 's/alt=/\nalt=/' | grep ^"alt=" | cut -d '"' -f2 | sed 's/#/%/'`
131                        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"`
132                        PIC=`echo $ROUND | sed 's/img src/\nsrc=/' | grep ^"src=" | cut -d '"' -f2`
133                        NEWPAGE=`echo $ROUND | sed 's/<a href=/\nhref=/' | grep ^"href=" | cut -d '"' -f2`
134
135                        if [ `echo $NEWPAGE | grep ^// | wc -l` -eq 1 ];then
136                                NEWPAGE=https:$NEWPAGE
137                        fi
138
139                        if [ -z  "$PIC" ]; then 
140                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
141                                TMPPIC="default.jpg"
142                        else
143                                TMPPIC=foxx_`echo $PIC | tr '/' '\n' | tail -n1`
144                        fi
145
146#                       echo "ROUND " $ROUND
147#                       echo "Bildlink " $PIC
148#                       echo "TMPPIC " $TMPPIC
149#                       echo "TITLE " $TITLE
150#                       echo "NEWPAGE " $NEWPAGE
151#
152#
153#exit
154                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
155                                if [ `cat $TMP/$PARSER.$INPUT.list | grep ^"$NEWPAGE" | wc -l` -eq 0 ];then
156                                        if [ ! -e $TMP/$PARSER.$INPUT.$CURPAGE.list ];then
157                                                touch $TMP/$PARSER.$INPUT.$CURPAGE.list
158                                        fi
159# obi
160                                        LINE="$TITLE#$SRC $SRC hosterlist 0 0 $NEWPAGE#$PIC#$TMPPIC#$NAME#0"
161#                                       LINE="$TITLE#$SRC $SRC play 0 0 $NEWPAGE#$PIC#$TMPPIC#$NAME#111"
162                                        echo "$LINE" >> $TMP/$PARSER.$INPUT.$CURPAGE.list
163                                fi
164                        fi
165                done 3<$TMP/cache.$PARSER.$INPUT.2
166                if [ "$CURPAGE" -eq "1" ] ; then
167                        PAGE="page/@PAGE@$PAGE"
168                        MAXPAGE=`cat $TMP/cache.$PARSER.$INPUT.1 | sed '/<div class="pagination/!d;s/^.*Seite 1 von //;s/<\/span>.*$//'`
169                fi
170                if [ "$CURPAGE" -lt "$MAXPAGE" ] ; then
171                        NEWPAGE=`expr $CURPAGE + 1`
172                        echo "Page ($NEWPAGE/$MAXPAGE)#$SRC $SRC search $NEWPAGE $MAXPAGE '$PAGE'#http://atemio.dyndns.tv/mediathek/menu/next.jpg#next.jpg#$NAME#0" >> $TMP/$PARSER.$INPUT.$CURPAGE.list
173                fi
174
175                rm $TMP/cache.$PARSER.$INPUT.* > /dev/null 2>&1
176        fi
177        if [ -e "$TMP/$PARSER.hosterlist.list" ] ; then
178                rm $TMP/$PARSER.hosterlist.list
179        fi
180
181        echo "$TMP/$PARSER.$INPUT.$CURPAGE.list"
182}
183
184hosterlist()
185{
186        if [ -e "$TMP/$PARSER.$INPUT.list" ] ; then
187                rm $TMP/$PARSER.$INPUT.list
188        fi
189#       $curlbin $PAGE -o $TMP/cache.$PARSER.$INPUT.1
190        $BIN /tmp/localhoster/cloudflare.py "$PAGE" > $TMP/cache.$PARSER.$INPUT.1
191
192        cat $TMP/cache.$PARSER.$INPUT.1 | sed 's/<iframe src=/\n<iframe src=/g' | grep -E ^"<iframe src=" | sed -e 's/<iframe src\=//g' | cut -d '"' -f2 >$TMP/cache.$PARSER.$INPUT.2
193        TEMP=$(cat $TMP/cache.$PARSER.$INPUT.2)
194
195        if [ `echo $TEMP | grep ^// | wc -l` -eq 1 ];then
196                TEMP=https:$TEMP
197        fi
198
199#       $curlbin $TEMP -o $TMP/cache.$PARSER.$INPUT.3
200        $BIN /tmp/localhoster/cloudflare.py "$TEMP" > $TMP/cache.$PARSER.$INPUT.3
201        cat $TMP/cache.$PARSER.$INPUT.3 | grep -A 10 "var decodeABC" >$TMP/cache.$PARSER.$INPUT.4
202        echo "print(decodeABC(jbdaskgs));" >> $TMP/cache.$PARSER.$INPUT.4
203        $DUKBIN $TMP/cache.$PARSER.$INPUT.4 > $TMP/cache.$PARSER.$INPUT.5
204
205#[{"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"}]
206#{"error":"status=fail&hl=uk&allow_embed=0&ps=docs&partnerid=30&errorcode=100&reason=Це+відео+не+існує.&timestamp=1532793394463"}
207        errorcode=`cat /tmp/localcache/cache.foxx.hosterlist.5 | sed -nr 's/.*errorcode=([^=]+)&.*/\1/p'`
208
209        cat $TMP/cache.$PARSER.$INPUT.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.$PARSER.$INPUT.6
210        echo >> $TMP/cache.$PARSER.$INPUT.6
211        while read -u 3 ROUND; do
212                NEWPAGE=$(echo $ROUND | grep -o "http[^ ]*" | cut -d "," -f1)
213                TITLE=$(echo $ROUND | grep -o "label[^ ]*" | cut -d "," -f1 | sed -e 's!label:!!g' -e 's!"!!g')
214                if [ ! -z "$TITLE" ] && [ "$TITLE" != " " ] && [ ! -z "$NEWPAGE" ];then
215                        PIC=`echo $TITLE | tr [A-Z] [a-z]`
216                        LINE="Http Stream ($TITLE)#$NEWPAGE#http://atemio.dyndns.tv/mediathek/menu/foxx.jpg#foxx.jpg#$NAME#2"
217                        echo "$LINE" >> $TMP/$PARSER.$INPUT.list
218                fi
219        done 3<$TMP/cache.$PARSER.$INPUT.6
220        rm $TMP/cache.$PARSER.$INPUT.* > /dev/null 2>&1
221
222        if [ ! -z "$errorcode" ];then
223                ERRORMSG="Foxx Website error, this video file cannot be played. (Error Code: $errorcode)"
224                LINE="$ERRORMSG#$NEWPAGE#$PIC#kinox_$piccount.jpg#Foxx#0"
225                echo "$LINE" > $TMP/$PARSER.$INPUT.list
226        fi
227        echo $TMP/$PARSER.$INPUT.list
228
229}
230
231hoster()
232{
233        if [ ! -e "$TMP/$PARSER.$INPUT.list" ] ; then
234#               $curlbin $URL/res/links -X POST --data "$PAGE" -o $TMP/cache.$PARSER.$INPUT.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'
235                $curlbin $URL/res/links -X POST --data "$PAGE" -o $TMP/cache.$PARSER.$INPUT.1
236                echo "curl hoster " $curlbin $URL/res/links -X POST --data "$PAGE" -o $TMP/cache.$PARSER.$INPUT.1
237                cat $TMP/cache.$PARSER.$INPUT.1 | sed 's!url="http://dref.pw/?!\nstreamurl="!' | grep ^streamurl= | cut -d'"' -f2 | sed 's!%3A!:!g' | sed 's!%2F!/!g' > $TMP/$PARSER.$INPUT.list
238                rm $TMP/cache.$PARSER.$INPUT.* > /dev/null 2>&1
239        fi
240        cat $TMP/$PARSER.$INPUT.list
241}
242
243#obi
244play()
245{
246        if [ -e "$TMP/$PARSER.$INPUT.list" ] ; then
247                rm $TMP/$PARSER.$INPUT.list
248        fi
249
250#       $curlbin $PAGE -o $TMP/cache.$PARSER.$INPUT.1
251        $BIN /tmp/localhoster/cloudflare.py "$PAGE" > $TMP/cache.$PARSER.$INPUT.1
252
253        cat $TMP/cache.$PARSER.$INPUT.1 | grep -E ^"<iframe src=" | sed -e 's/<iframe src\=//g' | cut -d '"' -f2 >$TMP/cache.$PARSER.$INPUT.2
254        TEMP=$(cat $TMP/cache.$PARSER.$INPUT.2)
255        $curlbin $TEMP -o $TMP/cache.$PARSER.$INPUT.3
256        cat $TMP/cache.$PARSER.$INPUT.3 | grep -E "sources:*" >$TMP/cache.$PARSER.$INPUT.4
257        cat $TMP/cache.$PARSER.$INPUT.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.$PARSER.$INPUT.5
258
259        cat $TMP/cache.$PARSER.$INPUT.5 > $TMP/$PARSER.playlist.list
260
261        echo "$TMP/$PARSER.playlist.list"
262}
263
264case $INPUT in
265        init) $INPUT;;
266        mainmenu) $INPUT;;
267        new) $INPUT;;
268        search) $INPUT;;
269        page) $INPUT;;
270        hosterlist) $INPUT;;
271        hoster) $INPUT;;
272        play) $INPUT;;
273esac
Note: See TracBrowser for help on using the repository browser.