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

Last change on this file since 42464 was 42464, checked in by obi, 19 months ago

tithek testfix speedup init localhoster

File size: 8.8 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 "Kinofilme#$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
70                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
71                while read -u 3 ROUND; do
72                        TITLE=`echo $ROUND | sed 's/alt=/\nalt=/' | grep ^"alt=" | cut -d '"' -f2 | sed 's/#/%/'`
73                        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"`
74                        PIC=`echo $ROUND | sed 's!data-original=!\nsrc=!' | grep ^"src=" | cut -d '"' -f2`
75                        NEWPAGE=`echo $ROUND | sed 's/<a href=/\nhref=/' | grep ^"href=" | cut -d '"' -f2`
76
77                        if [ -z  "$PIC" ]; then 
78                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
79                                TMPPIC="default.jpg"
80                        else
81                                TMPPIC=goldesel_`echo $PIC | tr '/' '\n' | tail -n1`
82                        fi
83
84#                       echo "ROUND " $ROUND
85#                       echo "Bildlink " $PIC
86#                       echo "TMPPIC " $TMPPIC
87#                       echo "TITLE " $TITLE
88#                       echo "NEWPAGE " $NEWPAGE
89#
90#
91#exit
92                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
93                                if [ `cat $TMP/$PARSER.$INPUT.list | grep ^"$NEWPAGE" | wc -l` -eq 0 ];then
94                                        if [ ! -e $TMP/$PARSER.$INPUT.list ];then
95                                                touch $TMP/$PARSER.$INPUT.list
96                                        fi
97# obi
98                                        LINE="$TITLE#$SRC $SRC hosterlist 0 0 $NEWPAGE#$PIC#$TMPPIC#$NAME#0"
99#                                       LINE="$TITLE#$SRC $SRC play $NEWPAGE#$PIC#$TMPPIC#$NAME#111"
100                                        echo "$LINE" >> $TMP/$PARSER.$INPUT.list
101                                fi
102                        fi
103                done 3<$TMP/cache.$PARSER.$INPUT.2
104                rm $TMP/cache.$PARSER.$INPUT.* > /dev/null 2>&1
105        fi
106
107        echo "$TMP/$PARSER.$INPUT.list"
108}
109
110search()
111{
112        if [ ! -e "$TMP/$PARSER.$INPUT.$CURPAGE.list" ] ; then
113                if [ "$CURPAGE" -eq "1" ] ; then
114                        NEWPAGE=$PAGE
115                else
116                        NEWPAGE=`echo $PAGE | sed "s/@PAGE@/$CURPAGE/g"`
117                fi
118                $curlbin $URL/$NEWPAGE -o $TMP/cache.$PARSER.$INPUT.1
119
120#               /tmp/localhoster/hoster.sh get $URL/$PAGE > $TMP/cache.$PARSER.$INPUT.1
121
122                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
123                cat $TMP/cache.$PARSER.$INPUT.1a | sed '/Stream in HD/d' > $TMP/cache.$PARSER.$INPUT.2
124                while read -u 3 ROUND; do
125                        TITLE=`echo $ROUND | sed 's/alt=/\nalt=/' | grep ^"alt=" | cut -d '"' -f2 | sed 's/#/%/'`
126                        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"`
127                        PIC=`echo $ROUND | sed 's/img src/\nsrc=/' | grep ^"src=" | cut -d '"' -f2`
128                        NEWPAGE=`echo $ROUND | sed 's/<a href=/\nhref=/' | grep ^"href=" | cut -d '"' -f2`
129
130                        if [ -z  "$PIC" ]; then 
131                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
132                                TMPPIC="default.jpg"
133                        else
134                                TMPPIC=foxx_`echo $PIC | tr '/' '\n' | tail -n1`
135                        fi
136
137#                       echo "ROUND " $ROUND
138#                       echo "Bildlink " $PIC
139#                       echo "TMPPIC " $TMPPIC
140#                       echo "TITLE " $TITLE
141#                       echo "NEWPAGE " $NEWPAGE
142#
143#
144#exit
145                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
146                                if [ `cat $TMP/$PARSER.$INPUT.list | grep ^"$NEWPAGE" | wc -l` -eq 0 ];then
147                                        if [ ! -e $TMP/$PARSER.$INPUT.$CURPAGE.list ];then
148                                                touch $TMP/$PARSER.$INPUT.$CURPAGE.list
149                                        fi
150# obi
151                                        LINE="$TITLE#$SRC $SRC hosterlist 0 0 $NEWPAGE#$PIC#$TMPPIC#$NAME#0"
152#                                       LINE="$TITLE#$SRC $SRC play 0 0 $NEWPAGE#$PIC#$TMPPIC#$NAME#111"
153                                        echo "$LINE" >> $TMP/$PARSER.$INPUT.$CURPAGE.list
154                                fi
155                        fi
156                done 3<$TMP/cache.$PARSER.$INPUT.2
157                if [ "$CURPAGE" -eq "1" ] ; then
158                        PAGE="page/@PAGE@$PAGE"
159                        MAXPAGE=`cat $TMP/cache.$PARSER.$INPUT.1 | sed '/<div class="pagination/!d;s/^.*Seite 1 von //;s/<\/span>.*$//'`
160                fi
161                if [ "$CURPAGE" -lt "$MAXPAGE" ] ; then
162                        NEWPAGE=`expr $CURPAGE + 1`
163                        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
164                fi
165
166                rm $TMP/cache.$PARSER.$INPUT.* > /dev/null 2>&1
167        fi
168        if [ -e "$TMP/$PARSER.hosterlist.list" ] ; then
169                rm $TMP/$PARSER.hosterlist.list
170        fi
171
172        echo "$TMP/$PARSER.$INPUT.$CURPAGE.list"
173}
174
175hosterlist()
176{
177        if [ -e "$TMP/$PARSER.$INPUT.list" ] ; then
178                rm $TMP/$PARSER.$INPUT.list
179        fi
180        $curlbin $PAGE -o $TMP/cache.$PARSER.$INPUT.1
181
182        cat $TMP/cache.$PARSER.$INPUT.1 | grep -E ^"<iframe src=" | sed -e 's/<iframe src\=//g' | cut -d '"' -f2 >$TMP/cache.$PARSER.$INPUT.2
183        TEMP=$(cat $TMP/cache.$PARSER.$INPUT.2)
184        $curlbin $TEMP -o $TMP/cache.$PARSER.$INPUT.3
185        cat $TMP/cache.$PARSER.$INPUT.3 | grep -A 10 "var decodeABC" >$TMP/cache.$PARSER.$INPUT.4
186        echo "print(decodeABC(jbdaskgs));" >> $TMP/cache.$PARSER.$INPUT.4
187        $DUKBIN $TMP/cache.$PARSER.$INPUT.4 > $TMP/cache.$PARSER.$INPUT.5
188        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
189        echo >> $TMP/cache.$PARSER.$INPUT.6
190        while read -u 3 ROUND; do
191                NEWPAGE=$(echo $ROUND | grep -o "http[^ ]*" | cut -d "," -f1)
192                TITLE=$(echo $ROUND | grep -o "label[^ ]*" | cut -d "," -f1 | sed -e 's!label:!!g' -e 's!"!!g')
193                if [ ! -z "$TITLE" ] && [ "$TITLE" != " " ] && [ ! -z "$NEWPAGE" ];then
194                        PIC=`echo $TITLE | tr [A-Z] [a-z]`
195                        LINE="Http Stream ($TITLE)#$NEWPAGE#http://atemio.dyndns.tv/mediathek/menu/foxx.jpg#foxx.jpg#$NAME#2"
196                        echo "$LINE" >> $TMP/$PARSER.$INPUT.list
197                fi
198        done 3<$TMP/cache.$PARSER.$INPUT.6
199        rm $TMP/cache.$PARSER.$INPUT.* > /dev/null 2>&1
200
201        echo $TMP/$PARSER.$INPUT.list
202}
203
204hoster()
205{
206        if [ ! -e "$TMP/$PARSER.$INPUT.list" ] ; then
207#               $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'
208                $curlbin $URL/res/links -X POST --data "$PAGE" -o $TMP/cache.$PARSER.$INPUT.1
209                echo "curl hoster " $curlbin $URL/res/links -X POST --data "$PAGE" -o $TMP/cache.$PARSER.$INPUT.1
210                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
211                rm $TMP/cache.$PARSER.$INPUT.* > /dev/null 2>&1
212        fi
213        cat $TMP/$PARSER.$INPUT.list
214}
215
216#obi
217play()
218{
219        if [ -e "$TMP/$PARSER.$INPUT.list" ] ; then
220                rm $TMP/$PARSER.$INPUT.list
221        fi
222
223        $curlbin $PAGE -o $TMP/cache.$PARSER.$INPUT.1
224
225        cat $TMP/cache.$PARSER.$INPUT.1 | grep -E ^"<iframe src=" | sed -e 's/<iframe src\=//g' | cut -d '"' -f2 >$TMP/cache.$PARSER.$INPUT.2
226        TEMP=$(cat $TMP/cache.$PARSER.$INPUT.2)
227        $curlbin $TEMP -o $TMP/cache.$PARSER.$INPUT.3
228        cat $TMP/cache.$PARSER.$INPUT.3 | grep -E "sources:*" >$TMP/cache.$PARSER.$INPUT.4
229        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
230
231        cat $TMP/cache.$PARSER.$INPUT.5 > $TMP/$PARSER.playlist.list
232
233        echo "$TMP/$PARSER.playlist.list"
234}
235
236case $INPUT in
237        init) $INPUT;;
238        mainmenu) $INPUT;;
239        new) $INPUT;;
240        search) $INPUT;;
241        page) $INPUT;;
242        hosterlist) $INPUT;;
243        hoster) $INPUT;;
244        play) $INPUT;;
245esac
Note: See TracBrowser for help on using the repository browser.