source: titan/mediathek/localparser_secret/beeg.sh @ 37154

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

test global file

  • Property svn:executable set to *
File size: 7.4 KB
Line 
1#!/bin/bash
2# box parser for titannit
3
4SRC=$1
5INPUT=$2
6PARAM=$3
7URL="https://beeg.com/api/v5/"
8PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'`
9NAME=`echo -n ${PARSER:0:1} | tr '[a-z]' '[A-Z]'`${PARSER:1}
10
11rm -rf $TMP > /dev/null 2>&1
12mkdir $TMP > /dev/null 2>&1
13
14if [ `echo $SRC | grep ^"/mnt/parser" |wc -l` -gt 0 ];then
15        TYPE="$SRC - Shell script"
16elif [ `echo $SRC | grep ^"/var/swap" | wc -l` -gt 0 ];then
17        TYPE="Swap - Shell script"
18elif [ `echo $SRC | grep ^"/mnt/swapextensions" | wc -l` -gt 0 ];then
19        TYPE="Mnt - Shell script"
20else
21        TYPE="Flash - Shell script"
22fi
23
24init()
25{
26        echo "$NAME ($TYPE)#$SRC $SRC mainmenu#http://atemio.dyndns.tv/mediathek/menu/$PARSER.jpg#$PARSER.jpg#TiThek#1000"
27}
28
29mainmenu()
30{
31        echo "Sorted by date#$SRC $SRC videos index/main/0/pc#http://atemio.dyndns.tv/mediathek/menu/all-newfirst.jpg#all-newfirst.jpg#$NAME#0" >/tmp/tithek/$PARSER.list
32        echo "Popular Tags#$SRC $SRC tags popular#http://atemio.dyndns.tv/mediathek/menu/category.jpg#category.jpg#$NAME#0" >>/tmp/tithek/$PARSER.list
33        echo "All Tags#$SRC $SRC tags nonpopular#http://atemio.dyndns.tv/mediathek/menu/category.jpg#category.jpg#$NAME#0" >>/tmp/tithek/$PARSER.list
34        echo "Long Videos#$SRC $SRC videos tag/0/pc?tag=long+videos#http://atemio.dyndns.tv/mediathek/menu/category.jpg#category.jpg#$NAME#0" >>/tmp/tithek/$PARSER.list
35        echo "Search#$SRC $SRC videos index/search/0/pc?query=#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#$NAME#112" >>/tmp/tithek/$PARSER.list
36        echo "/tmp/tithek/$PARSER.list"
37}
38
39videos()
40{
41        $curlbin -o - $URL$PARAM | sed -e 's/{/{\n/g' -e 's/,/,\n/g' -e 's/\[/\[\n/g' -e 's/\}/\n\}/g' -e 's/\]/\n\]/g' | awk -v SRC=$SRC -v PARSER=$PARSER -v NAME=$NAME '
42BEGIN { table = ""
43        title = ""
44        id = ""
45      }
46/\"/  { m = 1
47        while (m == 1) {
48           s = $0
49           i = gsub("[\"]", "x", s)
50           m = i % 2
51           if (m == 1) {
52              getline l
53              $0 = $0 l
54           }
55        }
56      }
57/^\{/ { next
58      }
59/\[$/ { split($0, a, "\"")
60        table = a[2]
61        next
62      }
63/^\}/ { if (table == "videos") {
64           print title "#" SRC " " SRC " play video/" id "#https://img.beeg.com/236x177/" id ".jpg#" PARSER "_" id ".jpg#" NAME "#111"
65           title = ""
66           id = ""
67        }   
68        next
69      }
70/^\]/ { table = ""
71        next
72      }
73      { if (table == "videos") {
74           split($0, a, "\"")
75           if (a[3] ==":") {
76              value = a[4]
77           }
78           else {
79              value = substr(a[3], 2, length(a[3]) - 2)
80           }
81           if (a[2] == "title") {
82              title = value
83           }
84           else {
85              if (a[2] == "id") {
86                 id = value
87              }
88           }
89        }
90      }
91' >/tmp/tithek/$PARSER.list
92        echo "/tmp/tithek/$PARSER.list"
93}
94
95play()
96{
97        $curlbin -o - $URL$PARAM | sed -e 's/{/{\n/g' -e 's/,/,\n/g' -e 's/\[/\[\n/g' -e 's/\}/\n\}/g' -e 's/\]/\n\]/g' | awk -v PARSER=$PARSER -v NAME=$NAME '
98BEGIN { table = ""
99        title = ""
100        id = ""
101        v720p = ""
102        v480p = ""
103        v240p = ""
104        h2d = "0123456789ABCDEF"
105        for (i = 0; i <= 255; i++) {
106           ord[sprintf("%c", i)] = i
107        }
108        crc = "5ShMcIQlssOd7zChAIOlmeTZDaUxULbJRnywYaiB"
109      }
110/\"/  { m = 1
111        while (m == 1) {
112           s = $0
113           i = gsub("[\"]", "x", s)
114           m = i % 2
115           if (m == 1) {
116              getline l
117              $0 = $0 l
118           }
119        }
120      }
121/^\{/ { next
122      }
123/\[$/ { split($0, a, "\"")
124        table = a[2]
125        next
126      }
127/^\}/ { if (v720p == "null") {
128           if (v480p == "null") {
129              video = decrypt_url(v240p)
130           }
131           else {
132              video = decrypt_url(v480p)
133           }
134        }
135        else {
136           video = decrypt_url(v720p)
137        }
138        if (video != "null") {
139#           print title "#https:" video "#https://img.beeg.com/236x177/" id ".jpg#" PARSER "_" id ".jpg#" NAME "#2"
140           print "https:" video
141           }
142        title = ""
143        id = ""
144        v720p = ""
145        v480p = ""
146        v240p = ""
147        next
148      }
149/^\]/ { table = ""
150        next
151      }
152      { split($0, a, "\"")
153        if (a[3] ==":") {
154           value = a[4]
155        }
156        else {
157           value = substr(a[3], 2, length(a[3]) - 2)
158        }
159        if (a[2] == "title") {
160           title = value
161        }
162        else {
163           if (a[2] == "id") {
164              id = value
165           }
166           else {
167              if (a[2] == "240p") {
168                 v240p = value
169              }
170              else {
171                 if (a[2] == "480p") {
172                    v480p = value
173                 }
174                 else {
175                    if (a[2] == "720p") {
176                       v720p = value
177                    }
178                 }
179              }
180           }
181        }
182      }
183
184function decrypt_url(url)
185      { print "URL1: " url >>"/mnt/parser/beeg.log"
186        sub(/\{DATA_MARKERS\}/, "", url)
187        key_von = match(url, /\/key=/) + 5
188        print "URL2: " url >>"/mnt/parser/beeg.log"
189        key_bis = match(url, /\%2Cend/)
190        key_len = key_bis - key_von
191        key = ""
192        for (i = key_von; i < key_bis; i++) {
193           s = substr(url, i , 1)
194           if (s == "%") {
195              n = (index(h2d, toupper(substr(url, i + 1, 1))) - 1) * 16
196              n = n + (index(h2d, toupper(substr(url, i + 2, 1))) - 1)
197              if (n != 194) {
198                 s = sprintf("%c", n)
199              }
200              else {
201                 s = ""
202              }
203              i = i + 2
204           }
205           key = key s
206        }
207        print "KEY1: " key >>"/mnt/parser/beeg.log"
208        o = ""
209        for (i = 1; i <= length(key); i++) {
210           o = o sprintf("%c", ord[substr(key, i, 1)] - (ord[substr(crc, i % length(crc), 1)] % 21))
211        }
212        print "KEY2: " o >>"/mnt/parser/beeg.log"
213        r = ""
214        for (i = length(o) - 2; i > -3; i = i - 3) {
215           if (i > 0) {
216              r = r substr(o, i, 3)A
217           }
218           else {
219              r = r substr(o, 1, 2 - i)
220           }
221        }
222        print "KEY3: " r >>"/mnt/parser/beeg.log"
223        return substr(url, 1, key_von - 1) r substr(url, key_bis)
224      }
225' >/tmp/tithek/$PARSER.list
226#       echo "/tmp/tithek/$PARSER.list"
227        cat "/tmp/tithek/$PARSER.list"
228}
229
230tags()
231{
232        $curlbin -o - ${URL}index/main/0/pc | sed -e 's/{DATA_MARKERS}/data=pc.XX/g' -e 's/{/{\n/g' -e 's/,/,\n/g' -e 's/\[/\[\n/g' -e 's/\}/\n\}/g' -e 's/\]/\n\]/g' | awk -v PARAM=$PARAM -v SRC=$SRC -v NAME=$NAME '
233BEGIN { table = ""
234      }
235/\"/  { m = 1
236        while (m == 1) {
237           s = $0
238           i = gsub("[\"]", "x", s)
239           m = i % 2
240           if (m == 1) {
241              getline l
242              $0 = $0 l
243           }
244        }
245      }
246/^\{/ { next
247      }
248/\[$/ { split($0, a, "\"")
249        table = a[2]
250        next
251      }
252/^\}/ { next
253      }
254/^\]/ { table = ""
255        next
256      }
257      { if (table == PARAM) {
258           split($0, a, "\"")
259           title = a[2]
260           tag = title
261           gsub(/ /, "%20", tag)
262           print title "#" SRC " " SRC " videos index/tag/0/pc?tag=" tag "#http://atemio.dyndns.tv/mediathek/menu/" tag ".jpg#" tag ".jpg#" NAME "#0"
263        }
264      }
265' >/tmp/tithek/$PARSER.list
266        echo "/tmp/tithek/$PARSER.list"
267}
268
269case $INPUT in
270        init) $INPUT;;
271        mainmenu) $INPUT;;
272        videos) $INPUT;;
273        play) $INPUT;;
274        tags) $INPUT;;
275        page) $INPUT;;
276esac
277
Note: See TracBrowser for help on using the repository browser.