source: titan/plugins/tithek/movshare.h @ 30013

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

fix moveshare

File size: 5.3 KB
Line 
1#ifndef MOVESHARE_H
2#define MOVESHARE_H
3
4char* movshare(char* link)
5{
6        debug(99, "link: %s", link);
7        int debuglevel = getconfigint("debuglevel", NULL);
8        char* tmphost = NULL;
9        char* tmppath = NULL;
10        char* tmpstr = NULL;
11        char* send = NULL;
12        char* ip = NULL;
13        char* streamlink = NULL;
14        char* filekey = NULL;
15        char* file = NULL;
16       
17        if(link == NULL) return NULL;
18
19        unlink("/tmp/movshare1_get");
20        unlink("/tmp/movshare2_get");
21/////////////
22        char* tmplink = NULL, *pos = NULL, *path = NULL;
23
24        tmplink = ostrcat(link, NULL, 0, 0);
25
26        if(ostrstr(link, "/Out/?s=") != NULL)
27        {
28                tmplink = string_replace("/Out/?s=", "", tmplink, 1);
29                debug(99, "remove out string: %s", tmplink);
30        }
31       
32        if(tmplink == NULL || ostrncmp("http://", tmplink, 7))
33        {
34                textbox(_("Message"), _("Hoster Url not http://") , _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 1200, 200, 0, 0);
35                goto end;
36        }
37
38        tmphost = string_replace("http://", "", tmplink, 0);
39        free(tmplink) , tmplink = NULL;
40
41        if(tmphost != NULL)
42                pos = strchr(tmphost, '/');
43        if(pos != NULL)
44        {
45                pos[0] = '\0';
46                path = pos + 1;
47        }
48
49        tmppath = ostrcat("/", path, 0, 0);
50//      free(path), path = NULL;
51
52/////////////
53
54/////////////
55        char* host = NULL;
56        host = ostrcat(tmphost, NULL, 0, 0);
57        tmppath = string_replace("/video/", "/embed.php?v=", tmppath, 1);
58        free(tmphost), tmphost = NULL;
59        tmphost = ostrcat("embed.movshare.net", NULL, 0, 0);
60/////////////
61/*
62        tmppath = ostrcat("/embed.php?v=", file, 0, 0);
63        tmphost = ostrcat("embed.movshare.net", NULL, 0, 0);
64*/
65        send = ostrcat(send, "GET ", 1, 0);
66        send = ostrcat(send, tmppath, 1, 0);
67        send = ostrcat(send, " HTTP/1.1\r\nHost: ", 1, 0);
68        send = ostrcat(send, tmphost, 1, 0);
69        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\r\nConnection: close\r\nAccept-Encoding: gzip\r\n\r\n", 1, 0);
70        debug(99, "send: %s", send);
71
72        tmpstr = gethttpreal(tmphost, tmppath, 80, NULL, NULL, NULL, 0, send, NULL, 5000, 1);
73        debug(99, "tmpstr: %s", tmpstr);
74        titheklog(debuglevel, "/tmp/movshare1_get", NULL, NULL, NULL, tmpstr);
75
76        if(tmpstr == NULL || ostrstr(tmpstr, "error=1&error_msg=The video no longer exists") != NULL)
77        {
78                textbox(_("Message"), _("The video no longer exists") , _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 1200, 200, 0, 0);
79                goto end;
80        }
81
82        file = string_replace("/embed.php?v=", "", tmppath, 0);
83        if(file == NULL)
84                file = string_resub("flashvars.file=\"", "\";", tmpstr, 0);
85       
86        char* r1 = NULL, *r2 = NULL, *r3 = NULL, *r4 = NULL;
87        pos = ostrstr(tmpstr, ");}('");
88        if(pos != NULL)
89        {
90                r1 = string_resub(");}('", "'", pos, 0);
91                pos = ostrstr(pos + 5, ",'");
92                if(pos != NULL)
93                {
94                        r2 = string_resub(",'", "'", pos, 0);
95                        pos = ostrstr(pos + 2, ",'");
96                        if(pos != NULL)
97                        {
98                                r3 = string_resub(",'", "'", pos, 0);
99                                pos = ostrstr(pos + 2, ",'");
100                                if(pos != NULL)
101                                        r4 = string_resub(",'", "'", pos, 0);
102                        }
103                }
104        }
105       
106        filekey = getfilekey(r1, r2, r3, r4);
107       
108        free(r1); r1 = NULL;
109        free(r2); r2 = NULL;
110        free(r3); r3 = NULL;
111        free(r4); r4 = NULL;
112       
113        if(filekey == NULL)
114                filekey = string_resub("flashvars.filekey=\"", "\";", tmpstr, 0);
115
116        if(filekey == NULL)
117        {
118                char* searchstr = string_resub("flashvars.filekey=", ";", tmpstr, 0);
119                debug(99, "searchstr: %s", searchstr);
120                searchstr = ostrcat(searchstr, "=\"", 1, 0);
121                filekey = string_resub(searchstr, "\";", tmpstr, 0);
122        }
123
124        debug(99, "filekey: %s", filekey);
125        debug(99, "file: %s", file);
126       
127        free(tmpstr), tmpstr = NULL;
128        free(tmppath), tmppath = NULL;
129//      free(tmphost), tmphost = NULL;
130        free(send), send = NULL;
131       
132        tmppath = ostrcat("/api/player.api.php?file=", file, 0, 0);
133        tmppath = ostrcat(tmppath, "&key=", 1, 0);
134        tmppath = ostrcat(tmppath, filekey, 1, 0);
135//      tmphost = ostrcat(tmphost, NULL, 0, 0);
136       
137        free(tmphost), tmphost = NULL;
138        tmphost = ostrcat(host, NULL, 0, 0);
139
140        if(ostrstr(link, "http://embed.") != NULL)
141                tmphost = string_replace("embed.", "www.", tmphost, 1);
142
143        free(send), send = NULL;
144        send = ostrcat(send, "GET ", 1, 0);
145        send = ostrcat(send, tmppath, 1, 0);
146        send = ostrcat(send, " HTTP/1.1\r\nHost: ", 1, 0);
147        send = ostrcat(send, tmphost, 1, 0);
148        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\r\nConnection: close\r\nAccept-Encoding: gzip\r\n\r\n", 1, 0);
149        debug(99, "send: %s", send);
150        free(tmpstr), tmpstr = NULL;
151        tmpstr = gethttpreal(tmphost, tmppath, 80, NULL, NULL, NULL, 0, send, NULL, 5000, 1);
152        debug(99, "tmpstr: %s", tmpstr);
153        titheklog(debuglevel, "/tmp/movshare2_get", NULL, NULL, NULL, tmpstr);
154
155        if(tmpstr == NULL)
156        {
157                textbox(_("Message"), _("The page is temporarily unavailable") , _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 1200, 200, 0, 0);
158                goto end;
159        }
160
161        if(tmpstr == NULL || ostrstr(tmpstr, "error=1&error_msg=The video no longer exists") != NULL)
162        {
163                textbox(_("Message"), _("The video no longer exists") , _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 1200, 200, 0, 0);
164                goto end;
165        }
166
167        streamlink = string_resub("url=", "&", tmpstr, 0);
168end:
169        free(tmphost); tmphost = NULL;
170        free(tmppath); tmppath = NULL;
171        free(tmpstr); tmpstr = NULL;
172        free(send); send = NULL;
173        free(filekey); filekey = NULL;
174        free(ip); ip = NULL;
175
176        return streamlink;
177}
178
179#endif
Note: See TracBrowser for help on using the repository browser.