diff options
Diffstat (limited to 'module/plugins/hoster')
-rw-r--r-- | module/plugins/hoster/BigfileTo.py (renamed from module/plugins/hoster/UploadableCh.py) | 52 | ||||
-rw-r--r-- | module/plugins/hoster/OboomCom.py | 12 | ||||
-rw-r--r-- | module/plugins/hoster/UlozTo.py | 8 | ||||
-rw-r--r-- | module/plugins/hoster/UptoboxCom.py | 4 |
4 files changed, 39 insertions, 37 deletions
diff --git a/module/plugins/hoster/UploadableCh.py b/module/plugins/hoster/BigfileTo.py index ad38af8d9..045d28297 100644 --- a/module/plugins/hoster/UploadableCh.py +++ b/module/plugins/hoster/BigfileTo.py @@ -2,30 +2,32 @@ import re +from module.plugins.internal.misc import json from module.plugins.captcha.ReCaptcha import ReCaptcha from module.plugins.internal.SimpleHoster import SimpleHoster -class UploadableCh(SimpleHoster): - __name__ = "UploadableCh" +class BigfileTo(SimpleHoster): + __name__ = "BigfileTo" __type__ = "hoster" - __version__ = "0.16" + __version__ = "0.18" __status__ = "testing" - __pattern__ = r'http://(?:www\.)?uploadable\.ch/file/(?P<ID>\w+)' + __pattern__ = r'https?://(?:www\.)?(?:uploadable\.ch|bigfile.to)/file/(?P<ID>\w+)' __config__ = [("activated" , "bool", "Activated" , True), ("use_premium" , "bool", "Use premium account if available" , True), ("fallback" , "bool", "Fallback to free download if premium fails" , True), ("chk_filesize", "bool", "Check file size" , True), ("max_wait" , "int" , "Reconnect if waiting time is greater than minutes", 10 )] - __description__ = """Uploadable.ch hoster plugin""" + __description__ = """bigfile.to hoster plugin""" __license__ = "GPLv3" - __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de"), - ("Walter Purcaro", "vuolter@gmail.com")] + __authors__ = [("zapp-brannigan", "fuerst.reinje@web.de" ), + ("Walter Purcaro", "vuolter@gmail.com" ), + ("GammaC0de" , "nitzo2001[AT]yahoo[DOT]com")] - URL_REPLACEMENTS = [(__pattern__ + ".*", r'http://www.uploadable.ch/file/\g<ID>')] + URL_REPLACEMENTS = [(__pattern__ + ".*", r'https://www.bigfile.to/file/\g<ID>')] INFO_PATTERN = r'div id=\"file_name\" title=.*>(?P<N>.+)<span class=\"filename_normal\">\((?P<S>[\d.]+) (?P<U>\w+)\)</span><' @@ -34,37 +36,35 @@ class UploadableCh(SimpleHoster): WAIT_PATTERN = r'>Please wait[^<]+' - RECAPTCHA_KEY = "6LdlJuwSAAAAAPJbPIoUhyqOJd7-yrah5Nhim5S3" + RECAPTCHA_KEY = "6LfZ0RETAAAAAOjhYT7V9ukeCT3wWccw98uc50vu" def handle_free(self, pyfile): #: Click the "free user" button and wait - a = self.load(pyfile.url, post={'downloadLink': "wait"}) - self.log_debug(a) + json_data = json.loads(self.load(pyfile.url, post={'downloadLink': "wait"})) - self.wait(30) + self.wait(json_data['waitTime']) #: Make the ReCaptcha appear and show it the pyload interface - b = self.load(pyfile.url, post={'checkDownload': "check"}) - self.log_debug(b) #: Expected output: {'success': "showCaptcha"} + json_data = json.loads(self.load(pyfile.url, post={'checkDownload': "check"})) + if json_data['success'] == "showCaptcha": + self.captcha = ReCaptcha(pyfile) - self.captcha = ReCaptcha(pyfile) + response, challenge = self.captcha.challenge(self.RECAPTCHA_KEY) - response, challenge = self.captcha.challenge(self.RECAPTCHA_KEY) + #: Submit the captcha solution + json_data = json.loads(self.load("https://www.bigfile.to/checkReCaptcha.php", + post={'recaptcha_challenge_field' : challenge, + 'recaptcha_response_field' : response, + 'recaptcha_shortencode_field': self.info['pattern']['ID']})) + self.log_debug("json_data", json_data) + if json_data['success'] != 1: + self.retry_captcha() - #: Submit the captcha solution - self.load("http://www.uploadable.ch/checkReCaptcha.php", - post={'recaptcha_challenge_field' : challenge, - 'recaptcha_response_field' : response, - 'recaptcha_shortencode_field': self.info['pattern']['ID']}) - - self.wait(3) #: Get ready for downloading self.load(pyfile.url, post={'downloadLink': "show"}) - self.wait(3) - #: Download the file self.download(pyfile.url, post={'download': "normal"}, disposition=True) @@ -75,4 +75,4 @@ class UploadableCh(SimpleHoster): self.wait(60 * 60, True) self.retry() - return super(UploadableCh, self).check_download() + return super(BigfileTo, self).check_download() diff --git a/module/plugins/hoster/OboomCom.py b/module/plugins/hoster/OboomCom.py index ef2cdbf29..eee53c10d 100644 --- a/module/plugins/hoster/OboomCom.py +++ b/module/plugins/hoster/OboomCom.py @@ -13,7 +13,7 @@ from module.plugins.captcha.ReCaptcha import ReCaptcha class OboomCom(Hoster): __name__ = "OboomCom" __type__ = "hoster" - __version__ = "0.43" + __version__ = "0.44" __status__ = "testing" __pattern__ = r'https?://(?:www\.)?oboom\.com/(?:#(?:id=|/)?)?(?P<ID>\w{8})' @@ -89,8 +89,7 @@ class OboomCom(Hoster): self.captcha.correct() self.wait(30) - else: - if result[0] == 403: + elif result[0] == 403: if result[1] == -1: #: Another download is running self.set_wait(15 * 60) else: @@ -100,10 +99,11 @@ class OboomCom(Hoster): self.wait() self.retry(5) - elif result[0] == 400 and result[1] == "forbidden": - self.retry(5, 15 * 60, _("Service unavailable")) + elif result[0] == 400 and result[1] == "forbidden": + self.retry(5, 15 * 60, _("Service unavailable")) - self.retry_captcha() + else: + self.retry_captcha() def get_fileInfo(self, token, fileId): diff --git a/module/plugins/hoster/UlozTo.py b/module/plugins/hoster/UlozTo.py index 478758492..0d3739a0a 100644 --- a/module/plugins/hoster/UlozTo.py +++ b/module/plugins/hoster/UlozTo.py @@ -14,7 +14,7 @@ def convert_decimal_prefix(m): class UlozTo(SimpleHoster): __name__ = "UlozTo" __type__ = "hoster" - __version__ = "1.33" + __version__ = "1.34" __status__ = "testing" __pattern__ = r'https?://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj\.cz|zachowajto\.pl|pornfile\.cz)/(?:live/)?(?P<ID>\w+/[^/?]*)' @@ -38,7 +38,9 @@ class UlozTo(SimpleHoster): OFFLINE_PATTERN = r'<title>404 - Page not found</title>|<h1 class="h1">File (has been deleted|was banned)</h1>' URL_REPLACEMENTS = [(r'(?<=http://)([^/]+)', "www.ulozto.net"), - ("http://", "https://")] + ("http://", "https://"), + (r'(uloz\.to|ulozto\.(cz|sk|net)|bagruj\.cz|zachowajto\.pl|pornfile\.cz)', "ulozto.net")] + SIZE_REPLACEMENTS = [(r'([\d.]+)\s([kMG])B', convert_decimal_prefix)] CHECK_TRAFFIC = True @@ -152,7 +154,7 @@ class UlozTo(SimpleHoster): 'wrong_captcha': ">An error ocurred while verifying the user", 'offline' : re.compile(self.OFFLINE_PATTERN), 'passwd' : self.PASSWD_PATTERN, - 'server_error' : 'src="https://img.ulozto.cz/error403/vykricnik.jpg"', #: Paralell dl, server overload etc. + 'server_error' : "<h1>Z Tvého počítače se již stahuje", #: Paralell dl, server overload etc. 'not_found' : "<title>Ulož.to</title>" }) diff --git a/module/plugins/hoster/UptoboxCom.py b/module/plugins/hoster/UptoboxCom.py index 4783adf8a..1c57f091c 100644 --- a/module/plugins/hoster/UptoboxCom.py +++ b/module/plugins/hoster/UptoboxCom.py @@ -6,7 +6,7 @@ from module.plugins.internal.XFSHoster import XFSHoster class UptoboxCom(XFSHoster): __name__ = "UptoboxCom" __type__ = "hoster" - __version__ = "0.26" + __version__ = "0.27" __status__ = "testing" __pattern__ = r'https?://(?:www\.)?(uptobox|uptostream)\.com/\w{12}' @@ -27,7 +27,7 @@ class UptoboxCom(XFSHoster): OFFLINE_PATTERN = r'>(File not found|Access Denied|404 Not Found)' TEMP_OFFLINE_PATTERN = r'>Service Unavailable' - LINK_PATTERN = r'"(https?://\w+\.uptobox\.com/d/.*?)"' + LINK_PATTERN = r'"(https?://(?:obwp\d+\.uptobox\.com|\w+\.uptobox\.com/d)/.*?)"' DL_LIMIT_PATTERN = r'>You have to wait (.+) to launch a new download<' |