source: titan/plugins/tithek/thefile.h @ 30271

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

[tithek] add new hoster thefile step1

File size: 9.4 KB
Line 
1#ifndef THEFILE_H
2#define THEFILE_H
3
4char* thefile(char* link)
5{
6        debug(99, "link: %s", link);
7        int debuglevel = getconfigint("debuglevel", NULL);
8        char* tmphost = NULL, *tmppath = NULL, *tmpstr = NULL, *send = NULL, *ip = NULL, *streamlink = NULL, *timestamp = NULL;
9        char* hash = NULL, *hashlen = NULL, *pos1 = NULL, *pos2 = NULL, *pos3 = NULL, *hashline = NULL, *expires = NULL;
10        char* usr_login = NULL, *referer = NULL, *fname = NULL, *op = NULL, *id = NULL, *cfduid = NULL;
11        char* pos4 = NULL, *pos5 = NULL, *pos6 = NULL, *redirect = NULL, *method_free = NULL, *rand = NULL;
12
13        if(link == NULL) return NULL;
14
15        unlink("/tmp/thefile1_get");
16        unlink("/tmp/thefile2_post");
17       
18        char* tmplink = NULL, *pos = NULL, *path = NULL;
19
20        tmplink = ostrcat(link, NULL, 0, 0);
21
22        if(ostrstr(link, "/Out/?s=") != NULL)
23        {
24                tmplink = string_replace("/Out/?s=", "", tmplink, 1);
25                debug(99, "remove out string: %s", tmplink);
26        }
27       
28
29        if(tmplink == NULL || ostrncmp("http://", tmplink, 7))
30        {
31                textbox(_("Message"), _("Hoster Url not http://") , _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 1200, 200, 0, 0);
32                goto end;
33        }
34
35        tmphost = string_replace("http://", "", tmplink, 0);
36        free(tmplink) , tmplink = NULL;
37
38        if(tmphost != NULL)
39                pos = strchr(tmphost, '/');
40        if(pos != NULL)
41        {
42                pos[0] = '\0';
43                path = pos + 1;
44        }
45
46        tmppath = ostrcat("/", path, 0, 0);
47/*
4815:02:11 T:3492  NOTICE: '
49GET /4x8bkdffgidh HTTP/1.1\r\n
50Host: thefile.me\r\n
51User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.99 Safari/535.1\r\n
52Connection: close\r\n
53Accept-Encoding: gzip\r\n\r\n'
54*/
55
56        send = ostrcat(send, "GET ", 1, 0);
57        send = ostrcat(send, tmppath, 1, 0);
58        send = ostrcat(send, " HTTP/1.1\r\nHost: ", 1, 0);
59        send = ostrcat(send, tmphost, 1, 0);
60        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\nReferer: ", 1, 0);
61        send = ostrcat(send, link, 1, 0);
62        send = ostrcat(send, "\r\nConnection: close\r\nAccept-Encoding: gzip\r\n\r\n", 1, 0);
63       
64        debug(99, "send: %s", send);
65
66        tmpstr = gethttpreal(tmphost, tmppath, 80, NULL, NULL, NULL, 0, send, NULL, 5000, 1);
67        debug(99, "tmpstr: %s", tmpstr);
68        titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/thefile1_get", NULL, NULL, NULL, tmpstr);
69        free(send), send = NULL;
70
71//      waitmsgbar(7, 0, _("Connect with Hoster wait 7 seconds"), 1);
72
73        if(ostrstr(tmpstr, "The file is being transfered to our other servers. This may take few minutes.") != NULL)
74        {
75                textbox(_("Message"), _("The file is being transfered to our other servers. This may take few minutes.") , _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 1200, 200, 0, 0);
76                goto end;
77        }
78
79        pos1 = ostrstr(tmpstr, "<input type=\"hidden\" name=\"redirect\" value=");
80        redirect = getxmlentry(pos1, "value=");
81
82        pos2 = ostrstr(tmpstr, "<input type=\"hidden\" name=\"usr_login\" value=");
83        usr_login = getxmlentry(pos2, "value=");
84
85        pos3 = ostrstr(tmpstr, "<input type=\"hidden\" name=\"referer\" value=");
86        referer = getxmlentry(pos3, "value=");
87
88        pos4 = ostrstr(tmpstr, "<input type=\"hidden\" name=\"fname\" value=");
89        fname = getxmlentry(pos4, "value=");
90
91        pos5 = ostrstr(tmpstr, "<input type=\"hidden\" name=\"id\" value=");
92        id = getxmlentry(pos5, "value=");
93
94        pos6 = ostrstr(tmpstr, "<input type=\"hidden\" name=\"op\" value=");
95        op = getxmlentry(pos6, "value=");
96
97        cfduid = string_resub("__cfduid=", ";", tmpstr, 0);
98
99        free(tmpstr); tmpstr = NULL;
100        debug(99, "hashline: %s", hashline);
101//      if(hashline == NULL)
102//      {
103//              textbox(_("Message"), _("The page is temporarily unavailable") , _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 1200, 200, 0, 0);
104//              goto end;
105//      }
106
107        hash = ostrcat(hash, "redirect=", 1, 0);
108        hash = ostrcat(hash, redirect, 1, 0);
109        hash = ostrcat(hash, "&usr_login=", 1, 0);     
110        hash = ostrcat(hash, usr_login, 1, 0);
111        hash = ostrcat(hash, "&referer=", 1, 0);
112        hash = ostrcat(hash, referer, 1, 0);
113        hash = ostrcat(hash, "&fname=", 1, 0);
114        hash = ostrcat(hash, fname, 1, 0);
115        hash = ostrcat(hash, "&method_free=Free+Download", 1, 0);
116        hash = ostrcat(hash, "&id=", 1, 0);
117        hash = ostrcat(hash, id, 1, 0);
118        hash = ostrcat(hash, "&op=", 1, 0);
119        hash = ostrcat(hash, op, 1, 0);
120        debug(99, "hash: %s", hash);
121        hashlen = oitoa(strlen(hash));
122
123/*
12415:02:11 T:3492  NOTICE: '
125POST /4x8bkdffgidh
126HTTP/1.1\r\n
127Content-Length: 164\r\n
128Accept-Encoding: gzip\r\n
129Host: thefile.me\r\n
130User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.99 Safari/535.1\r\n
131Connection: close\r\n
132Referer: http://thefile.me/4x8bkdffgidh\r\n
133Cookie: __cfduid=ddc102e72b9b793355a5be3d3dcb03ff01412168530377\r\n
134Content-Type: application/x-www-form-urlencoded\r\n\r\n
135redirect=&usr_login=&referer=http%3A%2F%2Fthefile.me%2F4x8bkdffgidh&fname=X-Men.2000.720p.BrRip.x264.YIFY.mp4&method_free=Free+Download&id=4x8bkdffgidh&op=download1'
136*/
137        send = ostrcat(send, "POST ", 1, 0);
138        send = ostrcat(send, tmppath, 1, 0);
139        send = ostrcat(send, " HTTP/1.1\r\nContent-Length: ", 1, 0);
140        send = ostrcat(send, hashlen, 1, 0);
141        send = ostrcat(send, "\r\nAccept-Encoding: gzip\r\nHost: ", 1, 0);
142        send = ostrcat(send, tmphost, 1, 0);
143        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);
144        send = ostrcat(send, "\r\nConnection: close\r\nReferer: ", 1, 0);
145        send = ostrcat(send, link, 1, 0);
146        send = ostrcat(send, "\r\nCookie: cfduid=", 1, 0);
147        send = ostrcat(send, cfduid, 1, 0);
148        send = ostrcat(send, "\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n", 1, 0);
149        send = ostrcat(send, hash, 1, 0);
150        debug(99, "send: %s", send);
151        free(hash), hash = NULL;
152
153        tmpstr = gethttpreal(tmphost, tmppath, 80, NULL, NULL, NULL, 0, send, NULL, 5000, 1);
154        free(send), send = NULL;
155        debug(99, "tmpstr: %s", tmpstr);
156        titheklog(debuglevel, "/var/usr/local/share/titan/plugins/tithek/thefile2_post", NULL, NULL, NULL, tmpstr);
157/*
158///////////
15915:02:11 T:3492  NOTICE: '
160POST /4x8bkdffgidh
161HTTP/1.1\r\n
162Content-Length: 220\r\n
163Accept-Encoding: gzip\r\n
164Host: thefile.me\r\n
165User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.99 Safari/535.1\r\n
166Connection: close\r\n
167Referer: http://thefile.me/4x8bkdffgidh\r\n
168Cookie: aff=6304; __cfduid=ddc102e72b9b793355a5be3d3dcb03ff01412168530377\r\n
169Content-Type: application/x-www-form-urlencoded\r\n\r\n
170redirect=&rand=aivaddwv4wpeil6z72doczmarkitsvau3x52gvi&btn_download=Create+Download+Link&method_premium=&down_direct=1&referer=http%3A%2F%2Fthefile.me%2F4x8bkdffgidh&method_free=Free+Download&id=4x8bkdffgidh&op=download2'
171
172        pos7 = ostrstr(tmpstr, "<input type=\"hidden\" name=\"redirect\" value=");
173        redirect = getxmlentry(pos7, "value=");
174
175        pos8 = ostrstr(tmpstr, "<input type=\"hidden\" name=\"rand\" value=");
176        rand = getxmlentry(pos8, "value=");
177
178        pos9 = ostrstr(tmpstr, "<input type=\"hidden\" name=\"referer\" value=");
179        referer = getxmlentry(pos9, "value=");
180
181        pos10 = ostrstr(tmpstr, "<input type=\"hidden\" name=\"method_free\" value=");
182        method_free = getxmlentry(pos10, "value=");
183
184        pos11 = ostrstr(tmpstr, "<input type=\"hidden\" name=\"id\" value=");
185        id = getxmlentry(pos11, "value=");
186
187        pos12 = ostrstr(tmpstr, "<input type=\"hidden\" name=\"op\" value=");
188        op = getxmlentry(pos12, "value=");
189
190        hash = ostrcat(hash, "redirect=", 1, 0);
191        hash = ostrcat(hash, redirect, 1, 0);
192        hash = ostrcat(hash, "&rand=", 1, 0);   
193        hash = ostrcat(hash, rand, 1, 0);
194        hash = ostrcat(hash, "&btn_download=Create+Download+Link&method_premium=&down_direct=1&referer", 1, 0);
195        char* referer_encode = htmldecode(referer);
196        hash = ostrcat(hash, referer_encode, 1, 0);
197        hash = ostrcat(hash, "&method_free=Free+Download", 1, 0);
198//      hash = ostrcat(hash, method_free, 1, 0);
199        hash = ostrcat(hash, "&id=", 1, 0);
200        hash = ostrcat(hash, id, 1, 0);
201        hash = ostrcat(hash, "&op=", 1, 0);
202        hash = ostrcat(hash, op, 1, 0);
203        debug(99, "hash: %s", hash);
204        hashlen = oitoa(strlen(hash));
205       
206        send = ostrcat(send, "POST ", 1, 0);
207        send = ostrcat(send, tmppath, 1, 0);
208        send = ostrcat(send, " HTTP/1.1\r\nContent-Length: ", 1, 0);
209        send = ostrcat(send, hashlen, 1, 0);
210        send = ostrcat(send, "\r\nAccept-Encoding: gzip\r\nHost: ", 1, 0);
211        send = ostrcat(send, tmphost, 1, 0);
212        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);
213        send = ostrcat(send, "\r\nConnection: close\r\nReferer: ", 1, 0);
214        send = ostrcat(send, link, 1, 0);
215        send = ostrcat(send, "\r\nX-Requested-With: XMLHttpRequest", 1, 0);
216        send = ostrcat(send, "\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n", 1, 0);
217        send = ostrcat(send, hash, 1, 0);
218        debug(99, "send: %s", send);
219
220        tmpstr = gethttpreal(tmphost, tmppath, 80, NULL, NULL, NULL, 0, send, NULL, 5000, 1);
221        free(send), send = NULL;
222        debug(99, "tmpstr: %s", tmpstr);
223        titheklog(debuglevel, "/tmp/thefile2_post", NULL, NULL, NULL, tmpstr);
224///////
225
226        streamlink = string_resub("data-url=\"", "\"", tmpstr, 0);
227        debug(99, "streamlink1: %s", streamlink);
228        htmldecode(streamlink, streamlink);
229        debug(99, "streamlink2: %s", streamlink);
230*/     
231end:
232        free(tmphost); tmphost = NULL;
233        free(tmppath); tmppath = NULL;
234        free(tmpstr); tmpstr = NULL;
235        free(send); send = NULL;
236        free(hashline); hashline = NULL;
237        free(hash), hash = NULL;
238        free(hashlen), hashlen = NULL;
239        free(expires), expires = NULL;
240        free(timestamp), timestamp = NULL;
241        free(ip); ip = NULL;
242
243        return streamlink;
244}
245
246#endif
Note: See TracBrowser for help on using the repository browser.