diff options
Diffstat (limited to 'module/plugins/internal/AdsCaptcha.py')
-rw-r--r-- | module/plugins/internal/AdsCaptcha.py | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/module/plugins/internal/AdsCaptcha.py b/module/plugins/internal/AdsCaptcha.py deleted file mode 100644 index f487042e2..000000000 --- a/module/plugins/internal/AdsCaptcha.py +++ /dev/null @@ -1,64 +0,0 @@ -# -*- coding: utf-8 -*- - -import random -import re - -from module.plugins.internal.CaptchaService import CaptchaService - - -class AdsCaptcha(CaptchaService): - __name__ = "AdsCaptcha" - __type__ = "captcha" - __version__ = "0.10" - __status__ = "stable" - - __description__ = """AdsCaptcha captcha service plugin""" - __license__ = "GPLv3" - __authors__ = [("pyLoad Team", "admin@pyload.org")] - - - CAPTCHAID_PATTERN = r'api\.adscaptcha\.com/Get\.aspx\?.*?CaptchaId=(\d+)' - PUBLICKEY_PATTERN = r'api\.adscaptcha\.com/Get\.aspx\?.*?PublicKey=([\w-]+)' - - - def detect_key(self, data=None): - html = data or self.retrieve_data() - - m = re.search(self.PUBLICKEY_PATTERN, html) - n = re.search(self.CAPTCHAID_PATTERN, html) - if m and n: - self.key = (m.group(1).strip(), n.group(1).strip()) #: Key is the tuple(PublicKey, CaptchaId) - self.log_debug("Key: %s | ID: %s" % self.key) - return self.key - else: - self.log_warning(_("Key or id pattern not found")) - return None - - - def challenge(self, key=None, data=None): - PublicKey, CaptchaId = key or self.retrieve_key(data) - - html = self.plugin.load("http://api.adscaptcha.com/Get.aspx", - get={'CaptchaId': CaptchaId, - 'PublicKey': PublicKey}) - try: - challenge = re.search("challenge: '(.+?)',", html).group(1) - server = re.search("server: '(.+?)',", html).group(1) - - except AttributeError: - self.fail(_("AdsCaptcha challenge pattern not found")) - - self.log_debug("Challenge: %s" % challenge) - - return self.result(server, challenge), challenge - - - def result(self, server, challenge): - result = self.decrypt_image("%sChallenge.aspx" % server, - get={'cid': challenge, 'dummy': random.random()}, - cookies=True, - input_type="jpg") - - self.log_debug("Result: %s" % result) - - return result |