summaryrefslogtreecommitdiffstats
path: root/module/plugins/internal/AdsCaptcha.py
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/internal/AdsCaptcha.py')
-rw-r--r--module/plugins/internal/AdsCaptcha.py64
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