Changeset 32084


Ignore:
Timestamp:
01/04/15 16:59:26 (8 years ago)
Author:
obi
Message:

tithek add hoster promptfile and update filenuke

Location:
titan/plugins/tithek
Files:
1 added
4 edited

Legend:

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

    r29534 r32084  
    2626        tmplink = ostrcat(link, NULL, 0, 0);
    2727
     28        debug(99, "tmplink: %s", tmplink);
     29
     30        char* referer = NULL;
     31//      htmldecode(referer, tmplink);
     32        referer = htmlencode(tmplink);
     33        referer = string_replace_all("/", "%2F", referer, 1);
     34        debug(99, "referer: %s", referer);
     35       
     36       
    2837        if(ostrstr(link, "/Out/?s=") != NULL)
    2938        {
     
    6473        debug(99, "tmppath: %s", tmppath);
    6574*/
     75
    6676        send = ostrcat(send, "GET ", 1, 0);
    6777        send = ostrcat(send, tmppath, 1, 0);
    68         send = ostrcat(send, " HTTP/1.1\r\nAccept-Encoding: identity\r\n", 1, 0);
    69         send = ostrcat(send, "Accept-Language: de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4\r\n", 1, 0);
    70         send = ostrcat(send, "Host: ", 1, 0);
     78        send = ostrcat(send, " HTTP/1.0", 1, 0);
     79        send = ostrcat(send, "\r\nHost: ", 1, 0);
    7180        send = ostrcat(send, tmphost, 1, 0);
    72         send = ostrcat(send, "\r\nUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de-DE; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3\r\n", 1, 0);
    73         send = ostrcat(send, "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n", 1, 0);
    74         send = ostrcat(send, "Connection: close\r\nCookie: xxx2=ok;\r\n\r\n", 1, 0);
     81        send = ostrcat(send, "\r\nUser-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.99 Safari/535.1", 1, 0);
     82        send = ostrcat(send, "\r\nConnection: close", 1, 0);
     83        send = ostrcat(send, "\r\nAccept-Encoding: gzip", 1, 0);       
     84        send = ostrcat(send, "\r\n\r\n", 1, 0);
    7585        debug(99, "send: %s", send);
    7686
     
    114124        fname = getxmlentry(pos1, "value=");
    115125        debug(99, "fname: %s", fname);
    116         if(fname == NULL) goto end;
     126//      if(fname == NULL) goto end;
    117127
    118128        char* pos2 = ostrstr(tmpstr, "<input type=\"hidden\" name=\"id\" value=");
    119129        id = getxmlentry(pos2, "value=");
    120130        debug(99, "id: %s", id);
    121         if(id == NULL) goto end;
     131//      if(id == NULL) goto end;
     132
     133        char* cokkie = string_resub("Set-Cookie: ", ";", tmpstr, 0);
    122134
    123135        char* pos3 = ostrstr(tmpstr, "<input type=\"hidden\" name=\"op\" value=");
     
    125137        free(tmpstr); tmpstr = NULL;
    126138        debug(99, "op: %s", op);
    127         if(op == NULL) goto end;
    128 
     139//      if(op == NULL) goto end;
     140
     141
     142
     143/*
    129144        hash = ostrcat(hash, "id=", 1, 0);     
    130145        hash = ostrcat(hash, id, 1, 0);
     
    134149        hash = ostrcat(hash, op, 1, 0);
    135150        debug(99, "hash: %s", hash);
     151*/
     152        hash = ostrcat(hash, "method_free=Free&referer=", 1, 0);
     153        hash = ostrcat(hash, referer, 1, 0);
     154        hash = ostrcat(hash, "&usr_login=&op=download1", 1, 0);
     155        debug(99, "hash: %s", hash);
    136156
    137157        hashlen = oitoa(strlen(hash));
    138158       
    139159        //create send string
    140         send = ostrcat(send, "POST /", 1, 0);
    141         send = ostrcat(send, id, 1, 0);
     160//      send = ostrcat(send, "POST /", 1, 0);
     161//      send = ostrcat(send, id, 1, 0);
     162        send = ostrcat(send, "POST ", 1, 0);
     163        send = ostrcat(send, tmppath, 1, 0);
     164
    142165        send = ostrcat(send, " HTTP/1.0\r\nContent-Length: ", 1, 0);
    143166        send = ostrcat(send, hashlen, 1, 0);
    144         send = ostrcat(send, "\r\nAccept-Encoding: gzip\r\nConnection: close\r\nUser-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.99 Safari/535.1\r\nHost: ", 1, 0);
     167        send = ostrcat(send, "\r\nAccept-Encoding: gzip", 1, 0);       
     168        send = ostrcat(send, "\r\nHost: ", 1, 0);
    145169        send = ostrcat(send, tmphost, 1, 0);
    146         send = ostrcat(send, "\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n", 1, 0);
     170        send = ostrcat(send, "\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0", 1, 0);
     171        send = ostrcat(send, "\r\nConnection: close", 1, 0);
     172        send = ostrcat(send, "\r\nReferer: ", 1, 0);
     173        send = ostrcat(send, link, 1, 0);
     174        send = ostrcat(send, "\r\nCookie: ", 1, 0);
     175        send = ostrcat(send, cokkie, 1, 0);
     176        send = ostrcat(send, "\r\nContent-Type: application/x-www-form-urlencoded", 1, 0);
     177        send = ostrcat(send, "\r\n\r\n", 1, 0);
    147178        send = ostrcat(send, hash, 1, 0);
    148179        debug(99, "send: %s", send);
     180
     181        free(cokkie), cokkie = NULL;
    149182       
    150183        post = gethttpreal(tmphost, tmppath, 80, NULL, NULL, NULL, 0, send, NULL, 5000, 0);
     
    169202        titheklog(debuglevel, "/tmp/filenuke4_post2", NULL, NULL, NULL, post);
    170203
    171         free(tmpstr),tmpstr = NULL;
    172         free(b36code),b36code = NULL;
    173         tmpstr = string_resub(";return p}('", ");'", post, 0);
    174         debug(99, "tmpstr: %s", tmpstr);
    175         titheklog(debuglevel, "/tmp/filenuke5_tmpstr2", NULL, NULL, NULL, tmpstr);
    176 
    177         b36code = oregex(".*;',[0-9]{2,2},[0-9]{2,2},'(.*)'.split.*", post);
    178        
    179         b36code = string_replace_all("||", "| |", b36code, 1);
    180         debug(99, "b36code: %s", b36code);
    181         titheklog(debuglevel, "/tmp/filenuke6_b36code2", NULL, NULL, NULL, b36code);
    182        
    183         struct splitstr* ret1 = NULL;
    184         int count = 0;
    185         int i = 0;
    186         ret1 = strsplit(b36code, "|", &count);
    187 
    188         charlist = ostrcat(charlist, "\"", 1, 0);
    189         charlist = ostrcat(charlist, "|", 1, 0);
    190         charlist = ostrcat(charlist, "'", 1, 0);
    191         charlist = ostrcat(charlist, "|", 1, 0);
    192         charlist = ostrcat(charlist, ".", 1, 0);
    193         charlist = ostrcat(charlist, "|", 1, 0);
    194         charlist = ostrcat(charlist, ";", 1, 0);
    195         charlist = ostrcat(charlist, "|", 1, 0);
    196         charlist = ostrcat(charlist, ":", 1, 0);
    197         charlist = ostrcat(charlist, "|", 1, 0);
    198         charlist = ostrcat(charlist, "=", 1, 0);
    199         charlist = ostrcat(charlist, "|", 1, 0);
    200         charlist = ostrcat(charlist, ",", 1, 0);
    201         charlist = ostrcat(charlist, "|", 1, 0);
    202         charlist = ostrcat(charlist, " ", 1, 0);
    203         charlist = ostrcat(charlist, "|", 1, 0);
    204         charlist = ostrcat(charlist, "\\", 1, 0);
    205         charlist = ostrcat(charlist, "|", 1, 0);
    206         charlist = ostrcat(charlist, "/", 1, 0);
    207         charlist = ostrcat(charlist, "|", 1, 0);
    208         charlist = ostrcat(charlist, "(", 1, 0);
    209         charlist = ostrcat(charlist, "|", 1, 0);
    210         charlist = ostrcat(charlist, ")", 1, 0);
    211 
    212         for(i = 0; i < count; i++)
    213         {
    214                 if(ostrstr((&ret1[i])->part, " ") != NULL)
     204        streamlink = string_resub("var lnk1 = '", "';", post, 0);
     205        if(streamlink != NULL)
     206                streamlink = ostrcat(streamlink, "|User-Agent=Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0", 1, 0);
     207        else
     208        {
     209                free(tmpstr),tmpstr = NULL;
     210                free(b36code),b36code = NULL;
     211                tmpstr = string_resub(";return p}('", ");'", post, 0);
     212                debug(99, "tmpstr: %s", tmpstr);
     213                titheklog(debuglevel, "/tmp/filenuke5_tmpstr2", NULL, NULL, NULL, tmpstr);
     214       
     215                b36code = oregex(".*;',[0-9]{2,2},[0-9]{2,2},'(.*)'.split.*", post);
     216               
     217                b36code = string_replace_all("||", "| |", b36code, 1);
     218                debug(99, "b36code: %s", b36code);
     219                titheklog(debuglevel, "/tmp/filenuke6_b36code2", NULL, NULL, NULL, b36code);
     220               
     221                struct splitstr* ret1 = NULL;
     222                int count = 0;
     223                int i = 0;
     224                ret1 = strsplit(b36code, "|", &count);
     225       
     226                charlist = ostrcat(charlist, "\"", 1, 0);
     227                charlist = ostrcat(charlist, "|", 1, 0);
     228                charlist = ostrcat(charlist, "'", 1, 0);
     229                charlist = ostrcat(charlist, "|", 1, 0);
     230                charlist = ostrcat(charlist, ".", 1, 0);
     231                charlist = ostrcat(charlist, "|", 1, 0);
     232                charlist = ostrcat(charlist, ";", 1, 0);
     233                charlist = ostrcat(charlist, "|", 1, 0);
     234                charlist = ostrcat(charlist, ":", 1, 0);
     235                charlist = ostrcat(charlist, "|", 1, 0);
     236                charlist = ostrcat(charlist, "=", 1, 0);
     237                charlist = ostrcat(charlist, "|", 1, 0);
     238                charlist = ostrcat(charlist, ",", 1, 0);
     239                charlist = ostrcat(charlist, "|", 1, 0);
     240                charlist = ostrcat(charlist, " ", 1, 0);
     241                charlist = ostrcat(charlist, "|", 1, 0);
     242                charlist = ostrcat(charlist, "\\", 1, 0);
     243                charlist = ostrcat(charlist, "|", 1, 0);
     244                charlist = ostrcat(charlist, "/", 1, 0);
     245                charlist = ostrcat(charlist, "|", 1, 0);
     246                charlist = ostrcat(charlist, "(", 1, 0);
     247                charlist = ostrcat(charlist, "|", 1, 0);
     248                charlist = ostrcat(charlist, ")", 1, 0);
     249       
     250                for(i = 0; i < count; i++)
    215251                {
    216                         printf("continue\n");
    217                         continue;
     252                        if(ostrstr((&ret1[i])->part, " ") != NULL)
     253                        {
     254                                printf("continue\n");
     255                                continue;
     256                        }
     257                        char* x = oltostr(i, 36);
     258       
     259                        struct splitstr* ret2 = NULL;
     260                        int count2 = 0;
     261                        int i2 = 0;
     262                        tmpstr2 = ostrcat(charlist, NULL, 0, 0);
     263                        ret2 = strsplit(tmpstr2, "|", &count2);
     264                        for(i2 = 0; i2 < count2; i2++)
     265                        {
     266                                struct splitstr* ret3 = NULL;
     267                                int count3 = 0;
     268                                int i3 = 0;
     269                                tmpstr3 = ostrcat(charlist, NULL, 0, 0);
     270                                ret3 = strsplit(tmpstr3, "|", &count3);
     271                                for(i3 = 0; i3 < count3; i3++)
     272                                {
     273                                        debug(99, "-----------------------------------------------");
     274                                        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);
     275       
     276                                        base = ostrcat(base, (&ret2[i2])->part, 1, 0);
     277                                        base = ostrcat(base, x, 1, 0);
     278                                        base = ostrcat(base, (&ret3[i3])->part, 1, 0);         
     279                                        search = ostrcat(search, (&ret2[i2])->part, 1, 0);
     280                                        search = ostrcat(search, (&ret1[i])->part, 1, 0);
     281                                        search = ostrcat(search, (&ret3[i3])->part, 1, 0);
     282                                        tmpstr = string_replace_all(base, search, tmpstr, 1);
     283                                        free(base), base = NULL;
     284                                        free(search), search = NULL;
     285                                }
     286                                free(ret3), ret3 = NULL;
     287                                free(tmpstr3), tmpstr3 = NULL;
     288                        }
     289                        free(ret2), ret2 = NULL;
     290                        free(tmpstr2), tmpstr2 = NULL;
     291                        free(x);
    218292                }
    219                 char* x = oltostr(i, 36);
    220 
    221                 struct splitstr* ret2 = NULL;
    222                 int count2 = 0;
    223                 int i2 = 0;
    224                 tmpstr2 = ostrcat(charlist, NULL, 0, 0);
    225                 ret2 = strsplit(tmpstr2, "|", &count2);
    226                 for(i2 = 0; i2 < count2; i2++)
    227                 {
    228                         struct splitstr* ret3 = NULL;
    229                         int count3 = 0;
    230                         int i3 = 0;
    231                         tmpstr3 = ostrcat(charlist, NULL, 0, 0);
    232                         ret3 = strsplit(tmpstr3, "|", &count3);
    233                         for(i3 = 0; i3 < count3; i3++)
    234                         {
    235                                 debug(99, "-----------------------------------------------");
    236                                 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);
    237 
    238                                 base = ostrcat(base, (&ret2[i2])->part, 1, 0);
    239                                 base = ostrcat(base, x, 1, 0);
    240                                 base = ostrcat(base, (&ret3[i3])->part, 1, 0);         
    241                                 search = ostrcat(search, (&ret2[i2])->part, 1, 0);
    242                                 search = ostrcat(search, (&ret1[i])->part, 1, 0);
    243                                 search = ostrcat(search, (&ret3[i3])->part, 1, 0);
    244                                 tmpstr = string_replace_all(base, search, tmpstr, 1);
    245                                 free(base), base = NULL;
    246                                 free(search), search = NULL;
    247                         }
    248                         free(ret3), ret3 = NULL;
    249                         free(tmpstr3), tmpstr3 = NULL;
    250                 }
    251                 free(ret2), ret2 = NULL;
    252                 free(tmpstr2), tmpstr2 = NULL;
    253                 free(x);
    254         }
    255         free(ret1), ret1 = NULL;
    256         free(b36code), b36code = NULL;
    257         free(post), post = NULL;
    258         free(charlist), charlist = NULL;
    259 
    260         titheklog(debuglevel, "/tmp/filenuke7_tmpstr_last", NULL, NULL, NULL, tmpstr);
    261 
    262         streamlink = oregex(".*file.*(http:.*video.flv).*image.*", tmpstr);
    263         if(streamlink == NULL)
    264                 streamlink = oregex(".*file.*(http:.*video.mp4).*image.*", tmpstr);                             
    265 
    266         if(streamlink == NULL)
    267                 streamlink = oregex(".*file.*(http:.*video.mkv).*image.*", tmpstr);
    268 
    269         if(streamlink == NULL)
    270                 streamlink = oregex(".*file.*(http:.*video.avi).*image.*", tmpstr);
    271 
    272         if(streamlink == NULL)
    273                 streamlink = oregex(".*src=.*(http:.*video.mp4).*\".*", tmpstr);
    274 
    275         if(streamlink == NULL)
    276                 streamlink = oregex(".*src=.*(http:.*video.mkv).*\".*", tmpstr);
    277 
    278         if(streamlink == NULL)
    279                 streamlink = oregex(".*src=.*(http:.*video.avi).*\".*", tmpstr);
    280                
    281         if(streamlink == NULL)
    282                 streamlink = oregex(".*value=.*(http:.*video.mp4).*\".*", tmpstr);                             
    283 
    284         if(streamlink == NULL)
    285                 streamlink = oregex(".*value=.*(http:.*video.mkv).*\".*", tmpstr);
    286 
    287         if(streamlink == NULL)
    288                 streamlink = oregex(".*value=.*(http:.*video.avi).*\".*", tmpstr);                     
     293                free(ret1), ret1 = NULL;
     294                free(b36code), b36code = NULL;
     295                free(post), post = NULL;
     296                free(charlist), charlist = NULL;
     297       
     298                titheklog(debuglevel, "/tmp/filenuke7_tmpstr_last", NULL, NULL, NULL, tmpstr);
     299       
     300                if(streamlink == NULL)
     301                        streamlink = oregex(".*file.*(http:.*video.flv).*image.*", tmpstr);
     302       
     303                if(streamlink == NULL)
     304                        streamlink = oregex(".*file.*(http:.*video.mp4).*image.*", tmpstr);                             
     305       
     306                if(streamlink == NULL)
     307                        streamlink = oregex(".*file.*(http:.*video.mkv).*image.*", tmpstr);
     308       
     309                if(streamlink == NULL)
     310                        streamlink = oregex(".*file.*(http:.*video.avi).*image.*", tmpstr);
     311       
     312                if(streamlink == NULL)
     313                        streamlink = oregex(".*src=.*(http:.*video.mp4).*\".*", tmpstr);
     314       
     315                if(streamlink == NULL)
     316                        streamlink = oregex(".*src=.*(http:.*video.mkv).*\".*", tmpstr);
     317       
     318                if(streamlink == NULL)
     319                        streamlink = oregex(".*src=.*(http:.*video.avi).*\".*", tmpstr);
     320                       
     321                if(streamlink == NULL)
     322                        streamlink = oregex(".*value=.*(http:.*video.mp4).*\".*", tmpstr);                             
     323       
     324                if(streamlink == NULL)
     325                        streamlink = oregex(".*value=.*(http:.*video.mkv).*\".*", tmpstr);
     326       
     327                if(streamlink == NULL)
     328                        streamlink = oregex(".*value=.*(http:.*video.avi).*\".*", tmpstr);                     
     329       
     330                if(streamlink == NULL)
     331                        streamlink = string_resub("var lnk1 = '", "';", tmpstr, 0);
     332        }
    289333
    290334        titheklog(debuglevel, "/tmp/filenuke8_streamlink", NULL, NULL, NULL, streamlink);
  • titan/plugins/tithek/tithek.c

    r30271 r32084  
    4545#include "shared.h"
    4646#include "thefile.h"
     47#include "promptfile.h"
    4748
    4849char pluginname[] = "TiTan Mediathek";
  • titan/plugins/tithek/tithek_global.h

    r30622 r32084  
    245245        else if(ostrstr(tmplink, "myvideo") != NULL)
    246246                streamurl = myvideo(url);
     247        else if(ostrstr(tmplink, "promptfile") != NULL)
     248                streamurl = promptfile(url);
    247249        else
    248250                textbox(_("Message"), _("The hoster is not yet supported !"), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 5, 0);
  • titan/plugins/tithek/tithek_header.h

    r30271 r32084  
    8282char* shared(char* link);
    8383char* thefile(char* link);
     84char* promptfile(char* link);
    8485int internetradio_search_local(struct skin* grid, struct skin* listbox, struct skin* countlabel, struct skin* load, char* link, char* title, char* searchstr, int flag);
    8586int internettv_search_local(struct skin* grid, struct skin* listbox, struct skin* countlabel, struct skin* load, char* link, char* title, char* searchstr, int flag);
Note: See TracChangeset for help on using the changeset viewer.