From 3bc3cbd3bee7e6dff4a4e4d33d1bffd358e38610 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 30 May 2015 03:33:54 +0200 Subject: New plugin: TinyurlCom --- module/plugins/crypter/TinyurlCom.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 module/plugins/crypter/TinyurlCom.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/TinyurlCom.py b/module/plugins/crypter/TinyurlCom.py new file mode 100644 index 000000000..4b5b35457 --- /dev/null +++ b/module/plugins/crypter/TinyurlCom.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- + +from module.plugins.internal.SimpleDereferer import SimpleDereferer, create_getInfo + + +class TinyurlCom(SimpleDereferer): + __name__ = "TinyurlCom" + __type__ = "crypter" + __version__ = "0.01" + + __pattern__ = r'https?://(?:www\.)?(preview\.)?tinyurl\.com/[\w-]+' + + __description__ = """Tinyurl.com decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + + + URL_REPLACEMENTS = [(r'preview\.', r'')] + + OFFLINE_PATTERN = r">Error: Unable to find site's URL to redirect to" + + +getInfo = create_getInfo(TinyurlCom) -- cgit v1.2.3 From ffa9ca998bc4d63e9050b2e4529aac0bc3b313ec Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 30 May 2015 03:36:20 +0200 Subject: Remove DontKnowMe --- module/plugins/crypter/DontKnowMe.py | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 module/plugins/crypter/DontKnowMe.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/DontKnowMe.py b/module/plugins/crypter/DontKnowMe.py deleted file mode 100644 index e56751972..000000000 --- a/module/plugins/crypter/DontKnowMe.py +++ /dev/null @@ -1,17 +0,0 @@ -# -*- coding: utf-8 -*- - -from module.plugins.internal.SimpleDereferer import SimpleDereferer - - -class DontKnowMe(SimpleDereferer): - __name__ = "DontKnowMe" - __type__ = "crypter" - __version__ = "0.11" - - __pattern__ = r'http://(?:www\.)?dontknow\.me/at/\?(?P.+)' - __config__ = [("use_subfolder" , "bool", "Save package to subfolder" , True), - ("subfolder_per_pack", "bool", "Create a subfolder for each package", True)] - - __description__ = """DontKnow.me decrypter plugin""" - __license__ = "GPLv3" - __authors__ = [("selaux", "")] -- cgit v1.2.3 From 0d86af276ac81e610ca20d3c221c1f1caf2a525a Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 30 May 2015 03:44:08 +0200 Subject: Update plugins after splitting CaptchaService --- module/plugins/crypter/FilecryptCc.py | 4 ++-- module/plugins/crypter/NCryptIn.py | 4 ++-- module/plugins/crypter/SafelinkingNet.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FilecryptCc.py b/module/plugins/crypter/FilecryptCc.py index a1a94b6f6..4d2b42f90 100644 --- a/module/plugins/crypter/FilecryptCc.py +++ b/module/plugins/crypter/FilecryptCc.py @@ -10,13 +10,13 @@ import urlparse from Crypto.Cipher import AES from module.plugins.Crypter import Crypter -from module.plugins.internal.CaptchaService import ReCaptcha +from module.plugins.internal.ReCaptcha import ReCaptcha class FilecryptCc(Crypter): __name__ = "FilecryptCc" __type__ = "crypter" - __version__ = "0.14" + __version__ = "0.15" __pattern__ = r'https?://(?:www\.)?filecrypt\.cc/Container/\w+' diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index 8ceb9d3c8..593e9b506 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -6,13 +6,13 @@ import re from Crypto.Cipher import AES from module.plugins.Crypter import Crypter -from module.plugins.internal.CaptchaService import ReCaptcha +from module.plugins.internal.ReCaptcha import ReCaptcha class NCryptIn(Crypter): __name__ = "NCryptIn" __type__ = "crypter" - __version__ = "1.34" + __version__ = "1.35" __pattern__ = r'http://(?:www\.)?ncrypt\.in/(?Pfolder|link|frame)-([^/\?]+)' __config__ = [("use_subfolder" , "bool", "Save package to subfolder" , True), diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index 7f0915065..5d822af11 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -6,13 +6,13 @@ from BeautifulSoup import BeautifulSoup from module.common.json_layer import json_loads from module.plugins.Crypter import Crypter -from module.plugins.internal.CaptchaService import SolveMedia +from module.plugins.internal.SolveMedia import SolveMedia class SafelinkingNet(Crypter): __name__ = "SafelinkingNet" __type__ = "crypter" - __version__ = "0.14" + __version__ = "0.15" __pattern__ = r'https?://(?:www\.)?safelinking\.net/([pd])/\w+' __config__ = [("use_subfolder" , "bool", "Save package to subfolder" , True), -- cgit v1.2.3 From 10ed9dbcee2c996dd348db4ad57d824c9d454005 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 30 May 2015 03:55:01 +0200 Subject: [Dereferer][SimpleDereferer] Update --- module/plugins/crypter/Dereferer.py | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/Dereferer.py b/module/plugins/crypter/Dereferer.py index 8427c1540..8e56a7bfc 100644 --- a/module/plugins/crypter/Dereferer.py +++ b/module/plugins/crypter/Dereferer.py @@ -6,12 +6,39 @@ from module.plugins.internal.SimpleDereferer import SimpleDereferer class Dereferer(SimpleDereferer): __name__ = "Dereferer" __type__ = "crypter" - __version__ = "0.11" + __version__ = "0.12" - __pattern__ = r'https?://([^/]+)/.*?(?P(ht|f)tps?(://|%3A%2F%2F).+)' + __pattern__ = r'https?://(?:www\.)?(?:\w+\.)*?(?P(?:[\d.]+|[\w\-]{3,}(?:\.[a-zA-Z]{2,}){1,2})(?:\:\d+)?)/.*?(?P(?:ht|f)tps?://.+)' __config__ = [("use_subfolder" , "bool", "Save package to subfolder" , True), ("subfolder_per_pack", "bool", "Create a subfolder for each package", True)] __description__ = """Crypter for dereferers""" __license__ = "GPLv3" - __authors__ = [("zoidberg", "zoidberg@mujmail.cz")] + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] + + + HOSTER_DOMAIN = None + HOSTER_NAME = None + + + def _log(self, type, args): + msg = " | ".join(str(a).strip() for a in args if a) + logger = getattr(self.log, type) + logger("%s: %s: %s" % (self.__name__, self.HOSTER_NAME, msg or _("%s MARK" % type.upper()))) + + + def init(self): + super(Dereferer, self).init() + + self.__pattern__ = self.core.pluginManager.crypterPlugins[self.__name__]['pattern'] #@TODO: Recheck in 0.4.10 + + self.HOSTER_DOMAIN = re.match(self.__pattern__, self.pyfile.url).group("DOMAIN").lower() + self.HOSTER_NAME = "".join(part.capitalize() for part in re.split(r'(\.|\d+)', self.HOSTER_DOMAIN) if part != '.') + + + def getLink(self): + try: + return re.match(self.__pattern__, pyfile.url).group('LINK').strip() + + except Exception, e: + self.logWarning(e) -- cgit v1.2.3 From 37f6aa40d0eccd36fa43468307cfacb5d59a749e Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 30 May 2015 04:12:15 +0200 Subject: [XFileSharingPro][XFileSharingProFolder] Added default __pattern__ --- module/plugins/crypter/XFileSharingProFolder.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/XFileSharingProFolder.py b/module/plugins/crypter/XFileSharingProFolder.py index 8b850271d..2e1a2f022 100644 --- a/module/plugins/crypter/XFileSharingProFolder.py +++ b/module/plugins/crypter/XFileSharingProFolder.py @@ -8,9 +8,9 @@ from module.plugins.internal.XFSCrypter import XFSCrypter, create_getInfo class XFileSharingProFolder(XFSCrypter): __name__ = "XFileSharingProFolder" __type__ = "crypter" - __version__ = "0.05" + __version__ = "0.06" - __pattern__ = r'^unmatchable$' + __pattern__ = r'https?://(?:www\.)?(?:\w+\.)*?(?P(?:[\d.]+|[\w\-^_]{3,}(?:\.[a-zA-Z]{2,}){1,2})(?:\:\d+)?)/(?:user|folder)s?/\w+' __config__ = [("use_subfolder" , "bool", "Save package to subfolder" , True), ("subfolder_per_pack", "bool", "Create a subfolder for each package", True)] -- cgit v1.2.3 From fcdc1f730118050e390ad2d9fa337ce62809d9a6 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 30 May 2015 15:54:38 +0200 Subject: [SimpleCrypter] Merge with SimpleDereferer --- module/plugins/crypter/Dereferer.py | 14 +++++--------- module/plugins/crypter/GooGl.py | 10 +++++----- module/plugins/crypter/LinkSaveIn.py | 6 +++--- module/plugins/crypter/TinyurlCom.py | 6 +++--- 4 files changed, 16 insertions(+), 20 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/Dereferer.py b/module/plugins/crypter/Dereferer.py index 8e56a7bfc..985c97f3d 100644 --- a/module/plugins/crypter/Dereferer.py +++ b/module/plugins/crypter/Dereferer.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleDereferer import SimpleDereferer +from module.plugins.internal.SimpleCrypter import SimpleCrypter -class Dereferer(SimpleDereferer): +class Dereferer(SimpleCrypter): __name__ = "Dereferer" __type__ = "crypter" - __version__ = "0.12" + __version__ = "0.13" __pattern__ = r'https?://(?:www\.)?(?:\w+\.)*?(?P(?:[\d.]+|[\w\-]{3,}(?:\.[a-zA-Z]{2,}){1,2})(?:\:\d+)?)/.*?(?P(?:ht|f)tps?://.+)' __config__ = [("use_subfolder" , "bool", "Save package to subfolder" , True), @@ -36,9 +36,5 @@ class Dereferer(SimpleDereferer): self.HOSTER_NAME = "".join(part.capitalize() for part in re.split(r'(\.|\d+)', self.HOSTER_DOMAIN) if part != '.') - def getLink(self): - try: - return re.match(self.__pattern__, pyfile.url).group('LINK').strip() - - except Exception, e: - self.logWarning(e) + def getLinks(self): + return [re.match(self.__pattern__, pyfile.url).group('LINK').strip()] diff --git a/module/plugins/crypter/GooGl.py b/module/plugins/crypter/GooGl.py index 30e193b9d..b36e22884 100644 --- a/module/plugins/crypter/GooGl.py +++ b/module/plugins/crypter/GooGl.py @@ -1,13 +1,13 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleDereferer import SimpleDereferer, create_getInfo +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo from module.common.json_layer import json_loads -class GooGl(SimpleDereferer): +class GooGl(SimpleCrypter): __name__ = "GooGl" __type__ = "crypter" - __version__ = "0.02" + __version__ = "0.03" __pattern__ = r'https?://(?:www\.)?goo\.gl/([a-zA-Z]+/)?\w+' @@ -22,11 +22,11 @@ class GooGl(SimpleDereferer): OFFLINE_PATTERN = r'has been disabled|does not exist' - def getLink(self): + def getLinks(self): rep = self.load(self.API_URL, get={'shortUrl': self.pyfile.url}) self.logDebug("JSON data: " + rep) rep = json_loads(rep) - return rep['longUrl'] if "longUrl" in rep else None + return [rep['longUrl']] if "longUrl" in rep else None getInfo = create_getInfo(GooGl) diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 95652096d..dce74b689 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleDereferer import SimpleDereferer, create_getInfo +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo -class LinkSaveIn(SimpleDereferer): +class LinkSaveIn(SimpleCrypter): __name__ = "LinkSaveIn" __type__ = "crypter" - __version__ = "2.04" + __version__ = "2.05" __pattern__ = r'https?://(?:www\.)?linksave\.in/\w+' __config__ = [("use_subfolder" , "bool", "Save package to subfolder" , True), diff --git a/module/plugins/crypter/TinyurlCom.py b/module/plugins/crypter/TinyurlCom.py index 4b5b35457..e2cf50358 100644 --- a/module/plugins/crypter/TinyurlCom.py +++ b/module/plugins/crypter/TinyurlCom.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -from module.plugins.internal.SimpleDereferer import SimpleDereferer, create_getInfo +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo -class TinyurlCom(SimpleDereferer): +class TinyurlCom(SimpleCrypter): __name__ = "TinyurlCom" __type__ = "crypter" - __version__ = "0.01" + __version__ = "0.02" __pattern__ = r'https?://(?:www\.)?(preview\.)?tinyurl\.com/[\w-]+' -- cgit v1.2.3 From d9e2d48267043ce03859b01b2e3afafb09278a62 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 30 May 2015 15:55:05 +0200 Subject: New plugin: FurLy --- module/plugins/crypter/FurLy.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 module/plugins/crypter/FurLy.py (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FurLy.py b/module/plugins/crypter/FurLy.py new file mode 100644 index 000000000..dd907829b --- /dev/null +++ b/module/plugins/crypter/FurLy.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- + +from module.plugins.internal.SimpleCrypter import SimpleCrypter, create_getInfo + + +class FurLy(SimpleCrypter): + __name__ = "FurLy" + __type__ = "crypter" + __version__ = "0.01" + + __pattern__ = r'http://(?:www\.)?fur\.ly/(\d/)?\w+' + + __description__ = """Fur.ly decrypter plugin""" + __license__ = "GPLv3" + __authors__ = [("Walter Purcaro", "vuolter@gmail.com" )] + + + URL_REPLACEMENTS = [(r'fur\.ly/', r'fur\.ly/bar/')] + + LINK_PATTERN = r'urls\[\d+\] = "(.+?)"' + OFFLINE_PATTERN = r'var output;\s*var total' + + +getInfo = create_getInfo(FurLy) -- cgit v1.2.3 From 670d3bffb19c3e1cc4be06a81165e055edeb1692 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 30 May 2015 21:16:41 +0200 Subject: [MegaCoNz] Update __pattern__ --- module/plugins/crypter/FurLy.py | 2 +- module/plugins/crypter/MegaCoNzFolder.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/FurLy.py b/module/plugins/crypter/FurLy.py index dd907829b..b8e9332e2 100644 --- a/module/plugins/crypter/FurLy.py +++ b/module/plugins/crypter/FurLy.py @@ -12,7 +12,7 @@ class FurLy(SimpleCrypter): __description__ = """Fur.ly decrypter plugin""" __license__ = "GPLv3" - __authors__ = [("Walter Purcaro", "vuolter@gmail.com" )] + __authors__ = [("Walter Purcaro", "vuolter@gmail.com")] URL_REPLACEMENTS = [(r'fur\.ly/', r'fur\.ly/bar/')] diff --git a/module/plugins/crypter/MegaCoNzFolder.py b/module/plugins/crypter/MegaCoNzFolder.py index bd135ac5f..0c6f224a4 100644 --- a/module/plugins/crypter/MegaCoNzFolder.py +++ b/module/plugins/crypter/MegaCoNzFolder.py @@ -10,7 +10,7 @@ class MegaCoNzFolder(Crypter): __type__ = "crypter" __version__ = "0.04" - __pattern__ = r'(?:https?://(?:www\.)?mega\.co\.nz/|mega:|chrome:.+?)#F!(?P[\w^_]+)!(?P[\w,\\-]+)' + __pattern__ = r'(?:https?://(?:www\.)?mega(\.co)?\.nz/|mega:|chrome:.+?)#F!(?P[\w^_]+)!(?P[\w,\\-]+)' __config__ = [("use_subfolder" , "bool", "Save package to subfolder" , True), ("subfolder_per_pack", "bool", "Create a subfolder for each package", True)] @@ -26,7 +26,7 @@ class MegaCoNzFolder(Crypter): def decrypt(self, pyfile): url = "https://mega.co.nz/#F!%s!%s" % re.match(self.__pattern__, pyfile.url).groups() self.html = self.load("http://rapidgen.org/linkfinder", post={'linklisturl': url}) - self.urls = re.findall(r'(https://mega.co.nz/#N!.+?)<', self.html) + self.urls = re.findall(r'(https://mega(\.co)?\.nz/#N!.+?)<', self.html) if not self.urls: #@TODO: Remove in 0.4.10 self.fail(_("No link grabbed")) -- cgit v1.2.3 From a335131bd0056885a410f29df946e3e4050a7f31 Mon Sep 17 00:00:00 2001 From: GammaC0de Date: Mon, 1 Jun 2015 23:57:41 +0300 Subject: Update Dereferer.py --- module/plugins/crypter/Dereferer.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'module/plugins/crypter') diff --git a/module/plugins/crypter/Dereferer.py b/module/plugins/crypter/Dereferer.py index 985c97f3d..85b84a242 100644 --- a/module/plugins/crypter/Dereferer.py +++ b/module/plugins/crypter/Dereferer.py @@ -1,12 +1,14 @@ # -*- coding: utf-8 -*- +import re + from module.plugins.internal.SimpleCrypter import SimpleCrypter class Dereferer(SimpleCrypter): __name__ = "Dereferer" __type__ = "crypter" - __version__ = "0.13" + __version__ = "0.14" __pattern__ = r'https?://(?:www\.)?(?:\w+\.)*?(?P(?:[\d.]+|[\w\-]{3,}(?:\.[a-zA-Z]{2,}){1,2})(?:\:\d+)?)/.*?(?P(?:ht|f)tps?://.+)' __config__ = [("use_subfolder" , "bool", "Save package to subfolder" , True), @@ -37,4 +39,4 @@ class Dereferer(SimpleCrypter): def getLinks(self): - return [re.match(self.__pattern__, pyfile.url).group('LINK').strip()] + return [re.match(self.__pattern__, self.pyfile.url).group('LINK').strip()] -- cgit v1.2.3