#!/bin/sh # first sh box parser for titannit mfg obi . /tmp/localhoster/hoster.sh SRC=$1 INPUT=$2 PAGE=$3 NEXT=$4 PARSER=`echo $SRC | tr '/' '\n' | tail -n1 | sed 's/.sh//'` FILENAME="$PARSER $INPUT $PAGE $NEXT" FILENAME=`echo $FILENAME | tr '&' '.' | tr '/' '.' | tr '?' '.' | tr ';' '.' | tr '=' '.' | sed 's/ \+/./g' | sed 's/\.\+/./g'` if [ -z "$FILENAME" ]; then FILENAME=none fi URL=https://www.googleapis.com NAME=Youtube mkdir $TMP > /dev/null 2>&1 if [ `echo $SRC | grep ^"/mnt/parser" | wc -l` -gt 0 ];then TYPE="$SRC - Shell script" elif [ `echo $SRC | grep ^"/var/swap" | wc -l` -gt 0 ];then TYPE="Swap - Shell script" elif [ `echo $SRC | grep ^"/mnt/swapextensions" | wc -l` -gt 0 ];then TYPE="Mnt - Shell script" else TYPE="Flash - Shell script" fi init() { rm -rf $TMP > /dev/null 2>&1 echo "$NAME ($TYPE)#$SRC $SRC mainmenu#http://atemio.dyndns.tv/mediathek/menu/$PARSER.jpg#$PARSER.jpg#TiThek#0" } mainmenu() { echo "Search 10#$SRC $SRC search '/youtube/v3/search?q=%search%®ionCode=US&part=snippet&hl=en_US&key=AIzaSyAd-YEOqZz9nXVzGtn3KWzYLbLaajhqIDA&type=video&maxResults=10'#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#$NAME#112" >$TMP/$FILENAME.list echo "Search 50#$SRC $SRC search '/youtube/v3/search?q=%search%®ionCode=US&part=snippet&hl=en_US&key=AIzaSyAd-YEOqZz9nXVzGtn3KWzYLbLaajhqIDA&type=video&maxResults=50'#http://atemio.dyndns.tv/mediathek/menu/search.jpg#search.jpg#$NAME#112" >>$TMP/$FILENAME.list echo "$TMP/$FILENAME.list" } search() { if [ ! -e "$TMP/$FILENAME.list" ]; then piccount=0 $curlbin "$URL/$PAGE" -o "$TMP/cache.$FILENAME.1" cat $TMP/cache.$FILENAME.1 | tr '\n' '\r' | tr '\r' ' ' | tr '\n' ' ' | tr '\t' ' ' | sed 's/ \+/ /g' | sed 's!"kind":!\nkind":!g' | grep ^"kind" | grep videoId >$TMP/cache.$FILENAME.2 while read -u 3 ROUND; do ID=`echo $ROUND | sed 's!"videoId": !\nvideoId=!g' | grep ^videoId= | cut -d'"' -f2 | tail -n1` PIC=`echo $ROUND | sed 's!"url": !\nurl=!g' | grep ^url= | cut -d'"' -f2 | tail -n1` TITLE=`echo $ROUND | sed 's!"title": !\ntitle=!g' | grep ^title= | cut -d'"' -f2 | tail -n1` # URL="/get_video_info?el=leanback&cplayer=UNIPLAYER&cos=Windows&height=1080&cbr=Chrome&hl=en_US&cver=4&ps=leanback&c=TVHTML5&video_id=$ID&cbrver=40.0.2214.115&width=1920&cosver=6.1&ssl_stream=1" # URL="https://www.youtube.com/get_video_info?el=leanback&cplayer=UNIPLAYER&cos=Windows&height=1080&cbr=Chrome&hl=en_US&cver=4&ps=leanback&c=TVHTML5&video_id=$ID&cbrver=40.0.2214.115&width=1920&cosver=6.1&ssl_stream=1" NEWPAGE="https://www.youtube.com/watch?v=$ID" if [ -z "$TITLE" ];then TITLE=`echo $ROUND | cut -d"<" -f2 | cut -d">" -f2` fi if [ -z "$PIC" ]; then PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg" fi TITLE=`echo $TITLE | sed -e 's/&/&/g' -e 's/&/und/g' -e 's/"/"/g' -e 's/</\> $TMP/$FILENAME.list fi done 3<$TMP/cache.$FILENAME.2 rm $TMP/cache.* > /dev/null 2>&1 fi echo "$TMP/$FILENAME.list" } hosterlist() { if [ ! -e "$TMP/$FILENAME.list" ]; then /tmp/localhoster/hoster.sh youtube_dl $PAGE > $TMP/cache.$FILENAME.1 while read -u 3 ROUND; do TITLE=`echo $ROUND | sed 's/mime=/\nfound=\&/g' | grep ^"found=&" | cut -d'&' -f2 | sed 's#%2F#/#g'` PIC="`echo $TITLE | tr '/' '.'`.jpg" NEWPAGE="$ROUND" if [ -z "$PIC" ] || [ "$PIC" = ".jpg" ]; then PIC="http://atemio.dyndns.tv/mediathek/menu/default.jpg" fi if [ ! -z "$TITLE" ] && [ ! -z "$NEWPAGE" ];then if [ ! -e $TMP/$FILENAME.list ];then touch $TMP/$FILENAME.list fi piccount=$[$piccount+1] LINE="$TITLE#$SRC $SRC play '$NEWPAGE'#$PIC#$FILENAME.$piccount.jpg#$NAME#111" echo "$LINE" >> $TMP/$FILENAME.list fi done 3<$TMP/cache.$FILENAME.1 rm $TMP/cache.* > /dev/null 2>&1 fi echo "$TMP/$FILENAME.list" } play() { rm $TMP/cache.$INPUT.* > /dev/null 2>&1 /tmp/localhoster/hoster.sh get $PAGE > $TMP/cache.$INPUT.1 STREAMURL=`cat $TMP/cache.$INPUT.1` echo $STREAMURL } hoster() { # not used anymore # rm $TMP/cache.$INPUT.* > /dev/null 2>&1 /tmp/localhoster/hoster.sh youtube_dl $PAGE > $TMP/cache.$INPUT.1 STREAMURL=`cat $TMP/cache.$INPUT.1` echo $STREAMURL } case $INPUT in init) $INPUT;; mainmenu) $INPUT;; hoster) $INPUT;; hosterlist) $INPUT;; play) $INPUT;; search) $INPUT;; esac