summaryrefslogtreecommitdiffstats
path: root/module/plugins/hoster
diff options
context:
space:
mode:
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.py12
-rw-r--r--module/plugins/hoster/UlozTo.py8
-rw-r--r--module/plugins/hoster/UptoboxCom.py4
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<'