diff options
author | zapp-brannigan <zapp-brannigan@users.noreply.github.com> | 2014-12-11 17:13:58 +0100 |
---|---|---|
committer | zapp-brannigan <zapp-brannigan@users.noreply.github.com> | 2014-12-11 17:13:58 +0100 |
commit | 5981ad8ebf968642d433c3aeb8b8da9202f7615c (patch) | |
tree | 8147b8f2e4605937f20e74785c2f3352ed864fa5 /module/plugins/crypter | |
parent | [DebridItaliaCom] Typo fixup (diff) | |
download | pyload-5981ad8ebf968642d433c3aeb8b8da9202f7615c.tar.xz |
[FilecryptCc.py] Upgrade captcha handling
Added support for "click the open circle" captchas.
Diffstat (limited to 'module/plugins/crypter')
-rw-r--r-- | module/plugins/crypter/FilecryptCc.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/module/plugins/crypter/FilecryptCc.py b/module/plugins/crypter/FilecryptCc.py index fb53e616b..9623ffdee 100644 --- a/module/plugins/crypter/FilecryptCc.py +++ b/module/plugins/crypter/FilecryptCc.py @@ -12,7 +12,7 @@ from module.plugins.Crypter import Crypter class FilecryptCc(Crypter): __name__ = "FilecryptCc" __type__ = "crypter" - __version__ = "0.05" + __version__ = "0.06" __pattern__ = r'https?://(?:www\.)?filecrypt\.cc/Container/\w+' @@ -27,6 +27,7 @@ class FilecryptCc(Crypter): WEBLINK_PATTERN = r"openLink.?'([\w_-]*)'," CAPTCHA_PATTERN = r'<img id="nc" src="(.+?)"' + CIRCLECAPTCHA_PATTERN = r'<input type="image" src="(.+?)"' MIRROR_PAGE_PATTERN = r'"[\w]*" href="(http://filecrypt.cc/Container/\w+\.html\?mirror=\d+)">' @@ -38,7 +39,7 @@ class FilecryptCc(Crypter): def decrypt(self, pyfile): self.html = self.load(pyfile.url, cookies=True) - if "content not found" in self.html: + if "content notfound" in self.html: #@pyload-devs: this is _not_ a typo self.offline() self.handlePasswordProtection() @@ -78,16 +79,21 @@ class FilecryptCc(Crypter): def handleCaptcha(self): m = re.search(self.CAPTCHA_PATTERN, self.html) + found = re.search(self.CIRCLECAPTCHA_PATTERN, self.html) - if m: + if m: #normal captcha self.logDebug("Captcha-URL: %s" % m.group(1)) captcha_code = self.decryptCaptcha("http://filecrypt.cc" + m.group(1), forceUser=True, imgtype="gif") self.siteWithLinks = self.load(self.pyfile.url, post={"recaptcha_response_field":captcha_code}, decode=True, cookies=True) + elif found: #circle captcha + self.logDebug("Captcha-URL: %s" % found.group(1)) + captcha_code = self.decryptCaptcha("http://filecrypt.cc" + found.group(1), forceUser=True, imgtype="gif", result_type='positional') + self.siteWithLinks = self.load(self.pyfile.url, post={"button.x":captcha_code[0], "button.y":captcha_code[1]}, decode=True, cookies=True) else: self.logDebug("No captcha found") self.siteWithLinks = self.html - if "recaptcha_response_field" in self.siteWithLinks: + if "recaptcha_image" in self.siteWithLinks: self.invalidCaptcha() self.retry() |