From a3ecb6eaa2b449c15ce6367e21b3744401e5ab18 Mon Sep 17 00:00:00 2001 From: zoidberg10 Date: Mon, 1 Oct 2012 23:52:18 +0200 Subject: rapidgator.net premium, novafile.com free, multihoster schedule refresh --- module/plugins/hoster/RapidgatorNet.py | 81 ++++++++++++++++------------------ 1 file changed, 38 insertions(+), 43 deletions(-) (limited to 'module/plugins/hoster/RapidgatorNet.py') diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index 678a3d707..291ba4c4b 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -21,55 +21,18 @@ from pycurl import HTTPHEADER from random import random from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo +from module.plugins.internal.CaptchaServices import ReCaptcha, SolveMedia, AdsCaptcha from module.common.json_layer import json_loads -from module.plugins.ReCaptcha import ReCaptcha - -class AdsCaptcha(): - def __init__(self, plugin): - self.plugin = plugin - - def challenge(self, src): - js = self.plugin.req.load(src, cookies=True) - - try: - challenge = re.search("challenge: '(.*?)',", js).group(1) - server = re.search("server: '(.*?)',", js).group(1) - except: - self.plugin.fail("adscaptcha error") - result = self.result(server,challenge) - - return challenge, result - - def result(self, server, challenge): - return self.plugin.decryptCaptcha("%sChallenge.aspx" % server, get={"cid": challenge, "dummy": random()}, cookies=True, imgtype="jpg") - -class SolveMedia(): - def __init__(self,plugin): - self.plugin = plugin - - def challenge(self, src): - html = self.plugin.req.load("http://api.solvemedia.com/papi/challenge.script?k=%s" % src, cookies=True) - try: - ckey = re.search("ckey:.*?'(.*?)',",html).group(1) - html = self.plugin.req.load("http://api.solvemedia.com/papi/_challenge.js?k=%s" % ckey, cookies=True) - challenge = re.search('"chid".*?: "(.*?)"',html).group(1) - except: - self.plugin.fail("solvmedia error") - result = self.result(challenge) - - return challenge, result - - def result(self,challenge): - return self.plugin.decryptCaptcha("http://api.solvemedia.com/papi/media?c=%s" % challenge,imgtype="gif") - class RapidgatorNet(SimpleHoster): __name__ = "RapidgatorNet" __type__ = "hoster" __pattern__ = r"http://(?:www\.)?(rapidgator.net)/file/(\d+)" - __version__ = "0.06" + __version__ = "0.08" __description__ = """rapidgator.net""" __author_name__ = ("zoidberg","chrox") + + API_URL = 'http://test.rapidgator.net/api/file' FILE_INFO_PATTERN = r'Downloading:(\s*<[^>]*>)*\s*(?P.*?)(\s*<[^>]*>)*\s*File size:\s*(?P.*?)' FILE_OFFLINE_PATTERN = r'File not found' @@ -79,6 +42,39 @@ class RapidgatorNet(SimpleHoster): RECAPTCHA_KEY_PATTERN = r'"http://api.recaptcha.net/challenge?k=(.*?)"' ADSCAPTCHA_SRC_PATTERN = r'(http://api.adscaptcha.com/Get.aspx[^"\']*)' SOLVEMEDIA_PATTERN = r'http:\/\/api\.solvemedia\.com\/papi\/challenge\.script\?k=(.*?)"' + + def process(self, pyfile): + self.pyfile = pyfile + if self.premium: + self.handlePremium() + else: + self.fail("NO FREE") + + def getAPIResponse(self, cmd): + json = self.load('%s/%s' % (self.API_URL, cmd), + get = {'sid': self.account.getAccountData(self.user).get('SID'), + 'url': self.pyfile.url}) + self.logDebug('API:%s' % cmd, json) + json = json_loads(json) + + status = json['response_status'] + if status == 200: + return json['response'] + elif status == 401: + self.account.relogin(self.user) + self.retry() + elif status == 423: + self.account.empty(self.user) + self.retry() + else: + self.fail(json['response_details']) + + def handlePremium(self): + self.api_data = self.getAPIResponse('info') + self.pyfile.name = self.api_data['filename'] + self.pyfile.size = self.api_data['size'] + url = self.getAPIResponse('download')['url'] + self.download(url) def handleFree(self): if "You can download files up to 500 MB in free mode" in self.html \ @@ -177,5 +173,4 @@ class RapidgatorNet(SimpleHoster): self.logDebug(url, response) return json_loads(response) -getInfo = create_getInfo(RapidgatorNet) - +getInfo = create_getInfo(RapidgatorNet) \ No newline at end of file -- cgit v1.2.3 From 5658d5525d5088a6254322210c1641cbdba2eb7d Mon Sep 17 00:00:00 2001 From: zoidberg10 Date: Wed, 3 Oct 2012 01:14:48 +0200 Subject: update czshare, little fixes --- module/plugins/hoster/RapidgatorNet.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'module/plugins/hoster/RapidgatorNet.py') diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index 291ba4c4b..6c09eabb9 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -21,7 +21,7 @@ from pycurl import HTTPHEADER from random import random from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo -from module.plugins.internal.CaptchaServices import ReCaptcha, SolveMedia, AdsCaptcha +from module.plugins.internal.CaptchaService import ReCaptcha, SolveMedia, AdsCaptcha from module.common.json_layer import json_loads class RapidgatorNet(SimpleHoster): @@ -42,14 +42,7 @@ class RapidgatorNet(SimpleHoster): RECAPTCHA_KEY_PATTERN = r'"http://api.recaptcha.net/challenge?k=(.*?)"' ADSCAPTCHA_SRC_PATTERN = r'(http://api.adscaptcha.com/Get.aspx[^"\']*)' SOLVEMEDIA_PATTERN = r'http:\/\/api\.solvemedia\.com\/papi\/challenge\.script\?k=(.*?)"' - - def process(self, pyfile): - self.pyfile = pyfile - if self.premium: - self.handlePremium() - else: - self.fail("NO FREE") - + def getAPIResponse(self, cmd): json = self.load('%s/%s' % (self.API_URL, cmd), get = {'sid': self.account.getAccountData(self.user).get('SID'), -- cgit v1.2.3 From 6f1d49a979b6ab97c82164a0794251f3ed7571d2 Mon Sep 17 00:00:00 2001 From: zoidberg10 Date: Wed, 3 Oct 2012 22:44:10 +0200 Subject: rapidgator fix api url --- module/plugins/hoster/RapidgatorNet.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster/RapidgatorNet.py') diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index 6c09eabb9..47ab662d9 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -28,11 +28,11 @@ class RapidgatorNet(SimpleHoster): __name__ = "RapidgatorNet" __type__ = "hoster" __pattern__ = r"http://(?:www\.)?(rapidgator.net)/file/(\d+)" - __version__ = "0.08" + __version__ = "0.09" __description__ = """rapidgator.net""" __author_name__ = ("zoidberg","chrox") - API_URL = 'http://test.rapidgator.net/api/file' + API_URL = 'http://rapidgator.net/api/file' FILE_INFO_PATTERN = r'Downloading:(\s*<[^>]*>)*\s*(?P.*?)(\s*<[^>]*>)*\s*File size:\s*(?P.*?)' FILE_OFFLINE_PATTERN = r'File not found' -- cgit v1.2.3 From 9bbdc760ae1f16350a65c76e2614c837ce3dd2e3 Mon Sep 17 00:00:00 2001 From: zoidberg10 Date: Sat, 6 Oct 2012 02:12:20 +0200 Subject: fix rapidgator.net --- module/plugins/hoster/RapidgatorNet.py | 86 +++++++++++++++++++--------------- 1 file changed, 47 insertions(+), 39 deletions(-) (limited to 'module/plugins/hoster/RapidgatorNet.py') diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index 47ab662d9..ad23b5a33 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -23,77 +23,85 @@ from random import random from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo from module.plugins.internal.CaptchaService import ReCaptcha, SolveMedia, AdsCaptcha from module.common.json_layer import json_loads +from module.network.HTTPRequest import BadHeader class RapidgatorNet(SimpleHoster): __name__ = "RapidgatorNet" __type__ = "hoster" __pattern__ = r"http://(?:www\.)?(rapidgator.net)/file/(\d+)" - __version__ = "0.09" + __version__ = "0.10" __description__ = """rapidgator.net""" __author_name__ = ("zoidberg","chrox") - + API_URL = 'http://rapidgator.net/api/file' - + FILE_INFO_PATTERN = r'Downloading:(\s*<[^>]*>)*\s*(?P.*?)(\s*<[^>]*>)*\s*File size:\s*(?P.*?)' FILE_OFFLINE_PATTERN = r'File not found' - - JSVARS_PATTERN = r"\s+var\s*(startTimerUrl|getDownloadUrl|captchaUrl|fid|secs)\s*=\s*'?(.*?)'?;" + + JSVARS_PATTERN = r"\s+var\s*(startTimerUrl|getDownloadUrl|captchaUrl|fid|secs)\s*=\s*'?(.*?)'?;" DOWNLOAD_LINK_PATTERN = r"location.href = '(.*?)'" RECAPTCHA_KEY_PATTERN = r'"http://api.recaptcha.net/challenge?k=(.*?)"' ADSCAPTCHA_SRC_PATTERN = r'(http://api.adscaptcha.com/Get.aspx[^"\']*)' SOLVEMEDIA_PATTERN = r'http:\/\/api\.solvemedia\.com\/papi\/challenge\.script\?k=(.*?)"' - + def getAPIResponse(self, cmd): - json = self.load('%s/%s' % (self.API_URL, cmd), - get = {'sid': self.account.getAccountData(self.user).get('SID'), - 'url': self.pyfile.url}) - self.logDebug('API:%s' % cmd, json) - json = json_loads(json) - - status = json['response_status'] + try: + json = self.load('%s/%s' % (self.API_URL, cmd), + get = {'sid': self.account.getAccountData(self.user).get('SID'), + 'url': self.pyfile.url}, decode = True) + self.logDebug('API:%s' % cmd, json) + json = json_loads(json) + status = json['response_status'] + msg = json['response_details'] + except BadHeader, e: + self.logError('API:%s' % cmd, e) + status = e.code + msg = e + if status == 200: return json['response'] elif status == 401: - self.account.relogin(self.user) - self.retry() + self.retry() elif status == 423: self.account.empty(self.user) self.retry() else: - self.fail(json['response_details']) - + self.fail(msg) + def handlePremium(self): + self.account.relogin(self.user) self.api_data = self.getAPIResponse('info') + self.api_data['md5'] = self.api_data['hash'] self.pyfile.name = self.api_data['filename'] - self.pyfile.size = self.api_data['size'] + self.pyfile.size = self.api_data['size'] url = self.getAPIResponse('download')['url'] - self.download(url) - + self.download(url) + def handleFree(self): if "You can download files up to 500 MB in free mode" in self.html \ or "This file can be downloaded by premium only" in self.html: self.fail("Premium account needed for download") - - self.checkWait() - + + self.checkWait() + jsvars = dict(re.findall(self.JSVARS_PATTERN, self.html)) self.logDebug(jsvars) - + self.req.http.lastURL = self.pyfile.url self.req.http.c.setopt(HTTPHEADER, ["X-Requested-With: XMLHttpRequest"]) - - url = "http://rapidgator.net%s?fid=%s" % (jsvars.get('startTimerUrl', '/download/AjaxStartTimer'), jsvars["fid"]) + + url = "http://rapidgator.net%s?fid=%s" % (jsvars.get('startTimerUrl', '/download/AjaxStartTimer'), jsvars["fid"]) jsvars.update(self.getJsonResponse(url)) - + self.setWait(int(jsvars.get('secs', 30)) + 1, False) self.wait() - + url = "http://rapidgator.net%s?sid=%s" % (jsvars.get('getDownloadUrl', '/download/AjaxGetDownload'), jsvars["sid"]) jsvars.update(self.getJsonResponse(url)) - + self.req.http.lastURL = self.pyfile.url self.req.http.c.setopt(HTTPHEADER, ["X-Requested-With:"]) - + url = "http://rapidgator.net%s" % jsvars.get('captchaUrl', '/download/captcha') self.html = self.load(url) found = re.search(self.ADSCAPTCHA_SRC_PATTERN, self.html) @@ -105,7 +113,7 @@ class RapidgatorNet(SimpleHoster): if found: captcha_key = found.group(1) captcha = ReCaptcha(self) - + else: found = re.search(self.SOLVEMEDIA_PATTERN, self.html) if found: @@ -116,8 +124,8 @@ class RapidgatorNet(SimpleHoster): if captcha.__class__.__name__ == "SolveMedia": captcha_prov = "adcopy" else: - captcha_prov = captcha.__class__.__name__.lower() - + captcha_prov = captcha.__class__.__name__.lower() + for i in range(5): self.checkWait() captcha_challenge, captcha_response = captcha.challenge(captcha_key) @@ -135,14 +143,14 @@ class RapidgatorNet(SimpleHoster): break else: self.fail("No valid captcha solution received") - + found = re.search(self.DOWNLOAD_LINK_PATTERN, self.html) if not found: self.parseError("download link") download_url = found.group(1) self.logDebug(download_url) self.download(download_url) - + def checkWait(self): found = re.search(r"(?:Delay between downloads must be not less than|Try again in)\s*(\d+)\s*(hour|min)", self.html) if found: @@ -153,17 +161,17 @@ class RapidgatorNet(SimpleHoster): wait_time = 60 else: return - + self.logDebug("Waiting %d minutes" % wait_time) self.setWait(wait_time * 60, True) self.wait() self.retry(max_tries = 24) - + def getJsonResponse(self, url): response = self.load(url, decode = True) if not response.startswith('{'): - self.retry() + self.retry() self.logDebug(url, response) - return json_loads(response) + return json_loads(response) getInfo = create_getInfo(RapidgatorNet) \ No newline at end of file -- cgit v1.2.3 From 1b494bca9f442b3a8dd75818c68f41235dcdbdfe Mon Sep 17 00:00:00 2001 From: zoidberg10 Date: Sat, 20 Oct 2012 09:30:04 +0200 Subject: small plugin fixes, closed #694, #695 --- module/plugins/hoster/RapidgatorNet.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster/RapidgatorNet.py') diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index ad23b5a33..f0d64cae1 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -29,7 +29,7 @@ class RapidgatorNet(SimpleHoster): __name__ = "RapidgatorNet" __type__ = "hoster" __pattern__ = r"http://(?:www\.)?(rapidgator.net)/file/(\d+)" - __version__ = "0.10" + __version__ = "0.11" __description__ = """rapidgator.net""" __author_name__ = ("zoidberg","chrox") @@ -61,6 +61,7 @@ class RapidgatorNet(SimpleHoster): if status == 200: return json['response'] elif status == 401: + self.account.relogin(self.user) self.retry() elif status == 423: self.account.empty(self.user) @@ -69,7 +70,7 @@ class RapidgatorNet(SimpleHoster): self.fail(msg) def handlePremium(self): - self.account.relogin(self.user) + #self.logDebug("ACCOUNT_DATA", self.account.getAccountData(self.user)) self.api_data = self.getAPIResponse('info') self.api_data['md5'] = self.api_data['hash'] self.pyfile.name = self.api_data['filename'] -- cgit v1.2.3 From f4ff2b29cc39105de2845cdfbf90a4517e33bd86 Mon Sep 17 00:00:00 2001 From: zoidberg10 Date: Sat, 20 Oct 2012 23:13:17 +0200 Subject: rapidgator.net, shareonline.biz - closed #701 --- module/plugins/hoster/RapidgatorNet.py | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) (limited to 'module/plugins/hoster/RapidgatorNet.py') diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index f0d64cae1..b7e382c4e 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -29,7 +29,7 @@ class RapidgatorNet(SimpleHoster): __name__ = "RapidgatorNet" __type__ = "hoster" __pattern__ = r"http://(?:www\.)?(rapidgator.net)/file/(\d+)" - __version__ = "0.11" + __version__ = "0.12" __description__ = """rapidgator.net""" __author_name__ = ("zoidberg","chrox") @@ -43,31 +43,45 @@ class RapidgatorNet(SimpleHoster): RECAPTCHA_KEY_PATTERN = r'"http://api.recaptcha.net/challenge?k=(.*?)"' ADSCAPTCHA_SRC_PATTERN = r'(http://api.adscaptcha.com/Get.aspx[^"\']*)' SOLVEMEDIA_PATTERN = r'http:\/\/api\.solvemedia\.com\/papi\/challenge\.script\?k=(.*?)"' + + def setup(self): + self.resumeDownload = False + self.multiDL = False + self.sid = None + self.chunkLimit = 1 + self.req.setOption("timeout", 120) + + def process(self, pyfile): + if self.account: + self.sid = self.account.getAccountData(self.user).get('SID', None) + + if self.sid: + self.handlePremium() + else: + self.handleFree() def getAPIResponse(self, cmd): try: json = self.load('%s/%s' % (self.API_URL, cmd), - get = {'sid': self.account.getAccountData(self.user).get('SID'), + get = {'sid': self.sid, 'url': self.pyfile.url}, decode = True) - self.logDebug('API:%s' % cmd, json) + self.logDebug('API:%s' % cmd, json, "SID: %s" % self.sid) json = json_loads(json) status = json['response_status'] msg = json['response_details'] except BadHeader, e: - self.logError('API:%s' % cmd, e) + self.logError('API:%s' % cmd, e, "SID: %s" % self.sid) status = e.code msg = e if status == 200: return json['response'] - elif status == 401: - self.account.relogin(self.user) - self.retry() elif status == 423: self.account.empty(self.user) self.retry() else: - self.fail(msg) + self.account.relogin(self.user) + self.retry(wait_time=60) def handlePremium(self): #self.logDebug("ACCOUNT_DATA", self.account.getAccountData(self.user)) @@ -76,9 +90,13 @@ class RapidgatorNet(SimpleHoster): self.pyfile.name = self.api_data['filename'] self.pyfile.size = self.api_data['size'] url = self.getAPIResponse('download')['url'] + self.multiDL = True self.download(url) def handleFree(self): + self.html = self.load(self.pyfile.url, decode = True) + self.getFileInfo() + if "You can download files up to 500 MB in free mode" in self.html \ or "This file can be downloaded by premium only" in self.html: self.fail("Premium account needed for download") -- cgit v1.2.3 From ab9b151dc520ca3d46b3ce356d427bfcf70b19cf Mon Sep 17 00:00:00 2001 From: TWD Date: Wed, 27 Feb 2013 11:57:26 +0100 Subject: Update module/plugins/hoster/RapidgatorNet.py bypass RapidGator download manager --- module/plugins/hoster/RapidgatorNet.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'module/plugins/hoster/RapidgatorNet.py') diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index b7e382c4e..750cf81a6 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -29,7 +29,7 @@ class RapidgatorNet(SimpleHoster): __name__ = "RapidgatorNet" __type__ = "hoster" __pattern__ = r"http://(?:www\.)?(rapidgator.net)/file/(\d+)" - __version__ = "0.12" + __version__ = "0.13" __description__ = """rapidgator.net""" __author_name__ = ("zoidberg","chrox") @@ -39,7 +39,7 @@ class RapidgatorNet(SimpleHoster): FILE_OFFLINE_PATTERN = r'File not found' JSVARS_PATTERN = r"\s+var\s*(startTimerUrl|getDownloadUrl|captchaUrl|fid|secs)\s*=\s*'?(.*?)'?;" - DOWNLOAD_LINK_PATTERN = r"location.href = '(.*?)'" + DOWNLOAD_LINK_PATTERN = r"else {\s*location.href = '(.*?)'" RECAPTCHA_KEY_PATTERN = r'"http://api.recaptcha.net/challenge?k=(.*?)"' ADSCAPTCHA_SRC_PATTERN = r'(http://api.adscaptcha.com/Get.aspx[^"\']*)' SOLVEMEDIA_PATTERN = r'http:\/\/api\.solvemedia\.com\/papi\/challenge\.script\?k=(.*?)"' @@ -193,4 +193,4 @@ class RapidgatorNet(SimpleHoster): self.logDebug(url, response) return json_loads(response) -getInfo = create_getInfo(RapidgatorNet) \ No newline at end of file +getInfo = create_getInfo(RapidgatorNet) -- cgit v1.2.3 From 8368a9a74d998b314f3864dcc8ce25c513d85cf9 Mon Sep 17 00:00:00 2001 From: Stefano Date: Thu, 7 Mar 2013 16:41:25 +0100 Subject: Various fixes in 24 plugins --- module/plugins/hoster/RapidgatorNet.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'module/plugins/hoster/RapidgatorNet.py') diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index 750cf81a6..8a440d410 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -29,7 +29,7 @@ class RapidgatorNet(SimpleHoster): __name__ = "RapidgatorNet" __type__ = "hoster" __pattern__ = r"http://(?:www\.)?(rapidgator.net)/file/(\d+)" - __version__ = "0.13" + __version__ = "0.14" __description__ = """rapidgator.net""" __author_name__ = ("zoidberg","chrox") @@ -139,11 +139,7 @@ class RapidgatorNet(SimpleHoster): captcha_key = found.group(1) captcha = SolveMedia(self) else: - self.parseError("Captcha:"+st) - if captcha.__class__.__name__ == "SolveMedia": - captcha_prov = "adcopy" - else: - captcha_prov = captcha.__class__.__name__.lower() + self.parseError("Captcha") for i in range(5): self.checkWait() -- cgit v1.2.3 From b870083b947431d1f1ec86b7dda954943216b352 Mon Sep 17 00:00:00 2001 From: Stefano Date: Sat, 16 Mar 2013 20:51:58 +0100 Subject: RapidgatorNet: Fixed bug #46 --- module/plugins/hoster/RapidgatorNet.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster/RapidgatorNet.py') diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index 8a440d410..6c1c231fe 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -29,7 +29,7 @@ class RapidgatorNet(SimpleHoster): __name__ = "RapidgatorNet" __type__ = "hoster" __pattern__ = r"http://(?:www\.)?(rapidgator.net)/file/(\d+)" - __version__ = "0.14" + __version__ = "0.15" __description__ = """rapidgator.net""" __author_name__ = ("zoidberg","chrox") @@ -39,7 +39,7 @@ class RapidgatorNet(SimpleHoster): FILE_OFFLINE_PATTERN = r'File not found' JSVARS_PATTERN = r"\s+var\s*(startTimerUrl|getDownloadUrl|captchaUrl|fid|secs)\s*=\s*'?(.*?)'?;" - DOWNLOAD_LINK_PATTERN = r"else {\s*location.href = '(.*?)'" + DOWNLOAD_LINK_PATTERN = r"location.href = '([^']+)';\s*}\s*return false;" RECAPTCHA_KEY_PATTERN = r'"http://api.recaptcha.net/challenge?k=(.*?)"' ADSCAPTCHA_SRC_PATTERN = r'(http://api.adscaptcha.com/Get.aspx[^"\']*)' SOLVEMEDIA_PATTERN = r'http:\/\/api\.solvemedia\.com\/papi\/challenge\.script\?k=(.*?)"' -- cgit v1.2.3 From be2e90dd2fd8ca1a25440803045de5c0be87c623 Mon Sep 17 00:00:00 2001 From: Stefano Date: Sun, 24 Mar 2013 13:44:08 +0100 Subject: Rapidgator: fixed bug #47 --- module/plugins/hoster/RapidgatorNet.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster/RapidgatorNet.py') diff --git a/module/plugins/hoster/RapidgatorNet.py b/module/plugins/hoster/RapidgatorNet.py index 6c1c231fe..1cc3ff8ae 100644 --- a/module/plugins/hoster/RapidgatorNet.py +++ b/module/plugins/hoster/RapidgatorNet.py @@ -28,8 +28,8 @@ from module.network.HTTPRequest import BadHeader class RapidgatorNet(SimpleHoster): __name__ = "RapidgatorNet" __type__ = "hoster" - __pattern__ = r"http://(?:www\.)?(rapidgator.net)/file/(\d+)" - __version__ = "0.15" + __pattern__ = r"http://(?:www\.)?(rapidgator.net)/file/(\w+)" + __version__ = "0.16" __description__ = """rapidgator.net""" __author_name__ = ("zoidberg","chrox") -- cgit v1.2.3