source: titan/mediathek/localparser_secret/kinox.sh @ 42469

Last change on this file since 42469 was 42469, checked in by obi, 6 years ago

fix

File size: 12.2 KB
RevLine 
[42151]1#!/bin/sh
2# first sh box parser for titannit mfg obi
3
[42464]4case $2 in
5        init) echo skip load hoster.sh;;
[42468]6        *) . /tmp/localhoster/hoster.sh;;
[42464]7esac
[42151]8
9#SRC=$1
10#INPUT=$2
11#PAGE=$3
12#NEXT=$4
13#
14#FILENAME=`echo $PAGE | tr '/' '.'`
15#FILENAME=`echo $FILENAME | tr '&' '.'`
16#
17#if [ -z "$PAGE" ]; then
18#       FILENAME=none
19#fi
20
21SRC=$1
22INPUT=$2
23PAGE=$3
24NEXT=$4
25PAGE2=$5
26PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'`
27
28FILENAME="$PARSER $INPUT $PAGE $NEXT $PAGE2"
29FILENAME=`echo $FILENAME | tr '&' '.' | tr '/' '.' | tr '?' '.'  | tr '=' '.' | sed 's/ \+/./g' | sed 's/\.\+/./g'`
30
31if [ -z "$FILENAME" ]; then
32        FILENAME=none
33fi
34
[42465]35URL=`cat /mnt/config/titan.cfg | grep tithek_kinox_url | grep -v "#" | cut -d "=" -f2`
36if [ -z "$URL" ];then
37        URL=https://kinoxto.stream
38fi
[42151]39PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'`
40NAME=KinoX
41
[42467]42if [ `cat /mnt/config/titan.cfg | grep tithek_kinox_localhoster=1 | wc -l` -eq 1 ];then
43        ACTIVEBIN="$curlbin"
[42469]44elif [ `cat /mnt/config/titan.cfg | grep tithek_kinox_localhoster=2 | wc -l` -eq 1 ];then
45        ACTIVEBIN="$BIN /tmp/localhoster/cloudflare.py"
[42467]46else
[42469]47        ACTIVEBIN="$curlbin"
48        URL=`echo $URL | sed 's/https:/http:/'`
[42467]49fi
50
[42151]51mkdir $TMP > /dev/null 2>&1
52
53if [ `echo $SRC | grep ^"/mnt/parser" | wc -l` -gt 0 ];then
54        TYPE="$SRC - Shell script"
55elif [ `echo $SRC | grep ^"/var/swap" | wc -l` -gt 0 ];then
56        TYPE="Swap - Shell script"
57elif [ `echo $SRC | grep ^"/mnt/swapextensions" | wc -l` -gt 0 ];then
58        TYPE="Mnt - Shell script"
59else
60        TYPE="Flash - Shell script"
61fi
62
63init()
64{
65        rm -rf $TMP > /dev/null 2>&1
66        echo "$NAME ($TYPE)#$SRC $SRC mainmenu#http://atemio.dyndns.tv/mediathek/menu/$PARSER.jpg#$PARSER.jpg#TiThek#0"
67}
68
69mainmenu()
70{
71        echo "Kino#$SRC $SRC kino 'Kino-filme.html'#http://atemio.dyndns.tv/mediathek/menu/Cine-Films.jpg#Cine-Films.jpg#$NAME#0" >$TMP/$FILENAME.list
72        echo "All (A-Z)#$SRC $SRC sorted#http://atemio.dyndns.tv/mediathek/menu/a-z.jpg#a-z.jpg#$NAME#0" >>$TMP/$FILENAME.list
73        echo "Search#http://atemio.dyndns.tv/mediathek/youtube/streams/kinox.all-sorted.list#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#KinoX#21" >>$TMP/$FILENAME.list
74        echo "Search Cast#http://atemio.dyndns.tv/mediathek/youtube/streams/kinox.all-sorted.list#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search10.jpg#KinoX#31" >>$TMP/$FILENAME.list
75        echo "$TMP/$FILENAME.list"
76}
77
78sorted()
79{
80        if [ ! -e "$TMP/$FILENAME.list" ]; then
81                watchlist="A B C D E F G H I J K L M N O P Q R S T U V W X Y Z"
82
83                rm $TMP/$FILENAME.list > /dev/null 2>&1
84
85                for ROUND0 in $watchlist; do
86                        TITLE=`echo $ROUND0`
87                        filename=`echo $TITLE | tr [A-Z] [a-z]`
88                        echo "$TITLE#$SRC $SRC search '$ROUND0' 1#http://atemio.dyndns.tv/mediathek/menu/$filename.jpg#$filename.jpg#$NAME#0" >> $TMP/$FILENAME.list
89                done
90        fi
91        echo "$TMP/$FILENAME.list"
92}
93
94search()
95{
96        if [ ! -e "$TMP/$FILENAME.list" ]; then
97                piccount=0
98
[42467]99                $ACTIVEBIN "$URL/aGET/List/?sEcho=1&iColumns=10&sColumns=&iDisplayStart=$NEXT&iDisplayLength=50&iSortingCols=1&iSortCol_0=5&sSortDir_0=asc&bSortable_0=true&bSortable_1=true&bSortable_2=true&bSortable_3=false&bSortable_4=false&bSortable_5=false&bSortable_6=true&additional=%7B%22fType%22%3A%22movie%22%2C%22fLetter%22%3A%22$PAGE%22%7D" > $TMP/cache.$FILENAME.1
[42151]100                if [ `cat $TMP/cache.$FILENAME.1 | grep "KinoX 404 Not Found" | wc -l` -eq 1 ];then
101                        ERRORMSG="KinoX 404 Not Found"
102#                       echo "errormsg=$ERRORMSG"
103                        LINE="$ERRORMSG#$NEWPAGE#$PIC#kinox_$piccount.jpg#KinoX#22"
104                        echo "$LINE" > $TMP/$FILENAME.list
105                        exit
106                fi
107
108                if [ `cat $TMP/cache.$FILENAME.1 | grep "KinoX 503 Service Temporarily Unavailable" | wc -l` -eq 1 ];then
109                        ERRORMSG="KinoX 503 Service Temporarily Unavailable"
110#                       echo "errormsg=$ERRORMSG"
111                        LINE="$ERRORMSG#$NEWPAGE#$PIC#kinox_$piccount.jpg#KinoX#22"
112                        echo "$LINE" > $TMP/$FILENAME.list
113                        exit
114                fi
115
116                pages=`cat $TMP/cache.$FILENAME.1 | tr ',' '\n' | grep iTotalDisplayRecords | cut -d '"' -f4`
117                if [ -z "$pages" ];then
118                        pages=0
119                fi
120                cat $TMP/cache.$FILENAME.1 | tr '\n' ' ' | sed 's!<TR>!\nfound=!g'| grep ^"found="  >$TMP/cache.$FILENAME.2
121
122                if [ "$pages" == " " ] || [ -z "$pages" ] || [ "$pages" == 0 ]; then
123                        rm $TMP/cache.$FILENAME.1
124                        break
125                        ls $TMP/cache.$FILENAME.1
126                        exit
127                fi
128       
129#               if [ $pages -gt 1000 ]; then
130#                       pages=1000
131#               fi
132       
133                max=`expr $pages - 4`
134#               echo max $max
135               
136                cat $TMP/cache.$FILENAME.1 | tr '],[' '\n' | grep 'Stream' | cut -d '/' -f3 | cut -d"\\" -f1 > $TMP/cache.$FILENAME.3
137
138                count=0
139
140                while read -u 3 ROUND; do
141                        piccount=`expr $piccount + 1`
142                        filename=`echo $ROUND | sed 's!/Stream/!!'`
143                        picname=`echo $filename | sed 's!.html!.jpg!'`
144                        searchname=`echo $filename | sed 's!.html!!'`   
145               
146                        TITLE=`echo $picname | sed 's!.jpg!!' | tr "_" " "`
147
148                        if [ `cat /mnt/config/titan.cfg | grep tithek_kinox_pic=1 | wc -l` -eq 1 ];then
149                #               $wgetbin --no-check-certificate "$MAINURL/$ROUND1" -O cache."$filename".list
[42463]150#                               echo $BIN /tmp/localhoster/cloudflare.py "$URL/Stream/$ROUND"
[42467]151                                $ACTIVEBIN "$URL/Stream/$ROUND" > $TMP/cache."$filename".list
[42151]152                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
[42463]153#                                       echo $BIN2 /tmp/localhoster/cloudflare.py "$URL/Stream/$ROUND"
[42467]154                                        $ACTIVEBIN "$URL/Stream/$ROUND" > $TMP/cache."$filename".list
[42151]155                                fi
156                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
[42463]157#                                       echo $BIN3 /tmp/localhoster/cloudflare.py "$URL/Stream/$ROUND"
[42467]158                                        $ACTIVEBIN "$URL/Stream/$ROUND" > $TMP/cache."$filename".list
[42151]159                                fi
160                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
[42463]161#                                       echo $BIN4 /tmp/localhoster/cloudflare.py "$URL/Stream/$ROUND"
[42467]162                                        $ACTIVEBIN "$URL/Stream/$ROUND" > $TMP/cache."$filename".list
[42151]163                                fi
164                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
[42463]165#                                       echo $BIN5 /tmp/localhoster/cloudflare.py "$URL/Stream/$ROUND"
[42467]166                                        $ACTIVEBIN "$URL/Stream/$ROUND" > $TMP/cache."$filename".list
[42151]167                                fi
168                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
[42463]169#                                       echo $BIN6 /tmp/localhoster/cloudflare.py "$URL/Stream/$ROUND"
[42467]170                                        $ACTIVEBIN "$URL/Stream/$ROUND" > $TMP/cache."$filename".list
[42151]171                                fi
172                                PIC=$URL/`cat $TMP/cache."$filename".list | tr '><' '>\n<' | grep $picname | cut -d '"' -f2 | sort -um`
173                                LANG=`cat $TMP/cache."$filename".list | grep 'alt="language" src="/gr/sys/lng' | sed 's!alt="language" src="/gr/sys/lng/!\n!' | tail -n1 |cut -d"." -f1`
174                        else
175                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
176                                LANG=1
177                        fi
178
179                        LANGTXT=" (de)"
180
181                        if [ ! -z $LANG ];then
182                                if [ $LANG = 1 ];then
183                                        LANGTXT=" (de)"
184                                elif [ $LANG = 2 ];then
185                                        LANGTXT=" (en)"
186                                else
187                                        LANGTXT=" (??)"
188                                fi
189                        fi
190
191                        NEWPAGE="$URL/Stream/$ROUND"
192
193                        if [ -z "$PIC" ]; then
194                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
195                        fi
196
197                        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/#034;/\"/g' -e 's/#039;/\"/g' -e 's/&szlig;/\C3x/g' -e 's/&ndash;/-/g' -e 's/&Auml;/\C3/g' -e 's/&Uuml;/\C3S/g' -e 's/&Ouml;/\C3/g' -e 's/&auml;/\E4/g' -e 's/&uuml;/\FC/g' -e 's/&ouml;/\F6/g' -e 's/&eacute;/\E9/g' -e 's/&egrave;/\E8/g' -e 's/%F6/\F6/g' -e 's/%FC/\FC/g' -e 's/%E4/\E4/g' -e 's/%26/&/g' -e 's/%C4/\C3/g' -e 's/%D6/\C3/g' -e 's/%DC/\C3S/g' -e 's/%28/(/g' -e 's/%29/)/g' -e 's/%3A/:/g' -e 's/%40/@/g' -e 's/%2B/&/g' -e 's/%C3/A/g' -e 's/%B1/&/g' -e 's/%5B//g' -e 's/%5D//g' -e 's!%2F!/!g' -e 's/|/ /g' -e 's/(/ /g' -e 's/)/ /g' -e 's/+/ /g' -e 's/\//-/g' -e 's/,/ /g' -e 's/;/ /g' -e 's/:/ /g' -e 's/\.\+/./g'`
198
199                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
200                                if [ ! -e $TMP/$FILENAME.list ];then
201                                        touch $TMP/$FILENAME.list
202                                fi
203                                piccount=`expr $piccount + 1`
204                                LINE="$TITLE$LANGTXT#$NEWPAGE#$PIC#kinox_$piccount.jpg#KinoX#22"
205
206                                echo "$LINE" >> $TMP/$FILENAME.list
207                        fi
208
209                done 3<$TMP/cache.$FILENAME.3
210
211                if [ "$NEXT" -lt "$pages" ]; then
212                        NEXTPAGE=`expr $NEXT + 30`
213                        LINE="Page ($NEXTPAGE/$pages)#$SRC $SRC search '$PAGE' $NEXTPAGE#http://atemio.dyndns.tv/mediathek/menu/next.jpg#next.jpg#$NAME#0"
214                        echo "$LINE" >> $TMP/$FILENAME.list
215                fi
216
217                rm $TMP/cache.$FILENAME.* > /dev/null 2>&1
218        fi
219        echo "$TMP/$FILENAME.list"
220}
221
222kino()
223{
224        if [ ! -e "$TMP/$FILENAME.list" ]; then
225                piccount=0
226#               $curlbin "$URL/$PAGE" -o "$TMP/cache.$FILENAME.1"
[42467]227                $ACTIVEBIN "$URL/$PAGE" > $TMP/cache.$FILENAME.1
[42151]228
229                if [ `cat $TMP/cache.$FILENAME.1 | grep "KinoX 404 Not Found" | wc -l` -eq 1 ];then
230                        ERRORMSG="KinoX 404 Not Found"
231#                       echo "errormsg=$ERRORMSG"
232                        LINE="$ERRORMSG#$NEWPAGE#$PIC#kinox_$piccount.jpg#KinoX#22"
233                        echo "$LINE" > $TMP/$FILENAME.list
234                        exit
235                fi
236                if [ `cat $TMP/cache.$FILENAME.1 | grep "KinoX 503 Service Temporarily Unavailable" | wc -l` -eq 1 ];then
237                        ERRORMSG="KinoX 503 Service Temporarily Unavailable"
238#                       echo "errormsg=$ERRORMSG"
239                        LINE="$ERRORMSG#$NEWPAGE#$PIC#kinox_$piccount.jpg#KinoX#22"
240                        echo "$LINE" > $TMP/$FILENAME.list
241                        exit
242                fi
243
244                cat $TMP/cache.$FILENAME.1 | grep /Stream/ | sed 's!/Stream/!\n/Stream/!' | grep ^/Stream/ | cut -d '"' -f1  | cut -d "'" -f1 | sort -um >$TMP/cache.$FILENAME.2
245                while read -u 3 ROUND; do
246                        piccount=`expr $piccount + 1`
247                        filename=`echo $ROUND | sed 's!/Stream/!!'`
248                        picname=`echo $filename | sed 's!.html!.jpg!'`
249                        searchname=`echo $filename | sed 's!.html!!'`   
250               
251                        TITLE=`echo $picname | sed 's!.jpg!!' | tr "_" " "`
252
253                        if [ `cat /mnt/config/titan.cfg | grep tithek_kinox_pic=1 | wc -l` -eq 1 ];then
254                #               $wgetbin --no-check-certificate "$MAINURL/$ROUND1" -O cache."$filename".list
[42463]255#                               echo $BIN /tmp/localhoster/cloudflare.py "$URL/$ROUND"
[42467]256                                $ACTIVEBIN "$URL/$ROUND" > $TMP/cache."$filename".list
[42151]257                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
[42467]258#                                       echo $BIN2 /tmp/localhoster/cloudflare.py "$URL/$ROUND"
259                                        $ACTIVEBIN "$URL/$ROUND" > $TMP/cache."$filename".list
[42151]260                                fi
261                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
[42463]262#                                       echo $BIN3 /tmp/localhoster/cloudflare.py "$URL/$ROUND"
[42467]263                                        $ACTIVEBIN "$URL/$ROUND" > $TMP/cache."$filename".list
[42151]264                                fi
265                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
[42463]266#                                       echo $BIN4 /tmp/localhoster/cloudflare.py "$URL/$ROUND"
[42467]267                                        $ACTIVEBIN "$URL/$ROUND" > $TMP/cache."$filename".list
[42151]268                                fi
269                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
[42463]270#                                       echo $BIN5 /tmp/localhoster/cloudflare.py "$URL/$ROUND"
[42467]271                                        $ACTIVEBIN "$URL/$ROUND" > $TMP/cache."$filename".list
[42151]272                                fi
273                                if [ $(cat $TMP/cache."$filename".list | wc -l) -eq 0 ];then
[42463]274#                                       echo $BIN6 /tmp/localhoster/cloudflare.py "$URL/$ROUND"
[42467]275                                        $ACTIVEBIN "$URL/$ROUND" > $TMP/cache."$filename".list
[42151]276                                fi
277                                PIC=$URL/`cat $TMP/cache."$filename".list | tr '><' '>\n<' | grep $picname | cut -d '"' -f2 | sort -um`
278                                LANG=`cat $TMP/cache."$filename".list | grep 'alt="language" src="/gr/sys/lng' | sed 's!alt="language" src="/gr/sys/lng/!\n!' | tail -n1 |cut -d"." -f1`
279                        else
280                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
281                                LANG=1
282                        fi
283
284                        LANGTXT=" (de)"
285
286                        if [ ! -z $LANG ];then
287                                if [ $LANG = 1 ];then
288                                        LANGTXT=" (de)"
289                                elif [ $LANG = 2 ];then
290                                        LANGTXT=" (en)"
291                                else
292                                        LANGTXT=" (??)"
293                                fi
294                        fi
295
296                        NEWPAGE="$URL/$ROUND"
297
298                        if [ -z "$PIC" ]; then
299                                PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg"
300                        fi
301
302                        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/#034;/\"/g' -e 's/#039;/\"/g' -e 's/&szlig;/\C3x/g' -e 's/&ndash;/-/g' -e 's/&Auml;/\C3/g' -e 's/&Uuml;/\C3S/g' -e 's/&Ouml;/\C3/g' -e 's/&auml;/\E4/g' -e 's/&uuml;/\FC/g' -e 's/&ouml;/\F6/g' -e 's/&eacute;/\E9/g' -e 's/&egrave;/\E8/g' -e 's/%F6/\F6/g' -e 's/%FC/\FC/g' -e 's/%E4/\E4/g' -e 's/%26/&/g' -e 's/%C4/\C3/g' -e 's/%D6/\C3/g' -e 's/%DC/\C3S/g' -e 's/%28/(/g' -e 's/%29/)/g' -e 's/%3A/:/g' -e 's/%40/@/g' -e 's/%2B/&/g' -e 's/%C3/A/g' -e 's/%B1/&/g' -e 's/%5B//g' -e 's/%5D//g' -e 's!%2F!/!g' -e 's/|/ /g' -e 's/(/ /g' -e 's/)/ /g' -e 's/+/ /g' -e 's/\//-/g' -e 's/,/ /g' -e 's/;/ /g' -e 's/:/ /g' -e 's/\.\+/./g'`
303
304                        if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then
305                                if [ ! -e $TMP/$FILENAME.list ];then
306                                        touch $TMP/$FILENAME.list
307                                fi
308                                piccount=`expr $piccount + 1`
309                                LINE="$TITLE$LANGTXT#$NEWPAGE#$PIC#kinox_$piccount.jpg#KinoX#22"
310
311                                echo "$LINE" >> $TMP/$FILENAME.list
312                        fi
313
314                done 3<$TMP/cache.$FILENAME.2
315                rm $TMP/cache.$FILENAME.* > /dev/null 2>&1
316
317        fi
318        echo "$TMP/$FILENAME.list"
319}
320
321case $INPUT in
322        init) $INPUT;;
323        mainmenu) $INPUT;;
324        search) $INPUT;;
325        kino) $INPUT;;
326        sorted) $INPUT;;
327esac
Note: See TracBrowser for help on using the repository browser.