Changeset 36091


Ignore:
Timestamp:
Nov 6, 2015, 5:06:52 PM (5 years ago)
Author:
obi
Message:

update tvhost

File:
1 edited

Legend:

Unmodified
Added
Removed
  • titan/plugins/tithek/tvtoast.h

    r36082 r36091  
    22#define TVTOAST_H
    33
    4 char* getrtmp(char* input, char* tmphost, char* tmppath, char **typemsg, char* fid, int incount)
    5 {
     4char* streamlive(char* link, char* referer, int incount)
     5{
     6        debug(99, "streamlive(%d) link=%s referer=%s", incount, link, referer);
     7
    68        int debuglevel = getconfigint("debuglevel", NULL);
    7         char* tmpstr = ostrcat(input, NULL, 0, 0);
    8         char* tmpstr1 = NULL;
    9         char* tmpstr2 = NULL;
    10         char* tmpstr3 = NULL;
    11         char* streamer = NULL;
    12         //char* fid = NULL;
    13         char* swfUrl = NULL;
    14         char* cmd = NULL;
    15         char* streamurl = NULL;
    16         char* streamip = NULL;
    17 
    18         ///////////////
    19         char* post = NULL;
    20         char* b36code = NULL;
    21         char* charlist = NULL;
    22         char* base = NULL;
    23         char* search = NULL;
    24         printf("neu................\n");
    25         post = ostrcat(tmpstr, NULL, 0, 0);
    26         free(tmpstr1),tmpstr1 = NULL;
    27         tmpstr1 = string_resub(";return p}('", ";',", post, 0);
    28         debug(99, "tmpstr1: %s", tmpstr1);
    29         titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast_tmpstr_rtmp1", oitoa(incount), tmphost, tmppath, tmpstr);
    30 
    31         post = string_replace_all(tmpstr1, "", post, 1);
    32         post = string_replace_all(";return p}(';',", "", post, 1);
    33         debug(99, "post1: %s", post);
    34         titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast_tmpstr_rtmp2", oitoa(incount), tmphost, tmppath, tmpstr);
    35        
    36         free(tmpstr1),tmpstr1 = NULL;
    37         free(b36code),b36code = NULL;
    38         tmpstr1 = string_resub(";return p}('", ");'", post, 0);
    39         debug(99, "tmpstr2: %s", tmpstr1);
    40         titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast_tmpstr_rtmp3", oitoa(incount), tmphost, tmppath, tmpstr);
    41        
    42         if(tmpstr1 != NULL)
    43         {
    44                 b36code = oregex(".*;',[0-9]{1,1},[0-9]{1,1},'(.*)'.split.*", post);
    45                
    46                 b36code = string_replace_all("||", "| |", b36code, 1);
    47                 debug(99, "b36code: %s", b36code);
    48        
    49                 titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast_tmpstr_rtmp4", oitoa(incount), tmphost, tmppath, tmpstr);
    50                        
    51                 struct splitstr* ret1 = NULL;
    52                 int count = 0;
    53                 int i = 0;
    54                 ret1 = strsplit(b36code, "|", &count);
    55        
    56                 charlist = ostrcat(charlist, "\"", 1, 0);
    57                 charlist = ostrcat(charlist, "|", 1, 0);
    58                 charlist = ostrcat(charlist, "'", 1, 0);
    59                 charlist = ostrcat(charlist, "|", 1, 0);
    60                 charlist = ostrcat(charlist, ".", 1, 0);
    61                 charlist = ostrcat(charlist, "|", 1, 0);
    62                 charlist = ostrcat(charlist, ";", 1, 0);
    63                 charlist = ostrcat(charlist, "|", 1, 0);
    64                 charlist = ostrcat(charlist, ":", 1, 0);
    65                 charlist = ostrcat(charlist, "|", 1, 0);
    66                 charlist = ostrcat(charlist, "=", 1, 0);
    67                 charlist = ostrcat(charlist, "|", 1, 0);
    68                 charlist = ostrcat(charlist, ",", 1, 0);
    69                 charlist = ostrcat(charlist, "|", 1, 0);
    70                 charlist = ostrcat(charlist, " ", 1, 0);
    71                 charlist = ostrcat(charlist, "|", 1, 0);
    72                 charlist = ostrcat(charlist, "\\", 1, 0);
    73                 charlist = ostrcat(charlist, "|", 1, 0);
    74                 charlist = ostrcat(charlist, "/", 1, 0);
    75                 charlist = ostrcat(charlist, "|", 1, 0);
    76                 charlist = ostrcat(charlist, "(", 1, 0);
    77                 charlist = ostrcat(charlist, "|", 1, 0);
    78                 charlist = ostrcat(charlist, ")", 1, 0);
    79        
    80                 for(i = 0; i < count; i++)
    81                 {
    82                         if(ostrstr((&ret1[i])->part, " ") != NULL)
    83                         {
    84                                 printf("continue\n");
    85                                 continue;
    86                         }
    87                         char* x = oltostr(i, 36);
    88        
    89                         struct splitstr* ret2 = NULL;
    90                         int count2 = 0;
    91                         int i2 = 0;
    92                         tmpstr2 = ostrcat(charlist, NULL, 0, 0);
    93                         ret2 = strsplit(tmpstr2, "|", &count2);
    94                         for(i2 = 0; i2 < count2; i2++)
    95                         {
    96                                 struct splitstr* ret3 = NULL;
    97                                 int count3 = 0;
    98                                 int i3 = 0;
    99                                 tmpstr3 = ostrcat(charlist, NULL, 0, 0);
    100                                 ret3 = strsplit(tmpstr3, "|", &count3);
    101                                 for(i3 = 0; i3 < count3; i3++)
    102                                 {
    103                                         debug(99, "-----------------------------------------------");
    104                                         debug(99, "replace %s%s%s <> %s%s%s",(&ret2[i2])->part, x, (&ret3[i3])->part, (&ret2[i2])->part, (&ret1[i])->part, (&ret3[i3])->part);
    105        
    106                                         base = ostrcat(base, (&ret2[i2])->part, 1, 0);
    107                                         base = ostrcat(base, x, 1, 0);
    108                                         base = ostrcat(base, (&ret3[i3])->part, 1, 0);         
    109                                         search = ostrcat(search, (&ret2[i2])->part, 1, 0);
    110                                         search = ostrcat(search, (&ret1[i])->part, 1, 0);
    111                                         search = ostrcat(search, (&ret3[i3])->part, 1, 0);
    112                                         tmpstr1 = string_replace_all(base, search, tmpstr1, 1);
    113                                         free(base), base = NULL;
    114                                         free(search), search = NULL;
    115                                 }
    116                                 free(ret3), ret3 = NULL;
    117                                 free(tmpstr3), tmpstr3 = NULL;
    118                         }
    119                         free(ret2), ret2 = NULL;
    120                         free(tmpstr2), tmpstr2 = NULL;
    121                         free(x);
    122                 }
    123                 free(ret1), ret1 = NULL;
    124                 free(b36code), b36code = NULL;
    125                 free(post), post = NULL;
    126                 free(charlist), charlist = NULL;
    127        
    128                 titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast_tmpstr_rtmp5", oitoa(incount), tmphost, tmppath, tmpstr);
    129 
    130 ///////////////
    131         }
    132        
    133         streamer = string_resub("'streamer':           '", "',", tmpstr, 0);
    134         if(streamer != NULL)
    135         {
    136                 fid = string_resub("'file':               '", "',", tmpstr, 0);
    137                 swfUrl = string_resub("swfobject.embedSWF('", "',", tmpstr, 0);
    138         }
    139         else
    140         {
    141                 streamer = string_resub("var str = \"", "\"", tmpstr, 0);
    142                 if(streamer != NULL)
    143                 {
    144                         if(ostrstr(tmpstr1, "str.replace(") != NULL)
    145                         {
    146                                 char* org = string_resub("str.replace(\"", "\"", tmpstr1, 0);
    147                                 char* replace = string_resub("\",\"", "\"", tmpstr1, 0);
    148                                 printf("org streamer: %s\n",streamer);
    149                                 streamer = string_replace_all(org, replace, streamer, 1);
    150                                 free(org), org = NULL;
    151                                 free(replace), replace = NULL;
    152 
    153                                 printf("change streamer: %s\n",streamer);
    154                         }
    155                         free(tmpstr1), tmpstr1 = NULL;
    156                         swfUrl = string_resub("SWFObject(\"", "\"", tmpstr, 0);
    157                 }
    158         }
    159 
    160         if(streamer == NULL)
    161                 streamer = string_resub("file: \"", "\"", tmpstr, 0);
    162 
    163         if(streamer == NULL)
    164                 streamer = string_resub("'file': '", "'", tmpstr, 0);
    165 
    166         cmd = ostrcat("rtmpdump -r ", NULL, 0, 0);
    167         cmd = ostrcat(cmd, streamer, 1, 0);
    168         if(fid != NULL)
    169         {
    170                 cmd = ostrcat(cmd, "/", 1, 0);
    171                 cmd = ostrcat(cmd, fid, 1, 0);
    172         }
    173         else
    174                 fid = basename(streamer);
    175 
    176         cmd = ostrcat(cmd, " --debug > /tmp/tithek/rtmp.log 2>&1", 1, 0);                                                                                               
    177         system("rm -rf /tmp/tithek/rtmp.log");
    178 
    179         free(tmpstr), tmpstr = NULL;
    180         printf("cmd: %s\n",cmd);
    181         system(cmd);
    182         free(cmd),cmd = NULL;
    183 
    184         tmpstr = command("cat /tmp/tithek/rtmp.log");
    185 
    186         streamip = string_resub("redirect, STRING:", ">", tmpstr, 0);
    187         strstrip(streamip);
    188 
    189         free(tmpstr), tmpstr = NULL;
    190 
    191         if(streamip == NULL)
    192         {
    193                 streamip = ostrcat(streamip, streamer, 1, 0);
    194 //                                              streamip = ostrcat(streamip, "/", 1, 0);
    195 //                                              streamip = ostrcat(streamip, fid, 1, 0);
    196         }
    197        
    198         if(streamip == NULL) return NULL;
    199        
    200         streamurl = ostrcat(streamip, NULL, 0, 0);
    201         streamurl = ostrcat(streamurl, " playpath=", 1, 0);
    202         streamurl = ostrcat(streamurl, fid, 1, 0);
    203         if(swfUrl != NULL)
    204         {
    205                 streamurl = ostrcat(streamurl, " swfUrl=", 1, 0);
    206                 streamurl = ostrcat(streamurl, swfUrl, 1, 0);
    207         }
    208         streamurl = ostrcat(streamurl, " pageUrl=http://", 1, 0);
    209         streamurl = ostrcat(streamurl, tmphost, 1, 0);
    210         streamurl = ostrcat(streamurl, "/ live=true", 1, 0);
    211         streamurl = ostrcat(streamurl, " swfVfy=true", 1, 0);
    212         streamurl = ostrcat(streamurl, " timeout=60", 1, 0);
    213 
    214         printf("streamurl: %s\n",streamurl);
    215         return streamurl;
    216 }
    217 
    218 char* streamliveold(char* tmpurl1, char* tmppath1, int www, int incount)
    219 {
    220         debug(99, "tmpurl %s", tmpurl1);
    221         debug(99, "tmppath %s", tmppath1);
    222         debug(99, "www %d", www);
    223         debug(99, "incount %d", incount);
    224 
    225         char* tmpurl = ostrcat(tmpurl1, NULL, 0, 0);
    226         char* tmppath = ostrcat(tmppath1, NULL, 0, 0);
    227 
    228 
    229         int debuglevel = getconfigint("debuglevel", NULL);
    230         char* ip = NULL, *pos = NULL, *path = NULL, *fid = NULL, *streamurl = NULL, *tmpstr = NULL, *tmpstr1 = NULL, *tmpstr2 = NULL, *channelid = NULL;
    231         char* streamurl1 = NULL, *streamport = NULL, *streamip = NULL, *streamid = NULL, *tmphost = NULL, *title = NULL, *pic = NULL;
     9        char* streamurl = NULL, *tmpstr = NULL, *tmpstr1 = NULL;
    23210        char* streamer = NULL;
    23311        char* playpath = NULL;
    234         char* swfUrl = NULL;
     12        char* swfurl = NULL;
    23513        char* app = NULL;
    236         char* url = NULL;
    237         char* Cookie1 = NULL;
    238         char* tmpstr4 = NULL;
    239         char* tmpstr5 = NULL;
    24014        char* token = NULL;
    241         char* typemsg = NULL;
    242         char* referer = NULL;
    243         char* send = NULL;
    244         char* tmpstr3 = NULL;
    245         char* pageurlid = NULL;
    246         char* pageurl = NULL;
    247         char* cmd = NULL;
    248         char* urlid = NULL;
    249         char* tokenid = NULL;
    250 
    251                                 tmpstr = gethttps(tmpurl, NULL, NULL, NULL, NULL, NULL, 1);
    252 ///////                                 
    253                                 // fix espn
    254                                 referer = ostrcat(tmpurl, NULL, 0, 0);
    255                                 fid = string_resub("fid=\"", "\"", tmpstr, 0);
    256                                 if(fid == NULL)
    257                                         fid = string_resub("fid='", "'", tmpstr, 0);
    258 
    259                                 debug(99, "tvtoast3_tmpstr%d fid: %s", incount, fid);
    260 
    261                                 titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast4_tmpstr", oitoa(incount), tmphost, tmppath, tmpstr);
    262                                 free(tmppath), tmppath = NULL;
    263 //                              free(tmphost), tmphost = NULL;
    264                                 free(tmpurl), tmpurl = NULL;
    265 
    266                                 if(ostrstr(tmpstr, "rtmp://") != NULL || ostrstr(tmpstr, "rtmpe://") != NULL)
    267                                 {
    268                                         streamurl = getrtmp(tmpstr, tmphost, tmppath, &typemsg, fid, incount);
    269                                 }
    270 
    271                                 if(www == 1)
    272                                 {
    273 printf("tvtoast4_tmpstr%d: if www\n", incount);
    274                                         if(ostrstr(tmpstr, "Moved Permanently") != NULL && ostrstr(tmphost, "www.") == NULL)
    275                                         {
    276 printf("tvtoast4_tmpstr%d: if www if Moved Permanently\n", incount);
    277                                                 printf("found Moved Permanently\n");
    278                                                 free(tmpstr), tmpstr = NULL;
    279                                                 tmpstr = ostrcat("www.", tmphost, 0, 0);
    280                                                 free(tmphost), tmphost = NULL;
    281                                                 tmphost = ostrcat(tmpstr, NULL, 0, 0);
    282                                         }
    283                                         else
    284                                         {
    285 printf("tvtoast4_tmpstr%d: if www else Moved Permanently\n", incount);
    286 
    287                                                 if(fid == NULL)
    288                                                         fid = string_resub("fid='", "'", tmpstr, 0);
    289                                                 free(tmppath), tmppath = NULL;
    290                                                 free(tmphost), tmphost = NULL;
    291                                                 tmpurl = string_resub("src='", "'", tmpstr, 0);
    292 //                                              if(tmpurl == NULL)
    293 //                                                      tmpurl = string_resub("src=\"", "\"", tmpstr, 0);
    294                                                        
    295                                                 free(tmpstr), tmpstr = NULL;                                           
    296                                                 tmphost = string_resub("http://", "/", tmpurl, 0);             
    297                                                 tmppath = string_replace_all(tmphost, "", tmpurl, 0);
    298                                                 tmppath = string_replace_all("http://", "", tmppath, 1);
    299 
    300                                                 free(send), send = NULL;
    301 ///////
    302                                                 tmpstr = gethttps(tmpurl, NULL, NULL, NULL, NULL, NULL, 1);
    303 ///////
    304 
    305                                                 titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast5_tmpstr", oitoa(incount), tmphost, tmppath, tmpstr);
    306                 //                              free(tmppath), tmppath = NULL;
    307                 //                              free(tmphost), tmphost = NULL;
    308                 //                              free(tmpurl), tmpurl = NULL;
    309 
    310                                                 streamer = string_resub("streamer: \"", "\"", tmpstr, 0);
    311                                                 debug(99, "tvtoast5_tmpstr%d streamer: %s", incount, streamer);
    312                                                 debug(99, "tvtoast5_tmpstr%d fid: %s", incount, fid);
    313 
    314                                                 if(streamer == NULL)// && fid == NULL)
    315                                                 {
    316                                                         printf("streamer and fid null\n");
    317                                                
    318                                                         tmpurl = string_resub("src='", "'", tmpstr, 0);
    319                                                         if(tmpurl == NULL || ostrncmp("http://", tmpurl, 7))
    320                                                                 tmpurl = string_resub("src=\"", "\"", tmpstr, 0);
    321                                                         if(tmpurl == NULL || ostrncmp("http://", tmpurl, 7))
    322                                                                 tmpurl = string_resub("var url = '", "'", tmpstr, 0);
    323 
    324                                                         debug(99, "tvtoast5_tmpstr%d tmpurl=%s", tmpurl)
    325 
    326                                                         free(tmpstr), tmpstr = NULL;                                           
    327                                                         tmphost = string_resub("http://", "/", tmpurl, 0);             
    328                                                         tmppath = string_replace_all(tmphost, "", tmpurl, 0);
    329                                                         tmppath = string_replace_all("http://", "", tmppath, 1);
    330 
    331                                                         free(send), send = NULL;
    332 ///////
    333                                                 tmpstr = gethttps(tmpurl, NULL, NULL, NULL, NULL, NULL, 1);
    334 ///////
    335                                                         titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast6_tmpstr", oitoa(incount), tmphost, tmppath, tmpstr);
    336                         //                              free(tmppath), tmppath = NULL;
    337                         //                              free(tmphost), tmphost = NULL;
    338                                                         free(tmpurl), tmpurl = NULL;
    339 
    340 /////////////////////////
    341 
    342                                                         swfUrl = string_resub("<script type=\"text/javascript\" src=\"", "\"", tmpstr, 0);
    343                                                         fid = string_resub("'file':               '", "',", tmpstr, 0);
    344 
    345                                                         debug(99, "tvtoast6_tmpstr%d swfUrl=%s", swfUrl)
    346                                                         debug(99, "tvtoast6_tmpstr%d fid=%s", fid)
    347 
    348                                                         if(ostrstr(tmpstr, "rtmp://") != NULL)
    349                                                         {
    350                                                                 streamurl = getrtmp(tmpstr, tmphost, tmppath, &typemsg, fid, incount);
    351                                                                 debug(99, "tvtoast6_tmpstr%d set streamurl=%s", streamurl)
    352 
    353                                                                 //rtmp://37.220.32.52:443/liverepeater playpath=stream3 swfUrl=http://static.surk.tv/player.swf pageUrl=http://1cdn.filotv.pw/stream3.html token=#atd%#$ZH
    354                                                         }
    355                                                 }
    356 
    357                                                 debug(99, "tvtoast6_tmpstr%d streamurl=%s", streamurl)
    358                                                
    359                                                 if(streamurl == NULL)
    360                                                 {
    361                                                         streamer = string_replace_all("\\", "", streamer, 1);
    362                                                
    363                                                         playpath = string_resub("file: \"", "\"", tmpstr, 0);
    364                                                         playpath = string_replace_all(".flv", "", playpath, 1);
    365                                                
    366                                                         swfUrl = string_resub("type: 'flash', src: '", "'", tmpstr, 0);
    367                                                         swfUrl = string_replace_all("//", "http://", swfUrl, 1);
    368 
    369                                         //              pageUrl = ostrcat("http://www.ilive.to", NULL, 0, 0);
    370                                                         printf("streamer: %s\n", streamer);
    371                                                         app = string_resub("/edge/", "\0", streamer, 0);
    372                                                        
    373                                                         app = oregex(".*(/edge/) .*", streamer);
    374                                                
    375                                                         app = ostrcat(streamer, NULL, 0, 0);
    376                                                         url = string_resub("rtmp://", "/", app, 0);             
    377                                                         app = string_replace(url, "", app, 0);
    378                                                         app = string_replace_all("rtmp:///", "", app, 1);
    379                                                 }
    380 
    381                                                 while(ostrstr(tmpstr, "Set-Cookie:") != NULL)
    382                                                 {
    383                                                         tmpstr4 = string_resub("Set-Cookie:", ";", tmpstr, 0);
    384                                                        
    385                                                         if(tmpstr4 != NULL)
    386                                                         {
    387                                                                 tmpstr5 = ostrcat("Set-Cookie: ", tmpstr4, 0, 0);
    388                                                                 tmpstr5 = ostrcat(tmpstr5, ";", 1, 0);
    389                                                                 tmpstr = string_replace(tmpstr5, "", tmpstr, 1);
    390                                                                 tmpstr4 = ostrcat(tmpstr4, "; ", 1, 0);
    391                                                                 Cookie1 = ostrcat(Cookie1, tmpstr4, 1, 0);
    392                                                         }
    393                                                         free(tmpstr4), tmpstr4 = NULL;
    394                                                         free(tmpstr5), tmpstr5 = NULL;
    395                                                 }
    396 
    397                                                 debug(99, "tvtoast6_tmpstr%d check getJSON")
    398 
    399                                                 if(ostrstr(tmpstr, "getJSON(\"") != NULL)
    400                                                 {
    401                                                 debug(99, "tvtoast6_tmpstr%d found getJSON")
    402 
    403                                                         printf("found getJSON\n");
    404                                                         tmpurl = string_resub("getJSON(\"", "\"", tmpstr, 0);
    405                                                         tmpurl = string_replace_all("//", "http://", tmpurl, 1);
    406 
    407                                                         printf("tmpurl: %s\n", tmpurl);
    408                                                         tmphost = string_resub("http://", "/", tmpurl, 0);                     
    409                                                         tmppath = string_replace_all(tmphost, "", tmpurl, 0);
    410                                                         tmppath = string_replace_all("http://", "", tmppath, 1);
    411                                                         free(fid), fid = NULL;
    412                                                         free(tmpstr), tmpstr = NULL;
    413 
    414                                                         free(send), send = NULL;
     15        char* tmpurl = NULL;
     16        char* host = NULL;
     17        char* path = NULL;
     18
     19        tmpstr = gethttps(link, NULL, NULL, NULL, NULL, NULL, 1);
     20        free(host), host = NULL;
     21        free(path), path = NULL;
     22        host = string_resub("http://", "/", link, 0);
     23        path = string_replace_all(host, "", link, 0);
     24        path = string_replace_all("http://", "", path, 1);
     25        path = string_replace_all(" ", "%20", path, 1);
     26        titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast4_tmpstr", oitoa(incount), host, path, tmpstr);
     27
     28        tmpurl = string_resub("src='", "'", tmpstr, 0);
     29        free(tmpstr), tmpstr = NULL;                                           
     30       
    41531        tmpstr = gethttps(tmpurl, NULL, NULL, NULL, NULL, NULL, 1);
    416 
    417                                                         titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast6_tmpstr", oitoa(incount), tmphost, tmppath, tmpstr);
    418                         //                              free(tmppath), tmppath = NULL;
    419                                                         free(tmphost), tmphost = NULL;
    420                 //                                      free(tmpurl), tmpurl = NULL;
    421 
    422 
    423                                                         token = string_resub("{\"token\":\"", "\"", tmpstr, 0);
    424 
    425                                                         streamurl1 = ostrcat(streamer, " app=", 0, 0);
    426                                                         streamurl1 = ostrcat(streamurl1, app, 1, 0);
    427                                                         streamurl1 = ostrcat(streamurl1, " playpath=", 1, 0);
    428                                                         streamurl1 = ostrcat(streamurl1, playpath, 1, 0);
    429                                                         streamurl1 = ostrcat(streamurl1, " swfUrl=", 1, 0);
    430                                                         streamurl1 = ostrcat(streamurl1, swfUrl, 1, 0);
    431                                                         streamurl1 = ostrcat(streamurl1, " live=1", 1, 0);
    432                                                         streamurl1 = ostrcat(streamurl1, " timeout=15", 1, 0);
    433                                                         streamurl1 = ostrcat(streamurl1, " token=", 1, 0);
    434                                                         streamurl1 = ostrcat(streamurl1, token, 1, 0);
    435 //                                                      streamurl1 = ostrcat(streamurl1, " pageUrl=http://", 1, 0);
    436 //                                                      streamurl1 = ostrcat(streamurl1, tmphost, 1, 0);
    437                                                         streamurl1 = ostrcat(streamurl1, " pageUrl=", 1, 0);
    438                                                         streamurl1 = ostrcat(streamurl1, tmpurl, 1, 0);
    439                                                         typemsg = ostrcat(tmphost, NULL, 0, 0);
    440                                                 }
    441                                                 else if(fid != NULL)
    442                                                 {
    443                                                         printf("found fid: %s\n", fid);
    444                                                         tmpurl = string_resub("src=\"", "'", tmpstr, 0);
    445 
    446                                                         tmphost = string_resub("http://", "/", tmpurl, 0);                     
    447                                                         tmppath = string_replace_all(tmphost, "", tmpurl, 0);
    448                                                         tmppath = string_replace_all("http://", "", tmppath, 1);
    449                                                         tmppath = ostrcat(tmppath, fid, 1, 0);
    450 
    451                                                         //free(fid), fid = NULL;
    452                                                         free(tmpstr), tmpstr = NULL;
    453                                                 }
    454                                                 else
    455                                                 {
    456                                                         printf("found no fid: %s\n", fid);
    457                                                         streamurl1 = string_resub("streamer: \"", "\"", tmpstr, 0);
    458                                                         if(streamurl1 != NULL)
    459                                                                 streamurl1 = string_replace_all("\\", "", streamurl1, 1);
    460 
    461                                                         if(streamurl1 == NULL) 
    462                                                         {                               
    463                                                                 free(tmppath), tmppath = NULL;
    464                                                                 free(tmphost), tmphost = NULL;
    465                                                                 free(tmpurl), tmpurl = NULL;
    466                                                                 tmpurl = string_resub("var url = '", "'", tmpstr, 0);
    467 
    468                                                                 if(tmpurl == NULL)
    469                                                                         tmpurl = string_resub("src='", "'", tmpstr, 0);
    470                                                                 if(tmpurl == NULL)
    471                                                                         tmpurl = string_resub("src=\"", "\"", tmpstr, 0);
    472                                                                
    473                                                                 if(ostrstr(tmpstr, "<h1>This channel can only work in") != NULL)
    474                                                                         referer = string_resub("<h1>This channel can only work in <a href='", "'", tmpstr, 0);
    475 
    476                                                                 free(tmpstr), tmpstr = NULL;           
    477                                                                 tmphost = string_resub("http://", "/", tmpurl, 0);
    478                                                                 tmppath = string_replace_all(tmphost, "", tmpurl, 0);
    479                                                                 tmppath = string_replace_all("http://", "", tmppath, 1);
    480 
    481                                                                 free(referer), referer = NULL;
    482 
     32        free(host), host = NULL;
     33        free(path), path = NULL;
     34        host = string_resub("http://", "/", tmpurl, 0);
     35        path = string_replace_all(host, "", tmpurl, 0);
     36        path = string_replace_all("http://", "", path, 1);
     37        path = string_replace_all(" ", "%20", path, 1);
     38        titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast5_tmpstr", oitoa(incount), host, path, tmpstr);
     39       
     40        streamer = string_resub("streamer: \"", "\"", tmpstr, 0);
     41        streamer = string_replace_all("\\", "", streamer, 1);
     42        debug(99, "tvtoast5_tmpstr%d streamer=%s", incount, streamer)
     43
     44        playpath = string_resub("file: \"", "\"", tmpstr, 0);
     45        playpath = string_replace_all(".flv", "", playpath, 1);
     46        debug(99, "tvtoast5_tmpstr%d playpath=%s", incount, playpath)
     47
     48        swfurl = string_resub("type: 'flash', src: '", "'", tmpstr, 0);
     49        swfurl = string_replace_all("//", "http://", swfurl, 1);
     50        debug(99, "tvtoast5_tmpstr%d swfurl=%s", incount, swfurl)
     51
     52        app = ostrcat(streamer, NULL, 0, 0);
     53        tmpstr1 = string_resub("rtmp://", "/", app, 0);
     54        app = string_replace(tmpstr1, "", app, 0);
     55        free(tmpstr1), tmpstr1 = NULL;
     56        app = string_replace_all("rtmp:///", "", app, 1);
     57        debug(99, "tvtoast5_tmpstr%d app5=%s", incount, app)
     58
     59        tmpurl = string_resub("getJSON(\"", "\"", tmpstr, 0);
     60        tmpurl = string_replace_all("//", "http://", tmpurl, 1);
     61        free(tmpstr), tmpstr = NULL;
    48362
    48463        tmpstr = gethttps(tmpurl, NULL, NULL, NULL, NULL, NULL, 1);
    485                                                                 titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast7_tmpstr", oitoa(incount), tmphost, tmppath, tmpstr);
    486                                 //                              free(tmppath), tmppath = NULL;
    487                                 //                              free(tmphost), tmphost = NULL;
    488                                                                 free(tmpurl), tmpurl = NULL;
    489 
    490 
    491                                                         }
    492 
    493                                                         streamurl1 = string_resub("streamer: \"", "\"", tmpurl, 0);
    494                                                 }
    495                                         }
    496                                 }
    497         debug(99, "streamer %s", streamer);
    498         debug(99, "streamurl %s", streamurl);
    499         debug(99, "streamurl1 %s", streamurl1);
    500         return streamurl1;
    501 }
    502 
    503 char* streamlive(char* tmpurl1, char* tmppath1, char* referer1, int www, int incount)
    504 {
    505         debug(99, "tmpurl %s", tmpurl1);
    506         debug(99, "tmppath %s", tmppath1);
    507         debug(99, "www %d", www);
    508         debug(99, "incount %d", incount);
    509 
    510         char* tmpurl = ostrcat(tmpurl1, NULL, 0, 0);
    511         char* tmppath = ostrcat(tmppath1, NULL, 0, 0);
    512 
    513 
    514         int debuglevel = getconfigint("debuglevel", NULL);
    515         char* ip = NULL, *pos = NULL, *path = NULL, *fid = NULL, *streamurl = NULL, *tmpstr = NULL, *tmpstr1 = NULL, *tmpstr2 = NULL, *channelid = NULL;
    516         char* streamurl1 = NULL, *streamport = NULL, *streamip = NULL, *streamid = NULL, *tmphost = NULL, *title = NULL, *pic = NULL;
    517         char* streamer = NULL;
    518         char* playpath = NULL;
    519         char* swfUrl = NULL;
    520         char* app = NULL;
    521         char* url = NULL;
    522         char* Cookie1 = NULL;
    523         char* tmpstr4 = NULL;
    524         char* tmpstr5 = NULL;
    525         char* token = NULL;
    526         char* typemsg = NULL;
    527         char* referer = NULL;
    528         char* send = NULL;
    529         char* tmpstr3 = NULL;
    530         char* pageurlid = NULL;
    531         char* pageurl = NULL;
    532         char* cmd = NULL;
    533         char* urlid = NULL;
    534         char* tokenid = NULL;
    535 
    536                                 tmpstr = gethttps(tmpurl, NULL, NULL, NULL, NULL, NULL, 1);
    537 ///////                                 
    538                                 // fix espn
    539                                 referer = ostrcat(tmpurl, NULL, 0, 0);
    540                                 fid = string_resub("fid=\"", "\"", tmpstr, 0);
    541                                 if(fid == NULL)
    542                                         fid = string_resub("fid='", "'", tmpstr, 0);
    543 
    544                                 debug(99, "tvtoast3_tmpstr%d fid: %s", incount, fid);
    545 
    546                                 titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast4_tmpstr", oitoa(incount), tmphost, tmppath, tmpstr);
    547                                 free(tmppath), tmppath = NULL;
    548 //                              free(tmphost), tmphost = NULL;
    549                                 free(tmpurl), tmpurl = NULL;
    550 
    551                                 if(ostrstr(tmpstr, "rtmp://") != NULL || ostrstr(tmpstr, "rtmpe://") != NULL)
    552                                 {
    553                                         streamurl = getrtmp(tmpstr, tmphost, tmppath, &typemsg, fid, incount);
    554                                 }
    555 
    556                                 if(www == 1)
    557                                 {
    558 printf("tvtoast4_tmpstr%d: if www\n", incount);
    559                                         if(ostrstr(tmpstr, "Moved Permanently") != NULL && ostrstr(tmphost, "www.") == NULL)
    560                                         {
    561 printf("tvtoast4_tmpstr%d: if www if Moved Permanently\n", incount);
    562                                                 printf("found Moved Permanently\n");
    563                                                 free(tmpstr), tmpstr = NULL;
    564                                                 tmpstr = ostrcat("www.", tmphost, 0, 0);
    565                                                 free(tmphost), tmphost = NULL;
    566                                                 tmphost = ostrcat(tmpstr, NULL, 0, 0);
    567                                         }
    568                                         else
    569                                         {
    570 printf("tvtoast4_tmpstr%d: if www else Moved Permanently\n", incount);
    571 
    572                                                 if(fid == NULL)
    573                                                         fid = string_resub("fid='", "'", tmpstr, 0);
    574                                                 free(tmppath), tmppath = NULL;
    575                                                 free(tmphost), tmphost = NULL;
    576                                                 tmpurl = string_resub("src='", "'", tmpstr, 0);
    577 //                                              if(tmpurl == NULL)
    578 //                                                      tmpurl = string_resub("src=\"", "\"", tmpstr, 0);
    579                                                        
    580                                                 free(tmpstr), tmpstr = NULL;                                           
    581                                                 tmphost = string_resub("http://", "/", tmpurl, 0);             
    582                                                 tmppath = string_replace_all(tmphost, "", tmpurl, 0);
    583                                                 tmppath = string_replace_all("http://", "", tmppath, 1);
    584 
    585                                                 free(send), send = NULL;
    586 ///////
    587                                                 tmpstr = gethttps(tmpurl, NULL, NULL, NULL, NULL, NULL, 1);
    588 ///////
    589 
    590                                                 titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast5_tmpstr", oitoa(incount), tmphost, tmppath, tmpstr);
    591                 //                              free(tmppath), tmppath = NULL;
    592                 //                              free(tmphost), tmphost = NULL;
    593                 //                              free(tmpurl), tmpurl = NULL;
    594 
    595                                                 streamer = string_resub("streamer: \"", "\"", tmpstr, 0);
    596                                                 debug(99, "tvtoast5_tmpstr%d streamer: %s", incount, streamer);
    597                                                 debug(99, "tvtoast5_tmpstr%d fid: %s", incount, fid);
    598 
    599                                                 if(streamer == NULL)// && fid == NULL)
    600                                                 {
    601                                                         printf("streamer and fid null\n");
    602                                                
    603                                                         tmpurl = string_resub("src='", "'", tmpstr, 0);
    604                                                         if(tmpurl == NULL || ostrncmp("http://", tmpurl, 7))
    605                                                                 tmpurl = string_resub("src=\"", "\"", tmpstr, 0);
    606                                                         if(tmpurl == NULL || ostrncmp("http://", tmpurl, 7))
    607                                                                 tmpurl = string_resub("var url = '", "'", tmpstr, 0);
    608 
    609                                                         debug(99, "tvtoast5_tmpstr%d tmpurl=%s", tmpurl)
    610 
    611                                                         free(tmpstr), tmpstr = NULL;                                           
    612                                                         tmphost = string_resub("http://", "/", tmpurl, 0);             
    613                                                         tmppath = string_replace_all(tmphost, "", tmpurl, 0);
    614                                                         tmppath = string_replace_all("http://", "", tmppath, 1);
    615 
    616                                                         free(send), send = NULL;
    617 ///////
    618                                                 tmpstr = gethttps(tmpurl, NULL, NULL, NULL, NULL, NULL, 1);
    619 ///////
    620                                                         titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast6_tmpstr", oitoa(incount), tmphost, tmppath, tmpstr);
    621                         //                              free(tmppath), tmppath = NULL;
    622                         //                              free(tmphost), tmphost = NULL;
    623                                                         free(tmpurl), tmpurl = NULL;
    624 
    625 /////////////////////////
    626 
    627                                                         swfUrl = string_resub("<script type=\"text/javascript\" src=\"", "\"", tmpstr, 0);
    628                                                         fid = string_resub("'file':               '", "',", tmpstr, 0);
    629 
    630                                                         debug(99, "tvtoast6_tmpstr%d swfUrl=%s", swfUrl)
    631                                                         debug(99, "tvtoast6_tmpstr%d fid=%s", fid)
    632 
    633                                                         if(ostrstr(tmpstr, "rtmp://") != NULL)
    634                                                         {
    635                                                                 streamurl = getrtmp(tmpstr, tmphost, tmppath, &typemsg, fid, incount);
    636                                                                 debug(99, "tvtoast6_tmpstr%d set streamurl=%s", streamurl)
    637 
    638                                                                 //rtmp://37.220.32.52:443/liverepeater playpath=stream3 swfUrl=http://static.surk.tv/player.swf pageUrl=http://1cdn.filotv.pw/stream3.html token=#atd%#$ZH
    639                                                         }
    640                                                 }
    641 
    642                                                 debug(99, "tvtoast6_tmpstr%d streamurl=%s", streamurl)
    643                                                
    644                                                 if(streamurl == NULL)
    645                                                 {
    646                                                         streamer = string_replace_all("\\", "", streamer, 1);
    647                                                
    648                                                         playpath = string_resub("file: \"", "\"", tmpstr, 0);
    649                                                         playpath = string_replace_all(".flv", "", playpath, 1);
    650                                                
    651                                                         swfUrl = string_resub("type: 'flash', src: '", "'", tmpstr, 0);
    652                                                         swfUrl = string_replace_all("//", "http://", swfUrl, 1);
    653 
    654                                         //              pageUrl = ostrcat("http://www.ilive.to", NULL, 0, 0);
    655                                                         printf("streamer: %s\n", streamer);
    656                                                         app = string_resub("/edge/", "\0", streamer, 0);
    657                                                        
    658                                                         app = oregex(".*(/edge/) .*", streamer);
    659                                                
    660                                                         app = ostrcat(streamer, NULL, 0, 0);
    661                                                         url = string_resub("rtmp://", "/", app, 0);             
    662                                                         app = string_replace(url, "", app, 0);
    663                                                         app = string_replace_all("rtmp:///", "", app, 1);
    664                                                 }
    665 
    666                                                 while(ostrstr(tmpstr, "Set-Cookie:") != NULL)
    667                                                 {
    668                                                         tmpstr4 = string_resub("Set-Cookie:", ";", tmpstr, 0);
    669                                                        
    670                                                         if(tmpstr4 != NULL)
    671                                                         {
    672                                                                 tmpstr5 = ostrcat("Set-Cookie: ", tmpstr4, 0, 0);
    673                                                                 tmpstr5 = ostrcat(tmpstr5, ";", 1, 0);
    674                                                                 tmpstr = string_replace(tmpstr5, "", tmpstr, 1);
    675                                                                 tmpstr4 = ostrcat(tmpstr4, "; ", 1, 0);
    676                                                                 Cookie1 = ostrcat(Cookie1, tmpstr4, 1, 0);
    677                                                         }
    678                                                         free(tmpstr4), tmpstr4 = NULL;
    679                                                         free(tmpstr5), tmpstr5 = NULL;
    680                                                 }
    681 
    682                                                 debug(99, "tvtoast6_tmpstr%d check getJSON")
    683 
    684                                                 if(ostrstr(tmpstr, "getJSON(\"") != NULL)
    685                                                 {
    686                                                 debug(99, "tvtoast6_tmpstr%d found getJSON")
    687 
    688                                                         printf("found getJSON\n");
    689                                                         tmpurl = string_resub("getJSON(\"", "\"", tmpstr, 0);
    690                                                         tmpurl = string_replace_all("//", "http://", tmpurl, 1);
    691 
    692                                                         printf("tmpurl: %s\n", tmpurl);
    693                                                         tmphost = string_resub("http://", "/", tmpurl, 0);                     
    694                                                         tmppath = string_replace_all(tmphost, "", tmpurl, 0);
    695                                                         tmppath = string_replace_all("http://", "", tmppath, 1);
    696                                                         free(fid), fid = NULL;
    697                                                         free(tmpstr), tmpstr = NULL;
    698 
    699                                                         free(send), send = NULL;
    700         tmpstr = gethttps(tmpurl, NULL, NULL, NULL, NULL, NULL, 1);
    701 
    702                                                         titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast6_tmpstr", oitoa(incount), tmphost, tmppath, tmpstr);
    703                         //                              free(tmppath), tmppath = NULL;
    704                                                         free(tmphost), tmphost = NULL;
    705                 //                                      free(tmpurl), tmpurl = NULL;
    706 
    707 
    708                                                         token = string_resub("{\"token\":\"", "\"", tmpstr, 0);
    709 
    710                                                         streamurl1 = ostrcat(streamer, " app=", 0, 0);
    711                                                         streamurl1 = ostrcat(streamurl1, app, 1, 0);
    712                                                         streamurl1 = ostrcat(streamurl1, " playpath=", 1, 0);
    713                                                         streamurl1 = ostrcat(streamurl1, playpath, 1, 0);
    714                                                         streamurl1 = ostrcat(streamurl1, " swfUrl=", 1, 0);
    715                                                         streamurl1 = ostrcat(streamurl1, swfUrl, 1, 0);
    716                                                         streamurl1 = ostrcat(streamurl1, " live=1", 1, 0);
    717                                                         streamurl1 = ostrcat(streamurl1, " timeout=15", 1, 0);
    718                                                         streamurl1 = ostrcat(streamurl1, " token=", 1, 0);
    719                                                         streamurl1 = ostrcat(streamurl1, token, 1, 0);
    720 //                                                      streamurl1 = ostrcat(streamurl1, " pageUrl=http://", 1, 0);
    721 //                                                      streamurl1 = ostrcat(streamurl1, tmphost, 1, 0);
    722                                                         streamurl1 = ostrcat(streamurl1, " pageUrl=", 1, 0);
    723                                                         streamurl1 = ostrcat(streamurl1, tmpurl, 1, 0);
    724                                                         typemsg = ostrcat(tmphost, NULL, 0, 0);
    725                                                 }
    726                                                 else if(fid != NULL)
    727                                                 {
    728                                                         printf("found fid: %s\n", fid);
    729                                                         tmpurl = string_resub("src=\"", "'", tmpstr, 0);
    730 
    731                                                         tmphost = string_resub("http://", "/", tmpurl, 0);                     
    732                                                         tmppath = string_replace_all(tmphost, "", tmpurl, 0);
    733                                                         tmppath = string_replace_all("http://", "", tmppath, 1);
    734                                                         tmppath = ostrcat(tmppath, fid, 1, 0);
    735 
    736                                                         //free(fid), fid = NULL;
    737                                                         free(tmpstr), tmpstr = NULL;
    738                                                 }
    739                                                 else
    740                                                 {
    741                                                         printf("found no fid: %s\n", fid);
    742                                                         streamurl1 = string_resub("streamer: \"", "\"", tmpstr, 0);
    743                                                         if(streamurl1 != NULL)
    744                                                                 streamurl1 = string_replace_all("\\", "", streamurl1, 1);
    745 
    746                                                         if(streamurl1 == NULL) 
    747                                                         {                               
    748                                                                 free(tmppath), tmppath = NULL;
    749                                                                 free(tmphost), tmphost = NULL;
    750                                                                 free(tmpurl), tmpurl = NULL;
    751                                                                 tmpurl = string_resub("var url = '", "'", tmpstr, 0);
    752 
    753                                                                 if(tmpurl == NULL)
    754                                                                         tmpurl = string_resub("src='", "'", tmpstr, 0);
    755                                                                 if(tmpurl == NULL)
    756                                                                         tmpurl = string_resub("src=\"", "\"", tmpstr, 0);
    757                                                                
    758                                                                 if(ostrstr(tmpstr, "<h1>This channel can only work in") != NULL)
    759                                                                         referer = string_resub("<h1>This channel can only work in <a href='", "'", tmpstr, 0);
    760 
    761                                                                 free(tmpstr), tmpstr = NULL;           
    762                                                                 tmphost = string_resub("http://", "/", tmpurl, 0);
    763                                                                 tmppath = string_replace_all(tmphost, "", tmpurl, 0);
    764                                                                 tmppath = string_replace_all("http://", "", tmppath, 1);
    765 
    766                                                                 free(referer), referer = NULL;
    767 
    768 
    769         tmpstr = gethttps(tmpurl, NULL, NULL, NULL, NULL, NULL, 1);
    770                                                                 titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast7_tmpstr", oitoa(incount), tmphost, tmppath, tmpstr);
    771                                 //                              free(tmppath), tmppath = NULL;
    772                                 //                              free(tmphost), tmphost = NULL;
    773                                                                 free(tmpurl), tmpurl = NULL;
    774 
    775 
    776                                                         }
    777 
    778                                                         streamurl1 = string_resub("streamer: \"", "\"", tmpurl, 0);
    779                                                 }
    780                                         }
    781                                 }
    782         debug(99, "streamer %s", streamer);
    783         debug(99, "streamurl %s", streamurl);
    784         debug(99, "streamurl1 %s", streamurl1);
    785         return streamurl1;
    786 }
    787 
    788 char* zerocast(char* tmpurl, char* tmppath, char* referer, int www, int incount)
    789 {
    790         debug(99, "tmpurl %s", tmpurl);
    791         debug(99, "tmppath %s", tmppath);
    792         debug(99, "referer %s", referer);
    793         debug(99, "www %d", www);
    794         debug(99, "incount %d", incount);
    795         char* streamurl = NULL;
     64        free(host), host = NULL;
     65        free(path), path = NULL;
     66        host = string_resub("http://", "/", tmpurl, 0);
     67        path = string_replace_all(host, "", tmpurl, 0);
     68        path = string_replace_all("http://", "", path, 1);
     69        path = string_replace_all(" ", "%20", path, 1);
     70        titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast6_tmpstr", oitoa(incount), host, path, tmpstr);
     71
     72        token = string_resub("{\"token\":\"", "\"", tmpstr, 0);
     73
     74        streamurl = ostrcat(streamer, " app=", 0, 0);
     75        streamurl = ostrcat(streamurl, app, 1, 0);
     76        streamurl = ostrcat(streamurl, " playpath=", 1, 0);
     77        streamurl = ostrcat(streamurl, playpath, 1, 0);
     78        streamurl = ostrcat(streamurl, " swfUrl=", 1, 0);
     79        streamurl = ostrcat(streamurl, swfurl, 1, 0);
     80        streamurl = ostrcat(streamurl, " live=1", 1, 0);
     81        streamurl = ostrcat(streamurl, " timeout=15", 1, 0);
     82        streamurl = ostrcat(streamurl, " token=", 1, 0);
     83        streamurl = ostrcat(streamurl, token, 1, 0);
     84        streamurl = ostrcat(streamurl, " pageUrl=", 1, 0);
     85        streamurl = ostrcat(streamurl, tmpurl, 1, 0);
     86
     87/*
     88        rtmp://163.172.8.19:1935/edge/_definst_/?xs=_we_Mzcxamx1aXJsamNzamVufDE0NDY5MDkxODF8OTUuOTEuNi4yNXw1NjNjYzM3ZGIxNTU1fGQzOTYwODlmYjQyOGViYjRhZGQ0YjU3NDgwODY1Zjk2Nzk5ZTE4OWU. app=edge/_definst_/?xs=_we_Mzcxamx1aXJsamNzamVufDE0NDY5MDkxODF8OTUuOTEuNi4yNXw1NjNjYzM3ZGIxNTU1fGQzOTYwODlmYjQyOGViYjRhZGQ0YjU3NDgwODY1Zjk2Nzk5ZTE4OWU. playpath=371jluirljcsjen swfUrl=http://www.streamlive.to/ads/embed/player_ilive_embed.swf live=1 timeout=15 token=Qb582083d22804a892ce37092f7f3d2d pageUrl=http://www.streamlive.to/server.php?id=1446822781
     89*/
     90
     91        free(streamer), streamer = NULL;
     92        free(app), app = NULL;
     93        free(playpath), playpath = NULL;
     94        free(swfurl), swfurl = NULL;
     95        free(token), token = NULL;
     96        free(host), host = NULL;
     97        free(path), path = NULL;
    79698
    79799        debug(99, "streamurl %s", streamurl);
     
    799101}
    800102
    801 char* usachannels(char* tmpurl, char* tmppath, char* referer, int www, int incount)
    802 {
    803         debug(99, "tmpurl %s", tmpurl);
    804         debug(99, "tmppath %s", tmppath);
    805         debug(99, "referer %s", referer);
    806         debug(99, "www %d", www);
    807         debug(99, "incount %d", incount);
     103char* zerocast(char* link, char* referer, int incount)
     104{
     105        debug(99, "zerocast(%d) link=%s referer=%s", incount, link, referer);
    808106        char* streamurl = NULL;
     107        char* host = NULL;
     108
     109        host = string_resub("http://", "/", link, 0);
     110        free(host), host = NULL;
    809111
    810112        debug(99, "streamurl %s", streamurl);
     
    812114}
    813115
    814 char* cricfree(char* tmpurl, char* tmphost, char* referer, int www, int incount)
    815 {
     116char* usachannels(char* link, char* referer, int incount)
     117{
     118        debug(99, "usachannels(%d) link=%s referer=%s", incount, link, referer);
     119        char* streamurl = NULL;
     120        char* host = NULL;
     121
     122        host = string_resub("http://", "/", link, 0);
     123        free(host), host = NULL;
     124
     125        debug(99, "streamurl %s", streamurl);
     126        return streamurl;
     127}
     128
     129char* cricfree(char* link, char* referer, int incount)
     130{
     131        debug(99, "cricfree(%d) link=%s referer=%s", incount, link, referer);
    816132        int debuglevel = getconfigint("debuglevel", NULL);
    817         debug(99, "tmpurl %s", tmpurl);
    818         debug(99, "tmphost %s", tmphost);
    819         debug(99, "referer %s", referer);
    820         debug(99, "www %d", www);
    821         debug(99, "incount %d", incount);
    822133
    823134        char* url = NULL;
     
    825136        char* streamurl = NULL;
    826137        char* tmpstr = NULL;
    827         char* tmplink = NULL;
    828138        char* fid = NULL;
    829139        char* width = NULL;
    830140        char* height = NULL;
    831141        char* pageurl = NULL;
    832 
    833         tmpstr = gethttps(tmpurl, NULL, NULL, NULL, NULL, referer, 1);
    834         titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast4_tmpstr", oitoa(incount), tmphost, NULL, tmpstr);
     142        char* swfurl = NULL;
     143        char* host = NULL;
     144        char* path = NULL;
     145
     146//      tmpstr = gethttps(link, NULL, NULL, NULL, NULL, referer, 1);
     147        tmpstr = gethttps(link, NULL, NULL, NULL, NULL, NULL, 1);
     148        host = string_resub("http://", "/", link, 0);
     149        path = string_replace_all(host, "", link, 0);
     150        path = string_replace_all("http://", "", path, 1);
     151        path = string_replace_all(" ", "%20", path, 1);
     152        titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast4_tmpstr", oitoa(incount), host, path, tmpstr);
    835153
    836154//<script type='text/javascript'>id='espnuk'; width='620'; height='490';</script><script type='text/javascript' src='http://theactionlive.com/livegamecr.js'></script>
     
    852170                height = string_resub("var height = '", "'", tmpstr, 0);
    853171
    854         debug(99, "fid: %s", fid);
    855         debug(99, "width: %s", width);
    856         debug(99, "height: %s", height);
    857         debug(99, "url: %s", url);
    858 
    859         tmpstr = gethttps(url, NULL, NULL, NULL, NULL, tmpurl, 1);
    860         titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast5_tmpstr", oitoa(incount), tmphost, NULL, tmpstr);
     172        debug(99, "fid=%s width=%s height=%s", fid, width, height);
     173
     174        tmpstr = gethttps(url, NULL, NULL, NULL, NULL, link, 1);
     175        free(host), host = NULL;
     176        free(path), path = NULL;
     177        host = string_resub("http://", "/", url, 0);
     178        path = string_replace_all(host, "", url, 0);
     179        path = string_replace_all("http://", "", path, 1);
     180        path = string_replace_all(" ", "%20", path, 1);
     181        titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast5_tmpstr", oitoa(incount), host, path, tmpstr);
     182
    861183        pageurl = string_resub("src=\"", "\"", tmpstr, 0);
    862184        pageurl = string_replace_all(" ", "", pageurl, 1);
     
    868190        pageurl = string_replace("'+stretching+'", "", pageurl, 1);
    869191
    870         debug(99, "pageurl: %s", pageurl);
    871         tmpstr = gethttps(pageurl, NULL, NULL, NULL, NULL, tmpurl, 1);
    872         titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast6_tmpstr", oitoa(incount), tmphost, NULL, tmpstr);
     192        tmpstr = gethttps(pageurl, NULL, NULL, NULL, NULL, link, 1);
     193        free(host), host = NULL;
     194        free(path), path = NULL;
     195        host = string_resub("http://", "/", pageurl, 0);
     196        path = string_replace_all(host, "", pageurl, 0);
     197        path = string_replace_all("http://", "", path, 1);
     198        path = string_replace_all(" ", "%20", path, 1);
     199        titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast6_tmpstr", oitoa(incount), host, path, tmpstr);
    873200
    874201        url = string_resub("file: \"", "\"", tmpstr, 0);
     
    882209                url = string_resub("src='", "'", tmpstr, 0);
    883210
    884                 debug(99, "url: %s", url);
    885                 debug(99, "fid: %s", fid);
    886                 debug(99, "width: %s", width);
    887                 debug(99, "height: %s", height);
     211                debug(99, "fid=%s url=%s", fid, url);
    888212
    889213                url = string_replace_all(" ", "", url, 1);
     
    897221                url = string_replace("+stretching+", "", url, 1);
    898222
    899                 debug(99, "url: %s", url);
    900                 tmpstr = gethttps(url, NULL, NULL, NULL, NULL, tmpurl, 1);
    901                 titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast7_tmpstr", oitoa(incount), tmphost, NULL, tmpstr);
     223                tmpstr = gethttps(url, NULL, NULL, NULL, NULL, link, 1);
     224                free(host), host = NULL;
     225                free(path), path = NULL;
     226                host = string_resub("http://", "/", url, 0);
     227                path = string_replace_all(host, "", url, 0);
     228                path = string_replace_all("http://", "", path, 1);
     229                path = string_replace_all(" ", "%20", path, 1);
     230                titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast7_tmpstr", oitoa(incount), host, path, tmpstr);
    902231
    903232//              url: http://biggestplayer.me/streamcrnoscrape.php?id=+id+&width=&height=,
     
    914243                url = string_replace("+stretching+", "", url, 1);
    915244
    916                 debug(99, "url: %s", url);
    917245                tmpstr = gethttps(url, NULL, NULL, NULL, NULL, pageurl, 1);
    918                 titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast8_tmpstr", oitoa(incount), tmphost, NULL, tmpstr);
     246                free(host), host = NULL;
     247                free(path), path = NULL;
     248                host = string_resub("http://", "/", url, 0);
     249                path = string_replace_all(host, "", url, 0);
     250                path = string_replace_all("http://", "", path, 1);
     251                path = string_replace_all(" ", "%20", path, 1);
     252                titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast8_tmpstr", oitoa(incount), host, path, tmpstr);
    919253                streamurl = string_resub("file: \"", "\"", tmpstr, 0);
     254/*
     255                http://178.18.31.52:8081/liverepeater/224731/playlist.m3u8?wmsAuthSign=c2VydmVyX3RpbWU9MTEvNi8yMDE1IDM6MDc6MDIgUE0maGFzaF92YWx1ZT1TUUJsM3JoVWNLKzIwVytTdVdRVThRPT0mdmFsaWRtaW51dGVzPTQ=
     256*/
    920257        }
    921258        else
     
    923260
    924261                token = string_resub("securetoken: \"", "\"", tmpstr, 0);
    925                 debug(99, "url: %s", url);
    926262                debug(99, "token: %s", token);
    927263
    928264                streamurl = ostrcat(streamurl, url, 1, 0);
    929265                streamurl = ostrcat(streamurl, " swfUrl=http://p.jwpcdn.com/6/11/jwplayer.flash.swf", 1, 0);
    930         //      streamurl = ostrcat(streamurl, swfUrl, 1, 0);
     266        //      streamurl = ostrcat(streamurl, swfurl, 1, 0);
    931267                streamurl = ostrcat(streamurl, " live=1", 1, 0);
    932268                streamurl = ostrcat(streamurl, " token=", 1, 0);
     
    936272                streamurl = ostrcat(streamurl, " pageUrl=", 1, 0);
    937273                streamurl = ostrcat(streamurl, pageurl, 1, 0);
     274/*
     275                rtmp://31.220.2.148/redirect/espnusa swfUrl=http://p.jwpcdn.com/6/11/jwplayer.flash.swf live=1 token=%Zrey(nKa@#Z timeout=14 swfVfy=1 pageUrl=http://yotv.co/embed.php?live=espnusa&vw=620&vh=490
     276                rtmp://31.220.2.148/redirect/espn2 swfUrl=http://p.jwpcdn.com/6/11/jwplayer.flash.swf live=1 token=%Zrey(nKa@#Z timeout=15 swfVfy=1 pageUrl=http://www.yotv.co/embed.php?live=espn2&vw=620&vh=490
     277                rtmp://31.220.2.148/redirect/tsnx2 swfUrl=http://p.jwpcdn.com/6/11/jwplayer.flash.swf live=1 token=%Zrey(nKa@#Z timeout=15 swfVfy=1 pageUrl=http://www.yotv.co/embed.php?live=tsnx2&vw=620&vh=490
     278*/
    938279        }
    939 /*
    940 
     280
     281        free(host), host = NULL;
     282        free(path), path = NULL;
     283        free(url), url = NULL;
     284        free(token), token = NULL;
     285        free(tmpstr), tmpstr = NULL;
     286        free(fid), fid = NULL;
     287        free(width), width = NULL;
     288        free(height), height = NULL;
     289        free(pageurl), pageurl = NULL;
     290        free(swfurl), swfurl = NULL;
    941291       
    942         streamurl = ostrcat(streamerl, " app=", 0, 0);
    943         streamurl = ostrcat(streamurl, app, 1, 0);
    944         streamurl = ostrcat(streamurl, " playpath=", 1, 0);
    945         streamurl = ostrcat(streamurl, playpath, 1, 0);
    946 
    947 rtmp://31.220.2.148/redirect/espnusa swfUrl=http://p.jwpcdn.com/6/11/jwplayer.flash.swf live=1 token=%Zrey(nKa@#Z timeout=14 swfVfy=1 pageUrl=http://yotv.co/embed.php?live=espnusa&vw=620&vh=490
    948 rtmp://31.220.2.148/redirect/espnusa
    949 swfUrl=http://p.jwpcdn.com/6/11/jwplayer.flash.swf
    950 live=1
    951 token=%Zrey(nKa@#Z
    952 timeout=14
    953 swfVfy=1
    954 pageUrl=http://yotv.co/embed.php?live=espnusa&vw=620&vh=490
    955 
    956 <script type="text/javascript">
    957     var playerInstance = jwplayer("myElement");
    958     playerInstance.setup({
    959     file: "rtmp://31.220.2.148/redirect/espnusa",
    960     aboutlink: "http://yotv.co",
    961     abouttext: "Yotv",
    962     skin: "glow",
    963     width: "620",
    964     height: "490",
    965     autostart: "true",
    966     repeat: "true",
    967     rtmp: {
    968            securetoken: "%Zrey(nKa@#Z"
    969        }
    970       });
    971 </script>
    972 */
    973 
    974292        debug(99, "streamurl %s", streamurl);
    975293        return streamurl;
     
    980298        debug(99, "link %s", link);
    981299        int debuglevel = getconfigint("debuglevel", NULL);
    982         char* ip = NULL, *pos = NULL, *path = NULL, *fid = NULL, *streamurl = NULL, *tmpstr = NULL, *tmpstr1 = NULL, *tmpstr2 = NULL, *channelid = NULL;
    983         char* tmppath = NULL, *streamurl1 = NULL, *tmpurl = NULL, *streamport = NULL, *streamip = NULL, *streamid = NULL, *tmphost = NULL, *title = NULL, *pic = NULL;
    984         char* streamer = NULL;
    985         char* playpath = NULL;
    986         char* swfUrl = NULL;
    987         char* app = NULL;
    988         char* url = NULL;
    989         char* Cookie1 = NULL;
    990         char* tmpstr4 = NULL;
    991         char* tmpstr5 = NULL;
    992         char* token = NULL;
     300        char* streamurl = NULL, *tmpstr = NULL, *tmpstr1 = NULL;
     301        char* title = NULL, *pic = NULL;
    993302        char* typemsg = NULL;
    994303        char* referer = NULL;
    995         char* send = NULL;
    996         char* tmpstr3 = NULL;
    997         char* pageurlid = NULL;
    998         char* pageurl = NULL;
    999         char* cmd = NULL;
    1000         char* urlid = NULL;
    1001         char* tokenid = NULL;
    1002 
    1003 
    1004 
    1005         ip = string_replace("http://", "", (char*)link, 0);
    1006 
    1007         if(ip != NULL)
    1008                 pos = strchr(ip, '/');
    1009         if(pos != NULL)
    1010         {
    1011                 pos[0] = '\0';
    1012                 path = pos + 1;
    1013         }
    1014        
    1015         system("rm -rf /var/usr/local/share/titan/plugins/tithek/tvtoast_*");
    1016 
    1017         char* tmplink = ostrcat(link, NULL, 0, 0);
    1018 
    1019         debug(99, "link: %s", tmplink);
    1020         tmpstr = gethttps(tmplink, NULL, NULL, NULL, NULL, NULL, 1);
    1021 //      tmpstr = gethttp(ip, path, 80, NULL, NULL, 10000, NULL, 0);
    1022         titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast1_tmpstr", "1", tmphost, tmppath, tmpstr);
    1023 
    1024         free(tmppath), tmppath = NULL;
    1025         free(tmphost), tmphost = NULL;
    1026         free(tmpurl), tmpurl = NULL;
    1027         free(tmpstr2), tmpstr2 = NULL;
    1028 
     304        char* host = NULL;
     305        char* path = NULL;
     306        char* url = NULL;
     307
     308        system("rm -rf /var/usr/local/share/titan/plugins/tithek/tvtoast*");
     309
     310        host = string_resub("http://", "/", link, 0);
     311        path = string_replace_all(host, "", link, 0);
     312        path = string_replace_all("http://", "", path, 1);
     313        path = string_replace_all(" ", "%20", path, 1);
     314        tmpstr = gethttps(link, NULL, NULL, NULL, NULL, NULL, 1);
     315        titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast1_tmpstr", "1", host, path, tmpstr);
    1029316
    1030317        tmpstr1 = string_resub("<ul class=\"player-top-links\">", "<div class=\"float-clear\"></div>", tmpstr, 0);
    1031         titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast2_tmpstr1", "1", tmphost, tmppath, tmpstr1);
    1032 
     318        titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast2_tmpstr_tmpstr1_resub", "1", host, path, tmpstr1);
     319        free(host), host = NULL;
     320        free(path), path = NULL;
     321                               
    1033322        free(tmpstr), tmpstr = NULL;
    1034323        printf("tmpstr1: %s\n",tmpstr1);
    1035324
    1036         int count = 0, i = 0, incount = 0, www = 1;     
     325        int count = 0, i = 0, incount = 0;     
    1037326        struct splitstr* ret1 = NULL;
    1038327        struct menulist* mlist = NULL, *mbox = NULL;
     
    1048337
    1049338                                referer = string_resub("<a href=\"", "\"", ret1[i].part, 0);
    1050                                 tmphost = string_resub("http://", "/", ret1[i].part, 0);
    1051                                 tmppath = string_resub("http://tvtoast.com/", "\"", ret1[i].part, 0);
    1052                                 tmppath = string_replace_all(" ", "%20", tmppath, 1);
    1053 
    1054 //                              tmpstr = gethttp(tmphost, tmppath, 80, NULL, NULL, 10000, NULL, 0);
    1055                                 tmplink = string_resub("<a href=\"", "\"", ret1[i].part, 0);
    1056                                 tmplink = string_replace_all(" ", "%20", tmplink, 1);
    1057                                 tmpstr = gethttps(tmplink, NULL, NULL, NULL, NULL, NULL, 1);
    1058 
    1059                                 titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast3_tmpstr", oitoa(incount), tmphost, tmppath, tmpstr);
    1060                                 free(tmppath), tmppath = NULL;
    1061                                 free(tmphost), tmphost = NULL;
    1062                                 free(tmpurl), tmpurl = NULL;
    1063 
    1064                                 if(ostrstr(tmpstr, "channel.php?a=") != NULL)
    1065                                         www = 0;
    1066 
    1067                                 tmpurl = string_resub("src=\"", "\"", tmpstr, 0);                               
    1068                                 tmphost = string_resub("http://", "/", tmpurl, 0);
    1069                                 typemsg = ostrcat(tmphost, NULL, 0, 0);
    1070                                                        
    1071                                 tmppath = string_replace_all(tmphost, "", tmpurl, 0);
    1072                                 tmppath = string_replace_all("http://", "", tmppath, 1);
    1073 
    1074                                 debug(99, "tmpurl%d tmpurl: %s", incount, tmpurl);
    1075 printf("test\n");
    1076                                 if(ostrstr(tmpurl, "www.streamlive.to") != NULL)
    1077                                         streamurl = streamlive(tmpurl, tmphost, tmplink, www, incount);
    1078 
    1079                                 if(ostrstr(tmpurl, "zerocast.tv") != NULL)
    1080                                         streamurl = zerocast(tmpurl, tmphost, tmplink, www, incount);
    1081 
    1082                                 if(ostrstr(tmpurl, "usachannels.tv") != NULL)
    1083                                         streamurl = usachannels(tmpurl, tmphost, tmplink, www, incount);
    1084 
    1085                                 if(ostrstr(tmpurl, "cricfree.sx") != NULL)
    1086                                         streamurl = cricfree(tmpurl, tmphost, tmplink, www, incount);
     339                                referer = string_replace_all(" ", "%20", referer, 1);
     340                                tmpstr = gethttps(referer, NULL, NULL, NULL, NULL, NULL, 1);
     341                                host = string_resub("http://", "/", referer, 0);
     342                                path = string_replace_all(host, "", referer, 0);
     343                                path = string_replace_all("http://", "", path, 1);
     344                                path = string_replace_all(" ", "%20", path, 1);
     345                                titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast3_tmpstr", oitoa(incount), host, path, tmpstr);
     346
     347                                url = string_resub("src=\"", "\"", tmpstr, 0);                         
     348                                typemsg = string_resub("http://", "/", url, 0);
     349
     350                                if(ostrstr(url, "www.streamlive.to") != NULL)
     351                                        streamurl = streamlive(url, referer, incount);
     352
     353                                if(ostrstr(url, "zerocast.tv") != NULL)
     354                                        streamurl = zerocast(url, referer, incount);
     355
     356                                if(ostrstr(url, "usachannels.tv") != NULL)
     357                                        streamurl = usachannels(url, referer, incount);
     358
     359                                if(ostrstr(url, "cricfree.sx") != NULL)
     360                                        streamurl = cricfree(url, referer, incount);
    1087361
    1088362                                debug(99, "streamurl%d streamurl: %s", incount, streamurl);
    1089363
    1090 
    1091364////////////////////
    1092                                 title = ostrcat("Rtmpe Stream (", NULL, 0, 0);
     365                                if(ostrstr(streamurl, "rtmp") != NULL)
     366                                        title = ostrcat("Rtmpe Stream (", NULL, 0, 0);
     367                                else
     368                                        title = ostrcat("Http Stream (", NULL, 0, 0);
     369
    1093370                                title = ostrcat(title, oitoa(incount), 1, 1);
    1094371                                title = ostrcat(title, ")", 1, 0);
     
    1106383                                        addmenulist(&mlist, title, streamurl, pic, 0, 0);
    1107384                                }
    1108                                 free(channelid), channelid = NULL;
    1109 
    1110                                 free(streamip); streamip = NULL;
    1111                                 free(streamport); streamport = NULL;
    1112                                 free(streamid); streamid = NULL;
     385
    1113386                                free(title), title = NULL;
    1114387                                free(pic), pic = NULL;
    1115388                                free(streamurl), streamurl = NULL;
    1116389                                free(typemsg), typemsg = NULL;
    1117 
    1118                                 www = 1;
     390                                free(referer), referer = NULL;
     391                                free(url), url = NULL;
     392                                free(host), host = NULL;
     393                                free(path), path = NULL;
    1119394                                printf("####################### stop (%d) ############################\n", incount);
    1120 
    1121395                        }
    1122396                }
     
    1138412        }
    1139413        free(tmpstr); tmpstr = NULL;
    1140         free(ip), ip = NULL;
     414        free(host), host = NULL;
     415        free(path), path = NULL;
     416        free(url), url = NULL;
    1141417
    1142418        titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/tvtoast_tmpstr10_streamurl", NULL, NULL, NULL, tmpstr);
Note: See TracChangeset for help on using the changeset viewer.