diff options
author | Walter Purcaro <vuolter@gmail.com> | 2014-07-15 16:27:44 +0200 |
---|---|---|
committer | Walter Purcaro <vuolter@gmail.com> | 2014-07-15 16:27:44 +0200 |
commit | 8e47b0de30a25d0fd5dfb518bfe4e1e7beff93fd (patch) | |
tree | 518c204aa8edbc8b0d33fe1aaa614e539438fae9 /module/plugins | |
parent | Prefer single quote for dict key name (diff) | |
download | pyload-8e47b0de30a25d0fd5dfb518bfe4e1e7beff93fd.tar.xz |
Key attributes cleanup for account, container and crypter plugins
Diffstat (limited to 'module/plugins')
141 files changed, 420 insertions, 96 deletions
diff --git a/module/plugins/accounts/AlldebridCom.py b/module/plugins/accounts/AlldebridCom.py index ee0a2ff28..122d23447 100644 --- a/module/plugins/accounts/AlldebridCom.py +++ b/module/plugins/accounts/AlldebridCom.py @@ -13,10 +13,12 @@ class AlldebridCom(Account): __name__ = "AlldebridCom" __version__ = "0.22" __type__ = "account" + __description__ = """AllDebrid.com account plugin""" __author_name__ = "Andy Voigt" __author_mail__ = "spamsales@online.de" + def loadAccountInfo(self, user, req): data = self.getAccountData(user) page = req.load("http://www.alldebrid.com/account/") diff --git a/module/plugins/accounts/BayfilesCom.py b/module/plugins/accounts/BayfilesCom.py index 8f11af2ef..9d497ccb2 100644 --- a/module/plugins/accounts/BayfilesCom.py +++ b/module/plugins/accounts/BayfilesCom.py @@ -25,10 +25,12 @@ class BayfilesCom(Account): __name__ = "BayfilesCom" __version__ = "0.03" __type__ = "account" + __description__ = """Bayfiles.com account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" + def loadAccountInfo(self, user, req): for _ in xrange(2): response = json_loads(req.load("http://api.bayfiles.com/v1/account/info")) diff --git a/module/plugins/accounts/BitshareCom.py b/module/plugins/accounts/BitshareCom.py index 09ff76efb..3802b2c46 100644 --- a/module/plugins/accounts/BitshareCom.py +++ b/module/plugins/accounts/BitshareCom.py @@ -22,10 +22,12 @@ class BitshareCom(Account): __name__ = "BitshareCom" __version__ = "0.12" __type__ = "account" + __description__ = """Bitshare account plugin""" __author_name__ = "Paul King" __author_mail__ = None + def loadAccountInfo(self, user, req): page = req.load("http://bitshare.com/mysettings.html") diff --git a/module/plugins/accounts/CramitIn.py b/module/plugins/accounts/CramitIn.py index 56cb5390b..9d352c967 100644 --- a/module/plugins/accounts/CramitIn.py +++ b/module/plugins/accounts/CramitIn.py @@ -7,6 +7,7 @@ class CramitIn(XFSPAccount): __name__ = "CramitIn" __version__ = "0.01" __type__ = "account" + __description__ = """Cramit.in account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/accounts/CyberlockerCh.py b/module/plugins/accounts/CyberlockerCh.py index 4f3189b0c..297808a6e 100644 --- a/module/plugins/accounts/CyberlockerCh.py +++ b/module/plugins/accounts/CyberlockerCh.py @@ -8,12 +8,14 @@ class CyberlockerCh(XFSPAccount): __name__ = "CyberlockerCh" __version__ = "0.01" __type__ = "account" + __description__ = """Cyberlocker.ch account plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" MAIN_PAGE = "http://cyberlocker.ch/" + def login(self, user, data, req): html = req.load(self.MAIN_PAGE + 'login.html', decode=True) diff --git a/module/plugins/accounts/CzshareCom.py b/module/plugins/accounts/CzshareCom.py index 3545baa7e..92d0e61e8 100644 --- a/module/plugins/accounts/CzshareCom.py +++ b/module/plugins/accounts/CzshareCom.py @@ -25,12 +25,14 @@ class CzshareCom(Account): __name__ = "CzshareCom" __version__ = "0.14" __type__ = "account" + __description__ = """Czshare.com account plugin, now Sdilej.cz""" __author_name__ = ("zoidberg", "stickell") __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it") CREDIT_LEFT_PATTERN = r'<tr class="active">\s*<td>([0-9 ,]+) (KiB|MiB|GiB)</td>\s*<td>([^<]*)</td>\s*</tr>' + def loadAccountInfo(self, user, req): html = req.load("http://sdilej.cz/prehled_kreditu/") diff --git a/module/plugins/accounts/DdlstorageCom.py b/module/plugins/accounts/DdlstorageCom.py index f3eebc59b..9d90f4dab 100644 --- a/module/plugins/accounts/DdlstorageCom.py +++ b/module/plugins/accounts/DdlstorageCom.py @@ -15,12 +15,14 @@ class DdlstorageCom(XFSPAccount): __name__ = "DdlstorageCom" __version__ = "1.00" __type__ = "account" + __description__ = """DDLStorage.com account plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" MAIN_PAGE = "http://ddlstorage.com/" + def loadAccountInfo(self, user, req): password = self.accounts[user]['password'] api_data = req.load('http://www.ddlstorage.com/cgi-bin/api_req.cgi', diff --git a/module/plugins/accounts/DebridItaliaCom.py b/module/plugins/accounts/DebridItaliaCom.py index 29aef4546..1ee0d96c2 100644 --- a/module/plugins/accounts/DebridItaliaCom.py +++ b/module/plugins/accounts/DebridItaliaCom.py @@ -24,12 +24,14 @@ class DebridItaliaCom(Account): __name__ = "DebridItaliaCom" __version__ = "0.1" __type__ = "account" + __description__ = """Debriditalia.com account plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" WALID_UNTIL_PATTERN = r"Premium valid till: (?P<D>[^|]+) \|" + def loadAccountInfo(self, user, req): if 'Account premium not activated' in self.html: return {"premium": False, "validuntil": None, "trafficleft": None} diff --git a/module/plugins/accounts/DepositfilesCom.py b/module/plugins/accounts/DepositfilesCom.py index 2b46807e8..beeae2a5f 100644 --- a/module/plugins/accounts/DepositfilesCom.py +++ b/module/plugins/accounts/DepositfilesCom.py @@ -25,10 +25,12 @@ class DepositfilesCom(Account): __name__ = "DepositfilesCom" __version__ = "0.2" __type__ = "account" + __description__ = """Depositfiles.com account plugin""" __author_name__ = ("mkaay", "stickell") __author_mail__ = ("mkaay@mkaay.de", "l.stickell@yahoo.it") + def loadAccountInfo(self, user, req): src = req.load("http://depositfiles.com/de/gold/") validuntil = re.search(r"Sie haben Gold Zugang bis: <b>(.*?)</b></div>", src).group(1) diff --git a/module/plugins/accounts/EasybytezCom.py b/module/plugins/accounts/EasybytezCom.py index 9fa12fcda..9b41c9135 100644 --- a/module/plugins/accounts/EasybytezCom.py +++ b/module/plugins/accounts/EasybytezCom.py @@ -27,6 +27,7 @@ class EasybytezCom(Account): __name__ = "EasybytezCom" __version__ = "0.04" __type__ = "account" + __description__ = """EasyBytez.com account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" @@ -34,6 +35,7 @@ class EasybytezCom(Account): VALID_UNTIL_PATTERN = r'Premium account expire:</TD><TD><b>([^<]+)</b>' TRAFFIC_LEFT_PATTERN = r'<TR><TD>Traffic available today:</TD><TD><b>(?P<S>[^<]+)</b>' + def loadAccountInfo(self, user, req): html = req.load("http://www.easybytez.com/?op=my_account", decode=True) diff --git a/module/plugins/accounts/EgoFilesCom.py b/module/plugins/accounts/EgoFilesCom.py index 9cb157516..cd568456f 100644 --- a/module/plugins/accounts/EgoFilesCom.py +++ b/module/plugins/accounts/EgoFilesCom.py @@ -11,12 +11,14 @@ class EgoFilesCom(Account): __name__ = "EgoFilesCom" __version__ = "0.2" __type__ = "account" + __description__ = """Egofiles.com account plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" PREMIUM_ACCOUNT_PATTERN = '<br/>\s*Premium: (?P<P>[^/]*) / Traffic left: (?P<T>[\d.]*) (?P<U>\w*)\s*\\n\s*<br/>' + def loadAccountInfo(self, user, req): html = req.load("http://egofiles.com") if 'You are logged as a Free User' in html: diff --git a/module/plugins/accounts/EuroshareEu.py b/module/plugins/accounts/EuroshareEu.py index 779e2227c..f7ff456f9 100644 --- a/module/plugins/accounts/EuroshareEu.py +++ b/module/plugins/accounts/EuroshareEu.py @@ -25,10 +25,12 @@ class EuroshareEu(Account): __name__ = "EuroshareEu" __version__ = "0.01" __type__ = "account" + __description__ = """Euroshare.eu account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" + def loadAccountInfo(self, user, req): self.relogin(user) html = req.load("http://euroshare.eu/customer-zone/settings/") diff --git a/module/plugins/accounts/FastixRu.py b/module/plugins/accounts/FastixRu.py index 6aec55a84..9e8d1f4fe 100644 --- a/module/plugins/accounts/FastixRu.py +++ b/module/plugins/accounts/FastixRu.py @@ -8,10 +8,12 @@ class FastixRu(Account): __name__ = "FastixRu" __version__ = "0.02" __type__ = "account" + __description__ = """Fastix account plugin""" __author_name__ = "Massimo Rosamilia" __author_mail__ = "max@spiritix.eu" + def loadAccountInfo(self, user, req): data = self.getAccountData(user) page = req.load("http://fastix.ru/api_v2/?apikey=%s&sub=getaccountdetails" % (data['api'])) diff --git a/module/plugins/accounts/FastshareCz.py b/module/plugins/accounts/FastshareCz.py index d8bb542c0..cf7854b3c 100644 --- a/module/plugins/accounts/FastshareCz.py +++ b/module/plugins/accounts/FastshareCz.py @@ -24,12 +24,14 @@ class FastshareCz(Account): __name__ = "FastshareCz" __version__ = "0.03" __type__ = "account" + __description__ = """Fastshare.cz account plugin""" __author_name__ = ("zoidberg", "stickell") __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it") CREDIT_PATTERN = r'(?:Kredit|Credit)\s*</td>\s*<td[^>]*>([\d. \w]+) ' + def loadAccountInfo(self, user, req): html = req.load("http://www.fastshare.cz/user", decode=True) diff --git a/module/plugins/accounts/File4safeCom.py b/module/plugins/accounts/File4safeCom.py index 6a11493d2..158d7be3b 100644 --- a/module/plugins/accounts/File4safeCom.py +++ b/module/plugins/accounts/File4safeCom.py @@ -7,6 +7,7 @@ class File4safeCom(XFSPAccount): __name__ = "File4safeCom" __version__ = "0.01" __type__ = "account" + __description__ = """File4safe.com account plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" diff --git a/module/plugins/accounts/FilecloudIo.py b/module/plugins/accounts/FilecloudIo.py index 17eda5ae3..b8bad5c4c 100644 --- a/module/plugins/accounts/FilecloudIo.py +++ b/module/plugins/accounts/FilecloudIo.py @@ -23,10 +23,12 @@ class FilecloudIo(Account): __name__ = "FilecloudIo" __version__ = "0.02" __type__ = "account" + __description__ = """FilecloudIo account plugin""" __author_name__ = ("zoidberg", "stickell") __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it") + def loadAccountInfo(self, user, req): # It looks like the first API request always fails, so we retry 5 times, it should work on the second try for _ in xrange(5): diff --git a/module/plugins/accounts/FilefactoryCom.py b/module/plugins/accounts/FilefactoryCom.py index 40626fe1e..be96d8a52 100644 --- a/module/plugins/accounts/FilefactoryCom.py +++ b/module/plugins/accounts/FilefactoryCom.py @@ -26,12 +26,14 @@ class FilefactoryCom(Account): __name__ = "FilefactoryCom" __version__ = "0.14" __type__ = "account" + __description__ = """Filefactory.com account plugin""" __author_name__ = ("zoidberg", "stickell") __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it") VALID_UNTIL_PATTERN = r'Premium valid until: <strong>(?P<d>\d{1,2})\w{1,2} (?P<m>\w{3}), (?P<y>\d{4})</strong>' + def loadAccountInfo(self, user, req): html = req.load("http://www.filefactory.com/account/") diff --git a/module/plugins/accounts/FilejungleCom.py b/module/plugins/accounts/FilejungleCom.py index 9ca35537a..e105d1e26 100644 --- a/module/plugins/accounts/FilejungleCom.py +++ b/module/plugins/accounts/FilejungleCom.py @@ -25,6 +25,7 @@ class FilejungleCom(Account): __name__ = "FilejungleCom" __version__ = "0.11" __type__ = "account" + __description__ = """Filejungle.com account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" @@ -35,6 +36,7 @@ class FilejungleCom(Account): TRAFFIC_LEFT_PATTERN = r'"/extend_premium\.php">Until (\d+ [A-Za-z]+ \d+)<br' LOGIN_FAILED_PATTERN = r'<span htmlfor="loginUser(Name|Password)" generated="true" class="fail_info">' + def loadAccountInfo(self, user, req): html = req.load(self.URL + "dashboard.php") found = re.search(self.TRAFFIC_LEFT_PATTERN, html) diff --git a/module/plugins/accounts/FilerNet.py b/module/plugins/accounts/FilerNet.py index 747051e94..475f01301 100644 --- a/module/plugins/accounts/FilerNet.py +++ b/module/plugins/accounts/FilerNet.py @@ -25,6 +25,7 @@ class FilerNet(Account): __name__ = "FilerNet" __version__ = "0.01" __type__ = "account" + __description__ = """Filer.net account plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" @@ -34,6 +35,7 @@ class FilerNet(Account): TRAFFIC_PATTERN = r'Traffic</th>\s*<td>([^<]+)</td>' FREE_PATTERN = r'Account Status</th>\s*<td>\s*Free' + def loadAccountInfo(self, user, req): self.html = req.load("https://filer.net/profile") diff --git a/module/plugins/accounts/FilerioCom.py b/module/plugins/accounts/FilerioCom.py index 5f2164cf1..7288930f4 100644 --- a/module/plugins/accounts/FilerioCom.py +++ b/module/plugins/accounts/FilerioCom.py @@ -7,6 +7,7 @@ class FilerioCom(XFSPAccount): __name__ = "FilerioCom" __version__ = "0.01" __type__ = "account" + __description__ = """FileRio.in account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/accounts/FilesMailRu.py b/module/plugins/accounts/FilesMailRu.py index fdcd284bd..a87aac8a8 100644 --- a/module/plugins/accounts/FilesMailRu.py +++ b/module/plugins/accounts/FilesMailRu.py @@ -22,10 +22,12 @@ class FilesMailRu(Account): __name__ = "FilesMailRu" __version__ = "0.1" __type__ = "account" + __description__ = """Filesmail.ru account plugin""" __author_name__ = "RaNaN" __author_mail__ = "RaNaN@pyload.org" + def loadAccountInfo(self, user, req): return {"validuntil": None, "trafficleft": None} diff --git a/module/plugins/accounts/FileserveCom.py b/module/plugins/accounts/FileserveCom.py index a8b2b4529..f91f5b703 100644 --- a/module/plugins/accounts/FileserveCom.py +++ b/module/plugins/accounts/FileserveCom.py @@ -25,10 +25,12 @@ class FileserveCom(Account): __name__ = "FileserveCom" __version__ = "0.2" __type__ = "account" + __description__ = """Fileserve.com account plugin""" __author_name__ = "mkaay" __author_mail__ = "mkaay@mkaay.de" + def loadAccountInfo(self, user, req): data = self.getAccountData(user) diff --git a/module/plugins/accounts/FourSharedCom.py b/module/plugins/accounts/FourSharedCom.py index c901a4d5c..b8a0c33f6 100644 --- a/module/plugins/accounts/FourSharedCom.py +++ b/module/plugins/accounts/FourSharedCom.py @@ -23,10 +23,12 @@ class FourSharedCom(Account): __name__ = "FourSharedCom" __version__ = "0.01" __type__ = "account" + __description__ = """FourShared.com account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" + def loadAccountInfo(self, user, req): #fixme return {"validuntil": -1, "trafficleft": -1, "premium": False} diff --git a/module/plugins/accounts/FreakshareCom.py b/module/plugins/accounts/FreakshareCom.py index 67a7a1444..2987b21eb 100644 --- a/module/plugins/accounts/FreakshareCom.py +++ b/module/plugins/accounts/FreakshareCom.py @@ -24,10 +24,12 @@ class FreakshareCom(Account): __name__ = "FreakshareCom" __version__ = "0.1" __type__ = "account" + __description__ = """Freakshare.com account plugin""" __author_name__ = "RaNaN" __author_mail__ = "RaNaN@pyload.org" + def loadAccountInfo(self, user, req): page = req.load("http://freakshare.com/") diff --git a/module/plugins/accounts/FreeWayMe.py b/module/plugins/accounts/FreeWayMe.py index 58dfb93fd..8a7d46aa1 100644 --- a/module/plugins/accounts/FreeWayMe.py +++ b/module/plugins/accounts/FreeWayMe.py @@ -23,10 +23,12 @@ class FreeWayMe(Account): __name__ = "FreeWayMe" __version__ = "0.11" __type__ = "account" + __description__ = """FreeWayMe account plugin""" __author_name__ = "Nicolas Giese" __author_mail__ = "james@free-way.me" + def loadAccountInfo(self, user, req): status = self.getAccountStatus(user, req) if not status: diff --git a/module/plugins/accounts/FshareVn.py b/module/plugins/accounts/FshareVn.py index c6f30c88e..27b74c907 100644 --- a/module/plugins/accounts/FshareVn.py +++ b/module/plugins/accounts/FshareVn.py @@ -26,6 +26,7 @@ class FshareVn(Account): __name__ = "FshareVn" __version__ = "0.07" __type__ = "account" + __description__ = """Fshare.vn account plugin""" __author_name__ = ("zoidberg", "stickell") __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it") @@ -35,6 +36,7 @@ class FshareVn(Account): TRAFFIC_LEFT_PATTERN = ur'<dt>Tổng Dung Lượng Tài Khoản</dt>\s*<dd[^>]*>([0-9.]+) ([kKMG])B</dd>' DIRECT_DOWNLOAD_PATTERN = ur'<input type="checkbox"\s*([^=>]*)[^>]*/>Kích hoạt download trực tiếp</dt>' + def loadAccountInfo(self, user, req): self.html = req.load("http://www.fshare.vn/account_info.php", decode=True) diff --git a/module/plugins/accounts/Ftp.py b/module/plugins/accounts/Ftp.py index b454cba7a..93f161bb9 100644 --- a/module/plugins/accounts/Ftp.py +++ b/module/plugins/accounts/Ftp.py @@ -7,8 +7,10 @@ class Ftp(Account): __name__ = "Ftp" __version__ = "0.01" __type__ = "account" + __description__ = """Ftp dummy account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" + login_timeout = info_threshold = 1000000 diff --git a/module/plugins/accounts/HellshareCz.py b/module/plugins/accounts/HellshareCz.py index 5823c09f0..bf98dcadb 100644 --- a/module/plugins/accounts/HellshareCz.py +++ b/module/plugins/accounts/HellshareCz.py @@ -25,12 +25,14 @@ class HellshareCz(Account): __name__ = "HellshareCz" __version__ = "0.14" __type__ = "account" + __description__ = """Hellshare.cz account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" CREDIT_LEFT_PATTERN = r'<div class="credit-link">\s*<table>\s*<tr>\s*<th>(\d+|\d\d\.\d\d\.)</th>' + def loadAccountInfo(self, user, req): self.relogin(user) html = req.load("http://www.hellshare.com/") diff --git a/module/plugins/accounts/HotfileCom.py b/module/plugins/accounts/HotfileCom.py index fd675b7c6..515517be4 100644 --- a/module/plugins/accounts/HotfileCom.py +++ b/module/plugins/accounts/HotfileCom.py @@ -25,10 +25,12 @@ class HotfileCom(Account): __name__ = "HotfileCom" __version__ = "0.2" __type__ = "account" + __description__ = """Hotfile.com account plugin""" __author_name__ = ("mkaay", "JoKoT3") __author_mail__ = ("mkaay@mkaay.de", "jokot3@gmail.com") + def loadAccountInfo(self, user, req): resp = self.apiCall("getuserinfo", user=user) if resp.startswith("."): diff --git a/module/plugins/accounts/Http.py b/module/plugins/accounts/Http.py index e2f236e41..b79a78c99 100644 --- a/module/plugins/accounts/Http.py +++ b/module/plugins/accounts/Http.py @@ -7,8 +7,10 @@ class Http(Account): __name__ = "Http" __version__ = "0.01" __type__ = "account" + __description__ = """Http dummy account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" + login_timeout = info_threshold = 1000000 diff --git a/module/plugins/accounts/LetitbitNet.py b/module/plugins/accounts/LetitbitNet.py index e4601ccbb..3bd096d55 100644 --- a/module/plugins/accounts/LetitbitNet.py +++ b/module/plugins/accounts/LetitbitNet.py @@ -22,10 +22,12 @@ class LetitbitNet(Account): __name__ = "LetitbitNet" __version__ = "0.01" __type__ = "account" + __description__ = """Letitbit.net account plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" + def loadAccountInfo(self, user, req): ## DISABLED BECAUSE IT GET 'key exausted' EVEN IF VALID ## # api_key = self.accounts[user]['password'] diff --git a/module/plugins/accounts/LinksnappyCom.py b/module/plugins/accounts/LinksnappyCom.py index 63b9576d6..109478bde 100644 --- a/module/plugins/accounts/LinksnappyCom.py +++ b/module/plugins/accounts/LinksnappyCom.py @@ -10,10 +10,12 @@ class LinksnappyCom(Account): __name__ = "LinksnappyCom" __version__ = "0.02" __type__ = "account" + __description__ = """Linksnappy.com account plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" + def loadAccountInfo(self, user, req): data = self.getAccountData(user) r = req.load('http://gen.linksnappy.com/lseAPI.php', diff --git a/module/plugins/accounts/MegaDebridEu.py b/module/plugins/accounts/MegaDebridEu.py index e5d7deb3c..769b6161b 100644 --- a/module/plugins/accounts/MegaDebridEu.py +++ b/module/plugins/accounts/MegaDebridEu.py @@ -22,6 +22,7 @@ class MegaDebridEu(Account): __name__ = "MegaDebridEu" __version__ = "0.2" __type__ = "account" + __description__ = """mega-debrid.eu account plugin""" __author_name__ = "D.Ducatel" __author_mail__ = "dducatel@je-geek.fr" @@ -29,6 +30,7 @@ class MegaDebridEu(Account): # Define the base URL of MegaDebrid api API_URL = "https://www.mega-debrid.eu/api.php" + def loadAccountInfo(self, user, req): data = self.getAccountData(user) jsonResponse = req.load(self.API_URL, diff --git a/module/plugins/accounts/MegasharesCom.py b/module/plugins/accounts/MegasharesCom.py index 59aefe374..125a21699 100644 --- a/module/plugins/accounts/MegasharesCom.py +++ b/module/plugins/accounts/MegasharesCom.py @@ -10,12 +10,14 @@ class MegasharesCom(Account): __name__ = "MegasharesCom" __version__ = "0.02" __type__ = "account" + __description__ = """Megashares.com account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" VALID_UNTIL_PATTERN = r'<p class="premium_info_box">Period Ends: (\w{3} \d{1,2}, \d{4})</p>' + def loadAccountInfo(self, user, req): #self.relogin(user) html = req.load("http://d01.megashares.com/myms.php", decode=True) diff --git a/module/plugins/accounts/MovReelCom.py b/module/plugins/accounts/MovReelCom.py index 3bcb3313d..3ded0d960 100644 --- a/module/plugins/accounts/MovReelCom.py +++ b/module/plugins/accounts/MovReelCom.py @@ -7,6 +7,7 @@ class MovReelCom(XFSPAccount): __name__ = "MovReelCom" __version__ = "0.01" __type__ = "account" + __description__ = """Movreel.com account plugin""" __author_name__ = "t4skforce" __author_mail__ = "t4skforce1337[AT]gmail[DOT]com" diff --git a/module/plugins/accounts/MultiDebridCom.py b/module/plugins/accounts/MultiDebridCom.py index d38247051..da8a2046a 100644 --- a/module/plugins/accounts/MultiDebridCom.py +++ b/module/plugins/accounts/MultiDebridCom.py @@ -24,10 +24,12 @@ class MultiDebridCom(Account): __name__ = "MultiDebridCom" __version__ = "0.01" __type__ = "account" + __description__ = """Multi-debrid.com account plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" + def loadAccountInfo(self, user, req): if 'days_left' in self.json_data: validuntil = int(time() + self.json_data['days_left'] * 24 * 60 * 60) diff --git a/module/plugins/accounts/MultishareCz.py b/module/plugins/accounts/MultishareCz.py index f3caf374e..08b8e5d52 100644 --- a/module/plugins/accounts/MultishareCz.py +++ b/module/plugins/accounts/MultishareCz.py @@ -26,6 +26,7 @@ class MultishareCz(Account): __name__ = "MultishareCz" __version__ = "0.02" __type__ = "account" + __description__ = """Multishare.cz account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" @@ -33,6 +34,7 @@ class MultishareCz(Account): TRAFFIC_LEFT_PATTERN = r'<span class="profil-zvyrazneni">Kredit:</span>\s*<strong>(?P<S>[0-9,]+) (?P<U>\w+)</strong>' ACCOUNT_INFO_PATTERN = r'<input type="hidden" id="(u_ID|u_hash)" name="[^"]*" value="([^"]+)">' + def loadAccountInfo(self, user, req): #self.relogin(user) html = req.load("http://www.multishare.cz/profil/", decode=True) diff --git a/module/plugins/accounts/NetloadIn.py b/module/plugins/accounts/NetloadIn.py index 2d88d7d3a..7c5ea69f8 100755 --- a/module/plugins/accounts/NetloadIn.py +++ b/module/plugins/accounts/NetloadIn.py @@ -25,10 +25,12 @@ class NetloadIn(Account): __name__ = "NetloadIn" __version__ = "0.22" __type__ = "account" + __description__ = """Netload.in account plugin""" __author_name__ = ("RaNaN", "CryNickSystems") __author_mail__ = ("RaNaN@pyload.org", "webmaster@pcProfil.de") + def loadAccountInfo(self, user, req): page = req.load("http://netload.in/index.php?id=2&lang=de") left = r">(\d+) (Tag|Tage), (\d+) Stunden<" diff --git a/module/plugins/accounts/OboomCom.py b/module/plugins/accounts/OboomCom.py index b21e793fd..97f7e930a 100644 --- a/module/plugins/accounts/OboomCom.py +++ b/module/plugins/accounts/OboomCom.py @@ -11,10 +11,12 @@ class OboomCom(Account): __name__ = "OboomCom" __version__ = "0.1" __type__ = "account" + __description__ = """Oboom.com account plugin""" __author_name__ = "stanley" __author_mail__ = "stanley.foerster@gmail.com" + def loadAccountData(self, user, req): passwd = self.getAccountData(user)['password'] salt = passwd[::-1] diff --git a/module/plugins/accounts/OneFichierCom.py b/module/plugins/accounts/OneFichierCom.py index 22cbd51d3..be79423ef 100644 --- a/module/plugins/accounts/OneFichierCom.py +++ b/module/plugins/accounts/OneFichierCom.py @@ -11,6 +11,7 @@ class OneFichierCom(Account): __name__ = "OneFichierCom" __version__ = "0.1" __type__ = "account" + __description__ = """1fichier.com account plugin""" __author_name__ = "Elrick69" __author_mail__ = "elrick69[AT]rocketmail[DOT]com" diff --git a/module/plugins/accounts/OverLoadMe.py b/module/plugins/accounts/OverLoadMe.py index 7c57fc88c..129074a0f 100644 --- a/module/plugins/accounts/OverLoadMe.py +++ b/module/plugins/accounts/OverLoadMe.py @@ -8,10 +8,12 @@ class OverLoadMe(Account): __name__ = "OverLoadMe" __version__ = "0.01" __type__ = "account" + __description__ = """Over-Load.me account plugin""" __author_name__ = "marley" __author_mail__ = "marley@over-load.me" + def loadAccountInfo(self, user, req): data = self.getAccountData(user) page = req.load("https://api.over-load.me/account.php", get={"user": user, "auth": data['password']}).strip() diff --git a/module/plugins/accounts/Premium4Me.py b/module/plugins/accounts/Premium4Me.py index 0da442da6..9eab6f81f 100644 --- a/module/plugins/accounts/Premium4Me.py +++ b/module/plugins/accounts/Premium4Me.py @@ -7,10 +7,12 @@ class Premium4Me(Account): __name__ = "Premium4Me" __version__ = "0.03" __type__ = "account" + __description__ = """Premium.to account plugin""" __author_name__ = ("RaNaN", "zoidberg", "stickell") __author_mail__ = ("RaNaN@pyload.org", "zoidberg@mujmail.cz", "l.stickell@yahoo.it") + def loadAccountInfo(self, user, req): traffic = req.load("http://premium.to/api/traffic.php?authcode=%s" % self.authcode) diff --git a/module/plugins/accounts/PremiumizeMe.py b/module/plugins/accounts/PremiumizeMe.py index 1da5d9002..83eade048 100644 --- a/module/plugins/accounts/PremiumizeMe.py +++ b/module/plugins/accounts/PremiumizeMe.py @@ -9,10 +9,12 @@ class PremiumizeMe(Account): __name__ = "PremiumizeMe" __version__ = "0.11" __type__ = "account" + __description__ = """Premiumize.me account plugin""" __author_name__ = "Florian Franzen" __author_mail__ = "FlorianFranzen@gmail.com" + def loadAccountInfo(self, user, req): # Get user data from premiumize.me status = self.getAccountStatus(user, req) diff --git a/module/plugins/accounts/QuickshareCz.py b/module/plugins/accounts/QuickshareCz.py index 7eb82f439..8e5a18689 100644 --- a/module/plugins/accounts/QuickshareCz.py +++ b/module/plugins/accounts/QuickshareCz.py @@ -24,10 +24,12 @@ class QuickshareCz(Account): __name__ = "QuickshareCz" __version__ = "0.01" __type__ = "account" + __description__ = """Quickshare.cz account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" + def loadAccountInfo(self, user, req): html = req.load("http://www.quickshare.cz/premium", decode=True) diff --git a/module/plugins/accounts/RPNetBiz.py b/module/plugins/accounts/RPNetBiz.py index 49a294d14..08bedda7d 100644 --- a/module/plugins/accounts/RPNetBiz.py +++ b/module/plugins/accounts/RPNetBiz.py @@ -8,10 +8,12 @@ class RPNetBiz(Account): __name__ = "RPNetBiz" __version__ = "0.1" __type__ = "account" + __description__ = """RPNet.biz account plugin""" __author_name__ = "Dman" __author_mail__ = "dmanugm@gmail.com" + def loadAccountInfo(self, user, req): # Get account information from rpnet.biz response = self.getAccountStatus(user, req) diff --git a/module/plugins/accounts/RapidgatorNet.py b/module/plugins/accounts/RapidgatorNet.py index c61169be3..05d31e6a0 100644 --- a/module/plugins/accounts/RapidgatorNet.py +++ b/module/plugins/accounts/RapidgatorNet.py @@ -23,12 +23,14 @@ class RapidgatorNet(Account): __name__ = "RapidgatorNet" __version__ = "0.04" __type__ = "account" + __description__ = """Rapidgator.net account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" API_URL = 'http://rapidgator.net/api/user' + def loadAccountInfo(self, user, req): try: sid = self.getAccountData(user).get('SID') diff --git a/module/plugins/accounts/RapidshareCom.py b/module/plugins/accounts/RapidshareCom.py index d537a2f23..6745813d9 100644 --- a/module/plugins/accounts/RapidshareCom.py +++ b/module/plugins/accounts/RapidshareCom.py @@ -22,10 +22,12 @@ class RapidshareCom(Account): __name__ = "RapidshareCom" __version__ = "0.22" __type__ = "account" + __description__ = """Rapidshare.com account plugin""" __author_name__ = "mkaay" __author_mail__ = "mkaay@mkaay.de" + def loadAccountInfo(self, user, req): data = self.getAccountData(user) api_url_base = "http://api.rapidshare.com/cgi-bin/rsapi.cgi" diff --git a/module/plugins/accounts/RarefileNet.py b/module/plugins/accounts/RarefileNet.py index 494941aef..2424eaff5 100644 --- a/module/plugins/accounts/RarefileNet.py +++ b/module/plugins/accounts/RarefileNet.py @@ -7,6 +7,7 @@ class RarefileNet(XFSPAccount): __name__ = "RarefileNet" __version__ = "0.02" __type__ = "account" + __description__ = """RareFile.net account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/accounts/RealdebridCom.py b/module/plugins/accounts/RealdebridCom.py index 75666f2fd..8ca4112e9 100644 --- a/module/plugins/accounts/RealdebridCom.py +++ b/module/plugins/accounts/RealdebridCom.py @@ -9,10 +9,12 @@ class RealdebridCom(Account): __name__ = "RealdebridCom" __version__ = "0.43" __type__ = "account" + __description__ = """Real-Debrid.com account plugin""" __author_name__ = "Devirex Hazzard" __author_mail__ = "naibaf_11@yahoo.de" + def loadAccountInfo(self, user, req): if self.pin_code: return {"premium": False} diff --git a/module/plugins/accounts/RehostTo.py b/module/plugins/accounts/RehostTo.py index 5578cab7b..7a6263ab3 100644 --- a/module/plugins/accounts/RehostTo.py +++ b/module/plugins/accounts/RehostTo.py @@ -7,10 +7,12 @@ class RehostTo(Account): __name__ = "RehostTo" __version__ = "0.1" __type__ = "account" + __description__ = """Rehost.to account plugin""" __author_name__ = "RaNaN" __author_mail__ = "RaNaN@pyload.org" + def loadAccountInfo(self, user, req): data = self.getAccountData(user) page = req.load("http://rehost.to/api.php?cmd=login&user=%s&pass=%s" % (user, data['password'])) diff --git a/module/plugins/accounts/RyushareCom.py b/module/plugins/accounts/RyushareCom.py index a57e5fcec..fc092f82a 100644 --- a/module/plugins/accounts/RyushareCom.py +++ b/module/plugins/accounts/RyushareCom.py @@ -7,12 +7,14 @@ class RyushareCom(XFSPAccount): __name__ = "RyushareCom" __version__ = "0.03" __type__ = "account" + __description__ = """Ryushare.com account plugin""" __author_name__ = ("zoidberg", "trance4us") __author_mail__ = ("zoidberg@mujmail.cz", "") MAIN_PAGE = "http://ryushare.com/" + def login(self, user, data, req): req.lastURL = "http://ryushare.com/login.python" html = req.load("http://ryushare.com/login.python", diff --git a/module/plugins/accounts/ShareRapidCom.py b/module/plugins/accounts/ShareRapidCom.py index 11cef84e3..8f6e3cfc4 100644 --- a/module/plugins/accounts/ShareRapidCom.py +++ b/module/plugins/accounts/ShareRapidCom.py @@ -9,10 +9,12 @@ class ShareRapidCom(Account): __name__ = "ShareRapidCom" __version__ = "0.33" __type__ = "account" + __description__ = """ShareRapid account plugin""" __author_name__ = ("MikyWoW", "zoidberg") __author_mail__ = ("mikywow@seznam.cz", "zoidberg@mujmail.cz") + login_timeout = 60 def loadAccountInfo(self, user, req): diff --git a/module/plugins/accounts/ShareonlineBiz.py b/module/plugins/accounts/ShareonlineBiz.py index f8c9f4fe0..9f706d186 100644 --- a/module/plugins/accounts/ShareonlineBiz.py +++ b/module/plugins/accounts/ShareonlineBiz.py @@ -22,10 +22,12 @@ class ShareonlineBiz(Account): __name__ = "ShareonlineBiz" __version__ = "0.24" __type__ = "account" + __description__ = """Share-online.biz account plugin""" __author_name__ = ("mkaay", "zoidberg") __author_mail__ = ("mkaay@mkaay.de", "zoidberg@mujmail.cz") + def getUserAPI(self, user, req): return req.load("http://api.share-online.biz/account.php", {"username": user, "password": self.accounts[user]['password'], "act": "userDetails"}) diff --git a/module/plugins/accounts/SimplyPremiumCom.py b/module/plugins/accounts/SimplyPremiumCom.py index 5706bb5cd..37aff09b3 100644 --- a/module/plugins/accounts/SimplyPremiumCom.py +++ b/module/plugins/accounts/SimplyPremiumCom.py @@ -22,10 +22,12 @@ class SimplyPremiumCom(Account): __name__ = "SimplyPremiumCom" __version__ = "0.01" __type__ = "account" + __description__ = """Simply-Premium.com account plugin""" __author_name__ = "EvolutionClip" __author_mail__ = "evolutionclip@live.de" + def loadAccountInfo(self, user, req): json_data = req.load('http://www.simply-premium.com/api/user.php?format=json') self.logDebug("JSON data: " + json_data) diff --git a/module/plugins/accounts/SimplydebridCom.py b/module/plugins/accounts/SimplydebridCom.py index edd52b67e..a3803b088 100644 --- a/module/plugins/accounts/SimplydebridCom.py +++ b/module/plugins/accounts/SimplydebridCom.py @@ -9,10 +9,12 @@ class SimplydebridCom(Account): __name__ = "SimplydebridCom" __version__ = "0.1" __type__ = "account" + __description__ = """Simply-Debrid.com account plugin""" __author_name__ = "Kagenoshin" __author_mail__ = "kagenoshin@gmx.ch" + def loadAccountInfo(self, user, req): get_data = {'login': 2, 'u': self.loginname, 'p': self.password} response = req.load("http://simply-debrid.com/api.php", get=get_data, decode=True) diff --git a/module/plugins/accounts/StahnuTo.py b/module/plugins/accounts/StahnuTo.py index c72745833..a177ae8e8 100644 --- a/module/plugins/accounts/StahnuTo.py +++ b/module/plugins/accounts/StahnuTo.py @@ -25,6 +25,7 @@ class StahnuTo(Account): __name__ = "StahnuTo" __version__ = "0.02" __type__ = "account" + __description__ = """StahnuTo account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/accounts/TurbobitNet.py b/module/plugins/accounts/TurbobitNet.py index 956978cf3..5da480180 100644 --- a/module/plugins/accounts/TurbobitNet.py +++ b/module/plugins/accounts/TurbobitNet.py @@ -25,6 +25,7 @@ class TurbobitNet(Account): __name__ = "TurbobitNet" __version__ = "0.01" __type__ = "account" + __description__ = """TurbobitNet account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/accounts/UlozTo.py b/module/plugins/accounts/UlozTo.py index 6b1067f28..8476167b3 100644 --- a/module/plugins/accounts/UlozTo.py +++ b/module/plugins/accounts/UlozTo.py @@ -9,12 +9,14 @@ class UlozTo(Account): __name__ = "UlozTo" __version__ = "0.06" __type__ = "account" + __description__ = """Uloz.to account plugin""" __author_name__ = ("zoidberg", "pulpe") __author_mail__ = "zoidberg@mujmail.cz" TRAFFIC_LEFT_PATTERN = r'<li class="menu-kredit"><a href="/kredit" title="[^"]*?GB = ([0-9.]+) MB"' + def loadAccountInfo(self, user, req): #this cookie gets lost somehow after each request self.phpsessid = req.cj.getCookie("ULOSESSID") diff --git a/module/plugins/accounts/UnrestrictLi.py b/module/plugins/accounts/UnrestrictLi.py index afc2f2a18..ac2d2d82a 100644 --- a/module/plugins/accounts/UnrestrictLi.py +++ b/module/plugins/accounts/UnrestrictLi.py @@ -22,10 +22,12 @@ class UnrestrictLi(Account): __name__ = "UnrestrictLi" __version__ = "0.03" __type__ = "account" + __description__ = """Unrestrict.li account plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" + def loadAccountInfo(self, user, req): json_data = req.load('http://unrestrict.li/api/jdownloader/user.php?format=json') self.logDebug("JSON data: " + json_data) diff --git a/module/plugins/accounts/UploadedTo.py b/module/plugins/accounts/UploadedTo.py index 382b01052..bde76be9f 100644 --- a/module/plugins/accounts/UploadedTo.py +++ b/module/plugins/accounts/UploadedTo.py @@ -25,10 +25,12 @@ class UploadedTo(Account): __name__ = "UploadedTo" __version__ = "0.26" __type__ = "account" + __description__ = """Uploaded.to account plugin""" __author_name__ = "mkaay" __author_mail__ = "mkaay@mkaay.de" + def loadAccountInfo(self, user, req): req.load("http://uploaded.net/language/en") diff --git a/module/plugins/accounts/UploadheroCom.py b/module/plugins/accounts/UploadheroCom.py index 0cec8ca6d..681ef6f6a 100644 --- a/module/plugins/accounts/UploadheroCom.py +++ b/module/plugins/accounts/UploadheroCom.py @@ -11,10 +11,12 @@ class UploadheroCom(Account): __name__ = "UploadheroCom" __version__ = "0.2" __type__ = "account" + __description__ = """Uploadhero.co account plugin""" __author_name__ = "mcmyst" __author_mail__ = "mcmyst@hotmail.fr" + def loadAccountInfo(self, user, req): premium_pattern = re.compile('Il vous reste <span class="bleu">([0-9]+)</span> jours premium.') diff --git a/module/plugins/accounts/UploadingCom.py b/module/plugins/accounts/UploadingCom.py index c9f5a9ede..f07c2941a 100644 --- a/module/plugins/accounts/UploadingCom.py +++ b/module/plugins/accounts/UploadingCom.py @@ -25,10 +25,12 @@ class UploadingCom(Account): __name__ = "UploadingCom" __version__ = "0.1" __type__ = "account" + __description__ = """Uploading.com account plugin""" __author_name__ = "mkaay" __author_mail__ = "mkaay@mkaay.de" + def loadAccountInfo(self, user, req): src = req.load("http://uploading.com/") premium = True diff --git a/module/plugins/accounts/UptoboxCom.py b/module/plugins/accounts/UptoboxCom.py index 3757ae0aa..16016f41d 100644 --- a/module/plugins/accounts/UptoboxCom.py +++ b/module/plugins/accounts/UptoboxCom.py @@ -7,6 +7,7 @@ class UptoboxCom(XFSPAccount): __name__ = "UptoboxCom" __version__ = "0.02" __type__ = "account" + __description__ = """DDLStorage.com account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/accounts/YibaishiwuCom.py b/module/plugins/accounts/YibaishiwuCom.py index 6b7dfe5f2..4a0c72c34 100644 --- a/module/plugins/accounts/YibaishiwuCom.py +++ b/module/plugins/accounts/YibaishiwuCom.py @@ -24,12 +24,14 @@ class YibaishiwuCom(Account): __name__ = "YibaishiwuCom" __version__ = "0.01" __type__ = "account" + __description__ = """115.com account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" ACCOUNT_INFO_PATTERN = r'var USER_PERMISSION = {(.*?)}' + def loadAccountInfo(self, user, req): #self.relogin(user) html = req.load("http://115.com/", decode=True) diff --git a/module/plugins/accounts/ZeveraCom.py b/module/plugins/accounts/ZeveraCom.py index 74383ec22..11a224039 100644 --- a/module/plugins/accounts/ZeveraCom.py +++ b/module/plugins/accounts/ZeveraCom.py @@ -9,10 +9,12 @@ class ZeveraCom(Account): __name__ = "ZeveraCom" __version__ = "0.21" __type__ = "account" + __description__ = """Zevera.com account plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" + def loadAccountInfo(self, user, req): data = self.getAPIData(req) if data == "No traffic": diff --git a/module/plugins/captcha/captcha.py b/module/plugins/captcha/captcha.py index a4667b4ed..061228c99 100644 --- a/module/plugins/captcha/captcha.py +++ b/module/plugins/captcha/captcha.py @@ -301,7 +301,6 @@ class OCR(object): return letters def correct(self, values, var=None): - if var: result = var else: diff --git a/module/plugins/container/CCF.py b/module/plugins/container/CCF.py index eb27aaae3..a55357af4 100644 --- a/module/plugins/container/CCF.py +++ b/module/plugins/container/CCF.py @@ -1,23 +1,26 @@ # -*- coding: utf-8 -*- import re -from urllib2 import build_opener - -from module.plugins.Container import Container -from module.lib.MultipartPostHandler import MultipartPostHandler from os import makedirs from os.path import exists, join +from urllib2 import build_opener + +from module.lib.MultipartPostHandler import MultipartPostHandler +from module.plugins.Container import Container class CCF(Container): __name__ = "CCF" __version__ = "0.2" + __pattern__ = r'.+\.ccf' + __description__ = """CCF container decrypter plugin""" __author_name__ = "Willnix" __author_mail__ = "Willnix@pyload.org" + def decrypt(self, pyfile): infile = pyfile.url.replace("\n", "") diff --git a/module/plugins/container/LinkList.py b/module/plugins/container/LinkList.py index b8f1b9de5..7e418bd67 100644 --- a/module/plugins/container/LinkList.py +++ b/module/plugins/container/LinkList.py @@ -1,20 +1,24 @@ # -*- coding: utf-8 -*- import codecs -from module.utils import fs_encode + from module.plugins.Container import Container +from module.utils import fs_encode class LinkList(Container): __name__ = "LinkList" __version__ = "0.12" + __pattern__ = r'.+\.txt' - __description__ = """Read link lists in txt format""" __config__ = [("clear", "bool", "Clear Linklist after adding", False), ("encoding", "string", "File encoding (default utf-8)", "")] + + __description__ = """Read link lists in txt format""" __author_name__ = ("spoob", "jeix") __author_mail__ = ("spoob@pyload.org", "jeix@hasnomail.com") + def decrypt(self, pyfile): try: file_enc = codecs.lookup(self.getConfig("encoding")).name diff --git a/module/plugins/container/RSDF.py b/module/plugins/container/RSDF.py index cc090a267..2444ec752 100644 --- a/module/plugins/container/RSDF.py +++ b/module/plugins/container/RSDF.py @@ -10,11 +10,14 @@ from module.plugins.Container import Container class RSDF(Container): __name__ = "RSDF" __version__ = "0.22" + __pattern__ = r'.+\.rsdf' + __description__ = """RSDF container decrypter plugin""" __author_name__ = ("RaNaN", "spoob") __author_mail__ = ("RaNaN@pyload.org", "spoob@pyload.org") + def decrypt(self, pyfile): from Crypto.Cipher import AES diff --git a/module/plugins/crypter/BitshareComFolder.py b/module/plugins/crypter/BitshareComFolder.py index 7139c26a6..2afe990df 100644 --- a/module/plugins/crypter/BitshareComFolder.py +++ b/module/plugins/crypter/BitshareComFolder.py @@ -19,9 +19,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class BitshareComFolder(SimpleCrypter): __name__ = "BitshareComFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?bitshare\.com/\?d=\w+' - __version__ = "0.01" + __description__ = """Bitshare.com folder decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" diff --git a/module/plugins/crypter/C1neonCom.py b/module/plugins/crypter/C1neonCom.py index 8923cfc32..fc1188a11 100644 --- a/module/plugins/crypter/C1neonCom.py +++ b/module/plugins/crypter/C1neonCom.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class C1neonCom(DeadCrypter): __name__ = "C1neonCom" + __version__ = "0.05" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?c1neon.com/.*?' - __version__ = "0.05" + __description__ = """C1neon.com decrypter plugin""" __author_name__ = "godofdream" __author_mail__ = "soilfiction@gmail.com" diff --git a/module/plugins/crypter/ChipDe.py b/module/plugins/crypter/ChipDe.py index 529ec6918..8e48b1085 100644 --- a/module/plugins/crypter/ChipDe.py +++ b/module/plugins/crypter/ChipDe.py @@ -6,13 +6,16 @@ from module.plugins.Crypter import Crypter class ChipDe(Crypter): __name__ = "ChipDe" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?chip.de/video/.*\.html' - __version__ = "0.1" + __description__ = """Chip.de decrypter plugin""" __author_name__ = "4Christopher" __author_mail__ = "4Christopher@gmx.de" + def decrypt(self, pyfile): self.html = self.load(pyfile.url) try: diff --git a/module/plugins/crypter/CrockoComFolder.py b/module/plugins/crypter/CrockoComFolder.py index e64e63534..8215e23c4 100644 --- a/module/plugins/crypter/CrockoComFolder.py +++ b/module/plugins/crypter/CrockoComFolder.py @@ -5,9 +5,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class CrockoComFolder(SimpleCrypter): __name__ = "CrockoComFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?crocko.com/f/.*' - __version__ = "0.01" + __description__ = """Crocko.com folder decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/crypter/CryptItCom.py b/module/plugins/crypter/CryptItCom.py index 6f8fbaa1a..331ddd5c8 100644 --- a/module/plugins/crypter/CryptItCom.py +++ b/module/plugins/crypter/CryptItCom.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class CryptItCom(DeadCrypter): __name__ = "CryptItCom" + __version__ = "0.11" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?crypt-it\.com/(s|e|d|c)/[\w]+' - __version__ = "0.11" + __description__ = """Crypt-it.com decrypter plugin""" __author_name__ = "jeix" __author_mail__ = "jeix@hasnomail.de" diff --git a/module/plugins/crypter/CzshareComFolder.py b/module/plugins/crypter/CzshareComFolder.py index c3606fdab..c60d5a87d 100644 --- a/module/plugins/crypter/CzshareComFolder.py +++ b/module/plugins/crypter/CzshareComFolder.py @@ -6,9 +6,11 @@ from module.plugins.Crypter import Crypter class CzshareComFolder(Crypter): __name__ = "CzshareComFolder" + __version__ = "0.2" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?(czshare|sdilej)\.(com|cz)/folders/.*' - __version__ = "0.2" + __description__ = """Czshare.com folder decrypter plugin, now Sdilej.cz""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" @@ -17,6 +19,7 @@ class CzshareComFolder(Crypter): LINK_PATTERN = r'<td class="col2"><a href="([^"]+)">info</a></td>' #NEXT_PAGE_PATTERN = r'<a class="next " href="/([^"]+)"> </a>' + def decrypt(self, pyfile): html = self.load(pyfile.url) diff --git a/module/plugins/crypter/DDLMusicOrg.py b/module/plugins/crypter/DDLMusicOrg.py index 27cff3f9d..fcdd507a7 100644 --- a/module/plugins/crypter/DDLMusicOrg.py +++ b/module/plugins/crypter/DDLMusicOrg.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- import re + from time import sleep from module.plugins.Crypter import Crypter @@ -8,13 +9,16 @@ from module.plugins.Crypter import Crypter class DDLMusicOrg(Crypter): __name__ = "DDLMusicOrg" + __version__ = "0.3" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?ddl-music\.org/captcha/ddlm_cr\d\.php\?\d+\?\d+' - __version__ = "0.3" + __description__ = """Ddl-music.org decrypter plugin""" __author_name__ = "mkaay" __author_mail__ = "mkaay@mkaay.de" + def setup(self): self.multiDL = False diff --git a/module/plugins/crypter/DailymotionBatch.py b/module/plugins/crypter/DailymotionBatch.py index d9309af90..c86c966d8 100644 --- a/module/plugins/crypter/DailymotionBatch.py +++ b/module/plugins/crypter/DailymotionBatch.py @@ -25,13 +25,16 @@ from module.utils import save_join class DailymotionBatch(Crypter): __name__ = "DailymotionBatch" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'https?://(?:www\.)?dailymotion\.com/((playlists/)?(?P<TYPE>playlist|user)/)?(?P<ID>[\w^_]+)(?(TYPE)|#)' - __version__ = "0.01" + __description__ = """Dailymotion.com channel & playlist decrypter""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" + def api_response(self, ref, req=None): url = urljoin("https://api.dailymotion.com/", ref) page = self.load(url, get=req) diff --git a/module/plugins/crypter/DataHuFolder.py b/module/plugins/crypter/DataHuFolder.py index 04ef152fc..553936b1a 100644 --- a/module/plugins/crypter/DataHuFolder.py +++ b/module/plugins/crypter/DataHuFolder.py @@ -21,9 +21,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DataHuFolder(SimpleCrypter): __name__ = "DataHuFolder" + __version__ = "0.03" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?data.hu/dir/\w+' - __version__ = "0.03" + __description__ = """Data.hu folder decrypter plugin""" __author_name__ = ("crash", "stickell") __author_mail__ = "l.stickell@yahoo.it" @@ -31,6 +33,7 @@ class DataHuFolder(SimpleCrypter): LINK_PATTERN = r"<a href='(http://data\.hu/get/.+)' target='_blank'>\1</a>" TITLE_PATTERN = ur'<title>(?P<title>.+) Let\xf6lt\xe9se</title>' + def decrypt(self, pyfile): self.html = self.load(pyfile.url, decode=True) diff --git a/module/plugins/crypter/DdlstorageComFolder.py b/module/plugins/crypter/DdlstorageComFolder.py index ef43edc5b..4c79407e4 100644 --- a/module/plugins/crypter/DdlstorageComFolder.py +++ b/module/plugins/crypter/DdlstorageComFolder.py @@ -19,9 +19,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DdlstorageComFolder(SimpleCrypter): __name__ = "DdlstorageComFolder" + __version__ = "0.02" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?ddlstorage.com/folder/\w{10}' - __version__ = "0.02" + __description__ = """DDLStorage.com folder decrypter plugin""" __author_name__ = ("godofdream", "stickell") __author_mail__ = ("soilfiction@gmail.com", "l.stickell@yahoo.it") diff --git a/module/plugins/crypter/DepositfilesComFolder.py b/module/plugins/crypter/DepositfilesComFolder.py index 74d199e12..bb08b627b 100644 --- a/module/plugins/crypter/DepositfilesComFolder.py +++ b/module/plugins/crypter/DepositfilesComFolder.py @@ -5,9 +5,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DepositfilesComFolder(SimpleCrypter): __name__ = "DepositfilesComFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?depositfiles.com/folders/\w+' - __version__ = "0.01" + __description__ = """Depositfiles.com folder decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/crypter/Dereferer.py b/module/plugins/crypter/Dereferer.py index 4b6309c17..6870f2f24 100644 --- a/module/plugins/crypter/Dereferer.py +++ b/module/plugins/crypter/Dereferer.py @@ -23,13 +23,16 @@ from module.plugins.Crypter import Crypter class Dereferer(Crypter): __name__ = "Dereferer" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'https?://([^/]+)/.*?(?P<url>(ht|f)tps?(://|%3A%2F%2F).*)' - __version__ = "0.1" + __description__ = """Crypter for dereferers""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" + def decrypt(self, pyfile): link = re.match(self.__pattern__, pyfile.url).group('url') self.core.files.addLinks([urllib.unquote(link).rstrip('+')], pyfile.package().id) diff --git a/module/plugins/crypter/DlProtectCom.py b/module/plugins/crypter/DlProtectCom.py index 5ef8eab21..6bd6bc5b5 100644 --- a/module/plugins/crypter/DlProtectCom.py +++ b/module/plugins/crypter/DlProtectCom.py @@ -15,6 +15,7 @@ ############################################################################### import re + from base64 import urlsafe_b64encode from time import time @@ -23,15 +24,18 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DlProtectCom(SimpleCrypter): __name__ = "DlProtectCom" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?dl-protect\.com/((en|fr)/)?(?P<ID>\w+)' - __version__ = "0.01" + __description__ = """Dl-protect.com decrypter plugin""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" OFFLINE_PATTERN = r'>Unfortunately, the link you are looking for is not found' + def getLinks(self): # Direct link with redirect if not re.match(r"http://(?:www\.)?dl-protect\.com", self.req.http.lastEffectiveURL): diff --git a/module/plugins/crypter/DontKnowMe.py b/module/plugins/crypter/DontKnowMe.py index 4a4b6f292..d05355c2e 100644 --- a/module/plugins/crypter/DontKnowMe.py +++ b/module/plugins/crypter/DontKnowMe.py @@ -8,15 +8,18 @@ from module.plugins.Crypter import Crypter class DontKnowMe(Crypter): __name__ = "DontKnowMe" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?dontknow.me/at/\?.+$' - __version__ = "0.1" + __description__ = """DontKnow.me decrypter plugin""" __author_name__ = "selaux" __author_mail__ = None LINK_PATTERN = r'http://dontknow.me/at/\?(.+)$' + def decrypt(self, pyfile): link = re.findall(self.LINK_PATTERN, pyfile.url)[0] self.core.files.addLinks([urllib.unquote(link)], pyfile.package().id) diff --git a/module/plugins/crypter/DuckCryptInfo.py b/module/plugins/crypter/DuckCryptInfo.py index bbf6e6b0d..6f5efdd1b 100644 --- a/module/plugins/crypter/DuckCryptInfo.py +++ b/module/plugins/crypter/DuckCryptInfo.py @@ -7,15 +7,18 @@ from module.plugins.Crypter import Crypter class DuckCryptInfo(Crypter): __name__ = "DuckCryptInfo" + __version__ = "0.02" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?duckcrypt.info/(folder|wait|link)/(\w+)/?(\w*)' - __version__ = "0.02" + __description__ = """DuckCrypt.info decrypter plugin""" __author_name__ = "godofdream" __author_mail__ = "soilfiction@gmail.com" TIMER_PATTERN = r'<span id="timer">(.*)</span>' + def decrypt(self, pyfile): url = pyfile.url # seems we don't need to wait diff --git a/module/plugins/crypter/DuploadOrgFolder.py b/module/plugins/crypter/DuploadOrgFolder.py index 4913bdf2e..f2b8da2bd 100644 --- a/module/plugins/crypter/DuploadOrgFolder.py +++ b/module/plugins/crypter/DuploadOrgFolder.py @@ -19,9 +19,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class DuploadOrgFolder(SimpleCrypter): __name__ = "DuploadOrgFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?dupload\.org/folder/\d+/' - __version__ = "0.01" + __description__ = """Dupload.org folder decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" diff --git a/module/plugins/crypter/EasybytezComFolder.py b/module/plugins/crypter/EasybytezComFolder.py index 7a8ee5424..7c78b7946 100644 --- a/module/plugins/crypter/EasybytezComFolder.py +++ b/module/plugins/crypter/EasybytezComFolder.py @@ -19,9 +19,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class EasybytezComFolder(SimpleCrypter): __name__ = "EasybytezComFolder" + __version__ = "0.06" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?easybytez\.com/users/(?P<ID>\d+/\d+)' - __version__ = "0.06" + __description__ = """Easybytez.com decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" diff --git a/module/plugins/crypter/EmbeduploadCom.py b/module/plugins/crypter/EmbeduploadCom.py index fbccf71aa..6126527a9 100644 --- a/module/plugins/crypter/EmbeduploadCom.py +++ b/module/plugins/crypter/EmbeduploadCom.py @@ -7,17 +7,20 @@ from module.network.HTTPRequest import BadHeader class EmbeduploadCom(Crypter): __name__ = "EmbeduploadCom" + __version__ = "0.02" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?embedupload.com/\?d=.*' - __version__ = "0.02" - __description__ = """EmbedUpload.com decrypter plugin""" __config__ = [("preferedHoster", "str", "Prefered hoster list (bar-separated) ", "embedupload"), ("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")] + + __description__ = """EmbedUpload.com decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" LINK_PATTERN = r'<div id="([^"]+)"[^>]*>\s*<a href="([^"]+)" target="_blank" (?:class="DownloadNow"|style="color:red")>' + def decrypt(self, pyfile): self.html = self.load(pyfile.url, decode=True) tmp_links = [] diff --git a/module/plugins/crypter/FilebeerInfoFolder.py b/module/plugins/crypter/FilebeerInfoFolder.py index f5818e072..7a7528066 100644 --- a/module/plugins/crypter/FilebeerInfoFolder.py +++ b/module/plugins/crypter/FilebeerInfoFolder.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class FilebeerInfoFolder(DeadCrypter): __name__ = "FilebeerInfoFolder" + __version__ = "0.02" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?filebeer\.info/(\d+~f).*' - __version__ = "0.02" + __description__ = """Filebeer.info folder decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/crypter/FilecloudIoFolder.py b/module/plugins/crypter/FilecloudIoFolder.py index bd07b823e..d3df7c469 100644 --- a/module/plugins/crypter/FilecloudIoFolder.py +++ b/module/plugins/crypter/FilecloudIoFolder.py @@ -19,9 +19,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilecloudIoFolder(SimpleCrypter): __name__ = "FilecloudIoFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'https?://(?:www\.)?(filecloud\.io|ifile\.it)/_\w+' - __version__ = "0.01" + __description__ = """Filecloud.io folder decrypter plugin""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" diff --git a/module/plugins/crypter/FilefactoryComFolder.py b/module/plugins/crypter/FilefactoryComFolder.py index 2147c48df..ce20ee6eb 100644 --- a/module/plugins/crypter/FilefactoryComFolder.py +++ b/module/plugins/crypter/FilefactoryComFolder.py @@ -5,9 +5,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilefactoryComFolder(SimpleCrypter): __name__ = "FilefactoryComFolder" + __version__ = "0.2" __type__ = "crypter" + __pattern__ = r'https?://(?:www\.)?filefactory\.com/(?:f|folder)/\w+' - __version__ = "0.2" + __description__ = """Filefactory.com folder decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" @@ -18,5 +20,6 @@ class FilefactoryComFolder(SimpleCrypter): SH_COOKIES = [('.filefactory.com', 'locale', 'en_US.utf8')] + def loadPage(self, page_n): return self.load(self.pyfile.url, get={'page': page_n}) diff --git a/module/plugins/crypter/FilerNetFolder.py b/module/plugins/crypter/FilerNetFolder.py index c4cf658bd..77e7409e9 100644 --- a/module/plugins/crypter/FilerNetFolder.py +++ b/module/plugins/crypter/FilerNetFolder.py @@ -5,15 +5,18 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilerNetFolder(SimpleCrypter): __name__ = "FilerNetFolder" - __type__ = "crypter" __version__ = "0.3" - __description__ = """Filer.net decrypter plugin""" + __type__ = "crypter" + __pattern__ = r'https?://filer\.net/folder/\w{16}' + + __description__ = """Filer.net decrypter plugin""" __author_name_ = ("nath_schwarz", "stickell") __author_mail_ = ("nathan.notwhite@gmail.com", "l.stickell@yahoo.it") LINK_PATTERN = r'href="(/get/\w{16})">(?!<)' TITLE_PATTERN = r'<h3>(?P<title>.+) - <small' + def getLinks(self): return ['http://filer.net%s' % link for link in re.findall(self.LINK_PATTERN, self.html)] diff --git a/module/plugins/crypter/FileserveComFolder.py b/module/plugins/crypter/FileserveComFolder.py index 74d7806e6..30662f02d 100644 --- a/module/plugins/crypter/FileserveComFolder.py +++ b/module/plugins/crypter/FileserveComFolder.py @@ -7,9 +7,11 @@ from module.plugins.Crypter import Crypter class FileserveComFolder(Crypter): __name__ = "FileserveComFolder" + __version__ = "0.11" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?fileserve.com/list/\w+' - __version__ = "0.11" + __description__ = """FileServe.com folder decrypter plugin""" __author_name__ = "fionnc" __author_mail__ = "fionnc@gmail.com" @@ -17,6 +19,7 @@ class FileserveComFolder(Crypter): FOLDER_PATTERN = r'<table class="file_list">(.*?)</table>' LINK_PATTERN = r'<a href="([^"]+)" class="sheet_icon wbold">' + def decrypt(self, pyfile): html = self.load(pyfile.url) diff --git a/module/plugins/crypter/FilestubeCom.py b/module/plugins/crypter/FilestubeCom.py index ac67c33c9..7576319e0 100644 --- a/module/plugins/crypter/FilestubeCom.py +++ b/module/plugins/crypter/FilestubeCom.py @@ -19,9 +19,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FilestubeCom(SimpleCrypter): __name__ = "FilestubeCom" + __version__ = "0.03" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?filestube\.(?:com|to)/\w+' - __version__ = "0.03" + __description__ = """Filestube.com decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" diff --git a/module/plugins/crypter/FiletramCom.py b/module/plugins/crypter/FiletramCom.py index 5a587eda2..2491c1322 100644 --- a/module/plugins/crypter/FiletramCom.py +++ b/module/plugins/crypter/FiletramCom.py @@ -19,9 +19,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FiletramCom(SimpleCrypter): __name__ = "FiletramCom" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?filetram.com/[^/]+/.+' - __version__ = "0.01" + __description__ = """Filetram.com decrypter plugin""" __author_name__ = ("igel", "stickell") __author_mail__ = ("igelkun@myopera.com", "l.stickell@yahoo.it") diff --git a/module/plugins/crypter/FiredriveComFolder.py b/module/plugins/crypter/FiredriveComFolder.py index 97ba11037..c0db299b0 100644 --- a/module/plugins/crypter/FiredriveComFolder.py +++ b/module/plugins/crypter/FiredriveComFolder.py @@ -21,9 +21,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FiredriveComFolder(SimpleCrypter): __name__ = "FiredriveComFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'https?://(?:www\.)?(firedrive|putlocker)\.com/share/.+' - __version__ = "0.01" + __description__ = """Firedrive.com folder decrypter plugin""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" @@ -33,6 +35,7 @@ class FiredriveComFolder(SimpleCrypter): OFFLINE_PATTERN = r'class="sad_face_image"|>No such page here.<' TEMP_OFFLINE_PATTERN = r'>(File Temporarily Unavailable|Server Error. Try again later)' + def getLinks(self): return map(lambda x: "http://www.firedrive.com/%s/%s" % ("share" if x[0] == "folder" else "file", x[1]), diff --git a/module/plugins/crypter/FourChanOrg.py b/module/plugins/crypter/FourChanOrg.py index 010451c46..dc0cdcb6c 100644 --- a/module/plugins/crypter/FourChanOrg.py +++ b/module/plugins/crypter/FourChanOrg.py @@ -1,4 +1,6 @@ # -*- coding: utf-8 -*- +# Based on 4chandl by Roland Beermann +# https://gist.github.com/enkore/3492599 import re @@ -6,13 +8,16 @@ from module.plugins.Crypter import Crypter class FourChanOrg(Crypter): - # Based on 4chandl by Roland Beermann - # https://gist.github.com/enkore/3492599 __name__ = "FourChanOrg" - __type__ = "crypter" __version__ = "0.3" + __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?boards\.4chan.org/\w+/res/(\d+)' + __description__ = """4chan.org folder decrypter plugin""" + __author_name__ = None + __author_mail__ = None + def decrypt(self, pyfile): pagehtml = self.load(pyfile.url) diff --git a/module/plugins/crypter/FreakhareComFolder.py b/module/plugins/crypter/FreakhareComFolder.py index c5df7ff17..ddc05199b 100644 --- a/module/plugins/crypter/FreakhareComFolder.py +++ b/module/plugins/crypter/FreakhareComFolder.py @@ -21,9 +21,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FreakhareComFolder(SimpleCrypter): __name__ = "FreakhareComFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?freakshare\.com/folder/.+' - __version__ = "0.01" + __description__ = """Freakhare.com folder decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" @@ -32,6 +34,7 @@ class FreakhareComFolder(SimpleCrypter): TITLE_PATTERN = r'Folder:</b> (?P<title>.+)' PAGES_PATTERN = r'Pages: +(?P<pages>\d+)' + def loadPage(self, page_n): if not hasattr(self, 'f_id') and not hasattr(self, 'f_md5'): m = re.search(r'http://freakshare.com/\?x=folder&f_id=(\d+)&f_md5=(\w+)', self.html) diff --git a/module/plugins/crypter/FreetexthostCom.py b/module/plugins/crypter/FreetexthostCom.py index e5c9c3d21..d03805722 100644 --- a/module/plugins/crypter/FreetexthostCom.py +++ b/module/plugins/crypter/FreetexthostCom.py @@ -21,13 +21,16 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FreetexthostCom(SimpleCrypter): __name__ = "FreetexthostCom" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?freetexthost\.com/\w+' - __version__ = "0.01" + __description__ = """Freetexthost.com decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" + def getLinks(self): m = re.search(r'<div id="contentsinner">\s*(.+)<div class="viewcount">', self.html, re.DOTALL) if not m: diff --git a/module/plugins/crypter/FshareVnFolder.py b/module/plugins/crypter/FshareVnFolder.py index 6e67905d9..9f5162125 100644 --- a/module/plugins/crypter/FshareVnFolder.py +++ b/module/plugins/crypter/FshareVnFolder.py @@ -5,9 +5,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class FshareVnFolder(SimpleCrypter): __name__ = "FshareVnFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?fshare.vn/folder/.*' - __version__ = "0.01" + __description__ = """Fshare.vn folder decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/crypter/GooGl.py b/module/plugins/crypter/GooGl.py index 343bce5fd..37531c11e 100644 --- a/module/plugins/crypter/GooGl.py +++ b/module/plugins/crypter/GooGl.py @@ -20,15 +20,18 @@ from module.common.json_layer import json_loads class GooGl(Crypter): __name__ = "GooGl" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'https?://(?:www\.)?goo\.gl/\w+' - __version__ = "0.01" + __description__ = """Goo.gl decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" API_URL = "https://www.googleapis.com/urlshortener/v1/url" + def decrypt(self, pyfile): rep = self.load(self.API_URL, get={'shortUrl': pyfile.url}) self.logDebug('JSON data: ' + rep) diff --git a/module/plugins/crypter/HoerbuchIn.py b/module/plugins/crypter/HoerbuchIn.py index 06a15fc65..df81cc207 100644 --- a/module/plugins/crypter/HoerbuchIn.py +++ b/module/plugins/crypter/HoerbuchIn.py @@ -8,9 +8,11 @@ from module.lib.BeautifulSoup import BeautifulSoup, BeautifulStoneSoup class HoerbuchIn(Crypter): __name__ = "HoerbuchIn" + __version__ = "0.6" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?hoerbuch\.in/(wp/horbucher/\d+/.+/|tp/out.php\?.+|protection/folder_\d+\.html)' - __version__ = "0.6" + __description__ = """Hoerbuch.in decrypter plugin""" __author_name__ = ("spoob", "mkaay") __author_mail__ = ("spoob@pyload.org", "mkaay@mkaay.de") @@ -18,6 +20,7 @@ class HoerbuchIn(Crypter): article = re.compile("http://(?:www\.)?hoerbuch\.in/wp/horbucher/\d+/.+/") protection = re.compile("http://(?:www\.)?hoerbuch\.in/protection/folder_\d+.html") + def decrypt(self, pyfile): self.pyfile = pyfile diff --git a/module/plugins/crypter/HotfileFolderCom.py b/module/plugins/crypter/HotfileFolderCom.py index 3a4a9d70a..02c937553 100644 --- a/module/plugins/crypter/HotfileFolderCom.py +++ b/module/plugins/crypter/HotfileFolderCom.py @@ -7,13 +7,16 @@ from module.plugins.Crypter import Crypter class HotfileFolderCom(Crypter): __name__ = "HotfileFolderCom" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?hotfile.com/list/\w+/\w+' - __version__ = "0.1" + __description__ = """Hotfile.com folder decrypter plugin""" __author_name__ = "RaNaN" __author_mail__ = "RaNaN@pyload.org" + def decrypt(self, pyfile): html = self.load(pyfile.url) diff --git a/module/plugins/crypter/ILoadTo.py b/module/plugins/crypter/ILoadTo.py index a9547c2b2..e003e07f4 100644 --- a/module/plugins/crypter/ILoadTo.py +++ b/module/plugins/crypter/ILoadTo.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class ILoadTo(DeadCrypter): __name__ = "ILoadTo" + __version__ = "0.11" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?iload\.to/go/\d+-[\w\.-]+/' - __version__ = "0.11" + __description__ = """Iload.to decrypter plugin""" __author_name__ = "hzpz" __author_mail__ = None diff --git a/module/plugins/crypter/ImgurComAlbum.py b/module/plugins/crypter/ImgurComAlbum.py index 79306fc6c..394673586 100644 --- a/module/plugins/crypter/ImgurComAlbum.py +++ b/module/plugins/crypter/ImgurComAlbum.py @@ -6,16 +6,19 @@ from module.utils import uniqify class ImgurComAlbum(SimpleCrypter): __name__ = "ImgurComAlbum" - __type__ = "crypter" __version__ = "0.4" - __description__ = """Imgur.com decrypter plugin""" + __type__ = "crypter" + __pattern__ = r'https?://(?:www\.|m\.)?imgur\.com/(a|gallery|)/?\w{5,7}' + + __description__ = """Imgur.com decrypter plugin""" __author_name_ = "nath_schwarz" __author_mail_ = "nathan.notwhite@gmail.com" TITLE_PATTERN = r'(?P<title>.+) - Imgur' LINK_PATTERN = r'i\.imgur\.com/\w{7}s?\.(?:jpeg|jpg|png|gif|apng)' + def getLinks(self): f = lambda url: "http://" + re.sub(r'(\w{7})s\.', r'\1.', url) return uniqify(map(f, re.findall(self.LINK_PATTERN, self.html))) diff --git a/module/plugins/crypter/LetitbitNetFolder.py b/module/plugins/crypter/LetitbitNetFolder.py index 8ae2ad118..6ea27813c 100644 --- a/module/plugins/crypter/LetitbitNetFolder.py +++ b/module/plugins/crypter/LetitbitNetFolder.py @@ -6,9 +6,11 @@ from module.plugins.Crypter import Crypter class LetitbitNetFolder(Crypter): __name__ = "LetitbitNetFolder" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?letitbit.net/folder/\w+' - __version__ = "0.1" + __description__ = """Letitbit.net folder decrypter plugin""" __author_name__ = ("DHMH", "z00nx") __author_mail__ = ("webmaster@pcProfil.de", "z00nx0@gmail.com") @@ -16,6 +18,7 @@ class LetitbitNetFolder(Crypter): FOLDER_PATTERN = r'<table>(.*)</table>' LINK_PATTERN = r'<a href="([^"]+)" target="_blank">' + def decrypt(self, pyfile): html = self.load(pyfile.url) diff --git a/module/plugins/crypter/LinkSaveIn.py b/module/plugins/crypter/LinkSaveIn.py index 5fde4e958..6e024c766 100644 --- a/module/plugins/crypter/LinkSaveIn.py +++ b/module/plugins/crypter/LinkSaveIn.py @@ -17,9 +17,11 @@ from module.unescape import unescape class LinkSaveIn(Crypter): __name__ = "LinkSaveIn" + __version__ = "2.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?linksave.in/(?P<id>\w+)$' - __version__ = "2.01" + __description__ = """LinkSave.in decrypter plugin""" __author_name__ = "fragonib" __author_mail__ = "fragonib[AT]yahoo[DOT]es" @@ -29,6 +31,7 @@ class LinkSaveIn(Crypter): _CRYPTED_KEY_ = "crypted" HOSTER_NAME = "linksave.in" + def setup(self): self.html = None self.fileid = None diff --git a/module/plugins/crypter/LinkdecrypterCom.py b/module/plugins/crypter/LinkdecrypterCom.py index 1ec396962..96fe11951 100644 --- a/module/plugins/crypter/LinkdecrypterCom.py +++ b/module/plugins/crypter/LinkdecrypterCom.py @@ -21,8 +21,11 @@ from module.plugins.Crypter import Crypter class LinkdecrypterCom(Crypter): __name__ = "LinkdecrypterCom" - __type__ = "crypter" __version__ = "0.27" + __type__ = "crypter" + + __pattern__ = None + __description__ = """Linkdecrypter.com""" __author_name__ = ("zoidberg", "flowlee") __author_mail__ = ("zoidberg@mujmail.cz", "") @@ -32,6 +35,7 @@ class LinkdecrypterCom(Crypter): CAPTCHA_PATTERN = r'<img class="captcha" src="(.+?)"(.*?)>' REDIR_PATTERN = r'<i>(Click <a href="./">here</a> if your browser does not redirect you).</i>' + def decrypt(self, pyfile): self.passwords = self.getPassword().splitlines() diff --git a/module/plugins/crypter/LixIn.py b/module/plugins/crypter/LixIn.py index 8fca7dc02..d3c41bd4c 100644 --- a/module/plugins/crypter/LixIn.py +++ b/module/plugins/crypter/LixIn.py @@ -7,9 +7,11 @@ from module.plugins.Crypter import Crypter class LixIn(Crypter): __name__ = "LixIn" + __version__ = "0.22" __type__ = "crypter" + __pattern__ = r'http://(www.)?lix.in/(?P<id>.*)' - __version__ = "0.22" + __description__ = """Lix.in decrypter plugin""" __author_name__ = "spoob" __author_mail__ = "spoob@pyload.org" @@ -18,6 +20,7 @@ class LixIn(Crypter): SUBMIT_PATTERN = r"value='continue.*?'" LINK_PATTERN = r'name="ifram" src="(?P<link>.*?)"' + def decrypt(self, pyfile): url = pyfile.url diff --git a/module/plugins/crypter/LofCc.py b/module/plugins/crypter/LofCc.py index a17d58884..91106dc51 100644 --- a/module/plugins/crypter/LofCc.py +++ b/module/plugins/crypter/LofCc.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class LofCc(DeadCrypter): __name__ = "LofCc" + __version__ = "0.21" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?lof.cc/(.*)' - __version__ = "0.21" + __description__ = """Lof.cc decrypter plugin""" __author_name__ = "mkaay" __author_mail__ = "mkaay@mkaay.de" diff --git a/module/plugins/crypter/MBLinkInfo.py b/module/plugins/crypter/MBLinkInfo.py index 8aa70e8ff..0162c111d 100644 --- a/module/plugins/crypter/MBLinkInfo.py +++ b/module/plugins/crypter/MBLinkInfo.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class MBLinkInfo(DeadCrypter): __name__ = "MBLinkInfo" + __version__ = "0.03" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?mblink\.info/?\?id=(\d+)' - __version__ = "0.03" + __description__ = """MBLink.info decrypter plugin""" __author_name__ = ("Gummibaer", "stickell") __author_mail__ = ("Gummibaer@wiki-bierkiste.de", "l.stickell@yahoo.it") diff --git a/module/plugins/crypter/MediafireComFolder.py b/module/plugins/crypter/MediafireComFolder.py index 1ab16f31f..728bd6bbb 100644 --- a/module/plugins/crypter/MediafireComFolder.py +++ b/module/plugins/crypter/MediafireComFolder.py @@ -8,9 +8,11 @@ from module.common.json_layer import json_loads class MediafireComFolder(Crypter): __name__ = "MediafireComFolder" + __version__ = "0.14" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?mediafire\.com/(folder/|\?sharekey=|\?\w{13}($|[/#]))' - __version__ = "0.14" + __description__ = """Mediafire.com folder decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/crypter/Movie2kTo.py b/module/plugins/crypter/Movie2kTo.py index 991e1e1ee..dcebf5e03 100644 --- a/module/plugins/crypter/Movie2kTo.py +++ b/module/plugins/crypter/Movie2kTo.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class Movie2kTo(DeadCrypter): __name__ = "Movie2kTo" + __version__ = "0.51" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?movie2k\.to/(.*)\.html' - __version__ = "0.51" + __description__ = """Movie2k.to decrypter plugin""" __author_name__ = "4Christopher" __author_mail__ = "4Christopher@gmx.de" diff --git a/module/plugins/crypter/MultiUpOrg.py b/module/plugins/crypter/MultiUpOrg.py index d08daaf75..ab23def8d 100644 --- a/module/plugins/crypter/MultiUpOrg.py +++ b/module/plugins/crypter/MultiUpOrg.py @@ -23,15 +23,18 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class MultiUpOrg(SimpleCrypter): __name__ = "MultiUpOrg" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?multiup\.org/(en|fr)/(?P<TYPE>project|download|miror)/\w+(/\w+)?' - __version__ = "0.01" + __description__ = """MultiUp.org crypter plugin""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" TITLE_PATTERN = r'<title>.*(Project|Projet|ownload|élécharger) (?P<title>.+?) (\(|- )' + def getLinks(self): m_type = re.match(self.__pattern__, self.pyfile.url).group("TYPE") diff --git a/module/plugins/crypter/MultiloadCz.py b/module/plugins/crypter/MultiloadCz.py index 5e7051bad..e6ffbe9b0 100644 --- a/module/plugins/crypter/MultiloadCz.py +++ b/module/plugins/crypter/MultiloadCz.py @@ -6,18 +6,21 @@ from module.plugins.Crypter import Crypter class MultiloadCz(Crypter): __name__ = "MultiloadCz" + __version__ = "0.4" __type__ = "crypter" + __pattern__ = r'http://(?:[^/]*\.)?multiload.cz/(stahnout|slozka)/.*' - __version__ = "0.4" - __description__ = """Multiload.cz decrypter plugin""" __config__ = [("usedHoster", "str", "Prefered hoster list (bar-separated) ", ""), ("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")] + + __description__ = """Multiload.cz decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" FOLDER_PATTERN = r'<form action="" method="get"><textarea[^>]*>([^>]*)</textarea></form>' LINK_PATTERN = r'<p class="manager-server"><strong>([^<]+)</strong></p><p class="manager-linky"><a href="([^"]+)">' + def decrypt(self, pyfile): self.html = self.load(pyfile.url, decode=True) new_links = [] diff --git a/module/plugins/crypter/MultiuploadCom.py b/module/plugins/crypter/MultiuploadCom.py index 677080772..cdc685fab 100644 --- a/module/plugins/crypter/MultiuploadCom.py +++ b/module/plugins/crypter/MultiuploadCom.py @@ -9,17 +9,20 @@ from module.common.json_layer import json_loads class MultiuploadCom(Crypter): __name__ = "MultiuploadCom" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?multiupload.com/(\w+)' - __version__ = "0.01" - __description__ = """MultiUpload.com decrypter plugin""" __config__ = [("preferedHoster", "str", "Prefered hoster list (bar-separated) ", "multiupload"), ("ignoredHoster", "str", "Ignored hoster list (bar-separated) ", "")] + + __description__ = """MultiUpload.com decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" ML_LINK_PATTERN = r'<div id="downloadbutton_" style=""><a href="([^"]+)"' + def decrypt(self, pyfile): self.html = self.load(pyfile.url) found = re.search(self.ML_LINK_PATTERN, self.html) diff --git a/module/plugins/crypter/NCryptIn.py b/module/plugins/crypter/NCryptIn.py index ec6533ffc..dc2f29519 100644 --- a/module/plugins/crypter/NCryptIn.py +++ b/module/plugins/crypter/NCryptIn.py @@ -5,25 +5,28 @@ import binascii import re from Crypto.Cipher import AES + from module.plugins.Crypter import Crypter from module.plugins.internal.CaptchaService import ReCaptcha class NCryptIn(Crypter): __name__ = "NCryptIn" + __version__ = "1.32" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?ncrypt.in/(?P<type>folder|link|frame)-([^/\?]+)' - __version__ = "1.32" + __description__ = """NCrypt.in decrypter plugin""" __author_name__ = ("fragonib", "stickell") __author_mail__ = ("fragonib[AT]yahoo[DOT]es", "l.stickell@yahoo.it") - # Constants - _JK_KEY_ = "jk" - _CRYPTED_KEY_ = "crypted" + JK_KEY = "jk" + CRYPTED_KEY = "crypted" NAME_PATTERN = r'<meta name="description" content="(?P<N>[^"]+)"' + def setup(self): self.package = None self.html = None @@ -264,11 +267,11 @@ class NCryptIn(Crypter): pattern = r'<input.*?name="%s".*?value="(.*?)"' # Get jk - jk_re = pattern % NCryptIn._JK_KEY_ + jk_re = pattern % NCryptIn.JK_KEY vjk = re.findall(jk_re, self.html) # Get crypted - crypted_re = pattern % NCryptIn._CRYPTED_KEY_ + crypted_re = pattern % NCryptIn.CRYPTED_KEY vcrypted = re.findall(crypted_re, self.html) # Log and return diff --git a/module/plugins/crypter/NetfolderIn.py b/module/plugins/crypter/NetfolderIn.py index 286b9366b..4c7660ab5 100644 --- a/module/plugins/crypter/NetfolderIn.py +++ b/module/plugins/crypter/NetfolderIn.py @@ -7,15 +7,18 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class NetfolderIn(SimpleCrypter): __name__ = "NetfolderIn" + __version__ = "0.6" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?netfolder.in/((?P<id1>\w+)/\w+|folder.php\?folder_id=(?P<id2>\w+))' - __version__ = "0.6" + __description__ = """NetFolder.in decrypter plugin""" __author_name__ = ("RaNaN", "fragonib") __author_mail__ = ("RaNaN@pyload.org", "fragonib[AT]yahoo[DOT]es") TITLE_PATTERN = r'<div class="Text">Inhalt des Ordners <span(.*)>(?P<title>.+)</span></div>' + def decrypt(self, pyfile): # Request package self.html = self.load(pyfile.url) diff --git a/module/plugins/crypter/NosvideoCom.py b/module/plugins/crypter/NosvideoCom.py index 20097c7bf..2656b9374 100644 --- a/module/plugins/crypter/NosvideoCom.py +++ b/module/plugins/crypter/NosvideoCom.py @@ -5,9 +5,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class NosvideoCom(SimpleCrypter): __name__ = "NosvideoCom" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?nosvideo\.com/\?v=\w+' - __version__ = "0.01" + __description__ = """Nosvideo.com decrypter plugin""" __author_name__ = "igel" __author_mail__ = "igelkun@myopera.com" diff --git a/module/plugins/crypter/OneKhDe.py b/module/plugins/crypter/OneKhDe.py index 82fad86ce..b370df1f7 100644 --- a/module/plugins/crypter/OneKhDe.py +++ b/module/plugins/crypter/OneKhDe.py @@ -8,13 +8,16 @@ from module.plugins.Crypter import Crypter class OneKhDe(Crypter): __name__ = "OneKhDe" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?1kh.de/f/' - __version__ = "0.1" + __description__ = """1kh.de decrypter plugin""" __author_name__ = "spoob" __author_mail__ = "spoob@pyload.org" + def __init__(self, parent): Crypter.__init__(self, parent) self.parent = parent diff --git a/module/plugins/crypter/OronComFolder.py b/module/plugins/crypter/OronComFolder.py index f087370ac..988c5c959 100755 --- a/module/plugins/crypter/OronComFolder.py +++ b/module/plugins/crypter/OronComFolder.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class OronComFolder(DeadCrypter): __name__ = "OronComFolder" + __version__ = "0.11" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?oron.com/folder/\w+' - __version__ = "0.11" + __description__ = """Oron.com folder decrypter plugin""" __author_name__ = "DHMH" __author_mail__ = "webmaster@pcProfil.de" diff --git a/module/plugins/crypter/PastebinCom.py b/module/plugins/crypter/PastebinCom.py index e74f71a5c..172a4183f 100644 --- a/module/plugins/crypter/PastebinCom.py +++ b/module/plugins/crypter/PastebinCom.py @@ -19,9 +19,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class PastebinCom(SimpleCrypter): __name__ = "PastebinCom" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?pastebin\.com/\w+' - __version__ = "0.01" + __description__ = """Pastebin.com decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" diff --git a/module/plugins/crypter/QuickshareCzFolder.py b/module/plugins/crypter/QuickshareCzFolder.py index a412a5d18..a8f97cf77 100644 --- a/module/plugins/crypter/QuickshareCzFolder.py +++ b/module/plugins/crypter/QuickshareCzFolder.py @@ -6,9 +6,11 @@ from module.plugins.Crypter import Crypter class QuickshareCzFolder(Crypter): __name__ = "QuickshareCzFolder" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?quickshare.cz/slozka-\d+.*' - __version__ = "0.1" + __description__ = """Quickshare.cz folder decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" @@ -16,6 +18,7 @@ class QuickshareCzFolder(Crypter): FOLDER_PATTERN = r'<textarea[^>]*>(.*?)</textarea>' LINK_PATTERN = r'(http://www.quickshare.cz/\S+)' + def decrypt(self, pyfile): html = self.load(pyfile.url) diff --git a/module/plugins/crypter/RSLayerCom.py b/module/plugins/crypter/RSLayerCom.py index 13f4ed4bd..637caf2ce 100644 --- a/module/plugins/crypter/RSLayerCom.py +++ b/module/plugins/crypter/RSLayerCom.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class RSLayerCom(DeadCrypter): __name__ = "RSLayerCom" + __version__ = "0.21" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?rs-layer.com/directory-' - __version__ = "0.21" + __description__ = """RS-Layer.com decrypter plugin""" __author_name__ = "hzpz" __author_mail__ = None diff --git a/module/plugins/crypter/RelinkUs.py b/module/plugins/crypter/RelinkUs.py index 1187692a0..5474ef3b6 100644 --- a/module/plugins/crypter/RelinkUs.py +++ b/module/plugins/crypter/RelinkUs.py @@ -11,9 +11,11 @@ from module.plugins.Crypter import Crypter class RelinkUs(Crypter): __name__ = "RelinkUs" + __version__ = "3.0" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?relink.us/(f/|((view|go).php\?id=))(?P<id>.+)' - __version__ = "3.0" + __description__ = """Relink.us decrypter plugin""" __author_name__ = "fragonib" __author_mail__ = "fragonib[AT]yahoo[DOT]es" diff --git a/module/plugins/crypter/SafelinkingNet.py b/module/plugins/crypter/SafelinkingNet.py index 022f3e5ff..55f4c0ff6 100644 --- a/module/plugins/crypter/SafelinkingNet.py +++ b/module/plugins/crypter/SafelinkingNet.py @@ -11,14 +11,17 @@ from module.lib.BeautifulSoup import BeautifulSoup class SafelinkingNet(Crypter): __name__ = "SafelinkingNet" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'https?://(?:www\.)?safelinking.net/([pd])/\w+' - __version__ = "0.1" + __description__ = """Safelinking.net decrypter plugin""" __author_name__ = "quareevo" __author_mail__ = "quareevo@arcor.de" - __Solvemedia_pattern__ = "solvemediaApiKey = '([\w\.\-_]+)';" + SOLVEMEDIA_PATTERN = "solvemediaApiKey = '([\w\.\-_]+)';" + def decrypt(self, pyfile): url = pyfile.url @@ -44,7 +47,7 @@ class SafelinkingNet(Crypter): if "altcaptcha" in self.html: for _ in xrange(5): - m = re.search(self.__Solvemedia_pattern__, self.html) + m = re.search(self.SOLVEMEDIA_PATTERN, self.html) if m: captchaKey = m.group(1) captcha = SolveMedia(self) diff --git a/module/plugins/crypter/SecuredIn.py b/module/plugins/crypter/SecuredIn.py index 771205ec8..1a6650195 100644 --- a/module/plugins/crypter/SecuredIn.py +++ b/module/plugins/crypter/SecuredIn.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class SecuredIn(DeadCrypter): __name__ = "SecuredIn" + __version__ = "0.21" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?secured\.in/download-[\d]+-[\w]{8}\.html' - __version__ = "0.21" + __description__ = """Secured.in decrypter plugin""" __author_name__ = "mkaay" __author_mail__ = "mkaay@mkaay.de" diff --git a/module/plugins/crypter/SerienjunkiesOrg.py b/module/plugins/crypter/SerienjunkiesOrg.py index ecca56209..ea76d30d0 100644 --- a/module/plugins/crypter/SerienjunkiesOrg.py +++ b/module/plugins/crypter/SerienjunkiesOrg.py @@ -1,18 +1,21 @@ # -*- coding: utf-8 -*- +import random import re + from time import sleep -import random -from module.plugins.Crypter import Crypter + from module.lib.BeautifulSoup import BeautifulSoup +from module.plugins.Crypter import Crypter from module.unescape import unescape class SerienjunkiesOrg(Crypter): __name__ = "SerienjunkiesOrg" + __version__ = "0.39" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?(serienjunkies.org|dokujunkies.org)/.*?' - __version__ = "0.39" __config__ = [("changeNameSJ", "Packagename;Show;Season;Format;Episode", "Take SJ.org name", "Show"), ("changeNameDJ", "Packagename;Show;Format;Episode", "Take DJ.org name", "Show"), ("randomPreferred", "bool", "Randomize Preferred-List", False), @@ -21,10 +24,12 @@ class SerienjunkiesOrg(Crypter): ("hosterList", "str", "Preferred Hoster list (comma separated)", "RapidshareCom,UploadedTo,NetloadIn,FilefactoryCom,FreakshareNet,FilebaseTo,HotfileCom,DepositfilesCom,EasyshareCom,KickloadCom"), ("ignoreList", "str", "Ignored Hoster list (comma separated)", "MegauploadCom")] + __description__ = """Serienjunkies.org decrypter plugin""" __author_name__ = ("mkaay", "godofdream") __author_mail__ = ("mkaay@mkaay.de", "soilfiction@gmail.com") + def setup(self): self.multiDL = False diff --git a/module/plugins/crypter/ShareLinksBiz.py b/module/plugins/crypter/ShareLinksBiz.py index 4ea5955db..13327dd2b 100644 --- a/module/plugins/crypter/ShareLinksBiz.py +++ b/module/plugins/crypter/ShareLinksBiz.py @@ -10,13 +10,16 @@ from module.plugins.Crypter import Crypter class ShareLinksBiz(Crypter): __name__ = "ShareLinksBiz" + __version__ = "1.13" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?(share-links|s2l)\.biz/(?P<ID>_?\w+)' - __version__ = "1.13" + __description__ = """Share-Links.biz decrypter plugin""" __author_name__ = "fragonib" __author_mail__ = "fragonib[AT]yahoo[DOT]es" + def setup(self): self.baseUrl = None self.fileId = None diff --git a/module/plugins/crypter/ShareRapidComFolder.py b/module/plugins/crypter/ShareRapidComFolder.py index 15c8dccde..e44402a52 100644 --- a/module/plugins/crypter/ShareRapidComFolder.py +++ b/module/plugins/crypter/ShareRapidComFolder.py @@ -5,9 +5,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class ShareRapidComFolder(SimpleCrypter): __name__ = "ShareRapidComFolder" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?((share(-?rapid\.(biz|com|cz|info|eu|net|org|pl|sk)|-(central|credit|free|net)\.cz|-ms\.net)|(s-?rapid|rapids)\.(cz|sk))|(e-stahuj|mediatack|premium-rapidshare|rapidshare-premium|qiuck)\.cz|kadzet\.com|stahuj-zdarma\.eu|strelci\.net|universal-share\.com)/(slozka/.+)' - __version__ = "0.01" + __description__ = """Share-Rapid.com folder decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" diff --git a/module/plugins/crypter/SpeedLoadOrgFolder.py b/module/plugins/crypter/SpeedLoadOrgFolder.py index 4bb1562ee..305397d3c 100644 --- a/module/plugins/crypter/SpeedLoadOrgFolder.py +++ b/module/plugins/crypter/SpeedLoadOrgFolder.py @@ -19,9 +19,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class SpeedLoadOrgFolder(DeadCrypter): __name__ = "SpeedLoadOrgFolder" + __version__ = "0.3" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?speedload\.org/(\d+~f$|folder/\d+/)' - __version__ = "0.3" + __description__ = """Speedload decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" diff --git a/module/plugins/crypter/StealthTo.py b/module/plugins/crypter/StealthTo.py index e97a741e0..d0820446e 100644 --- a/module/plugins/crypter/StealthTo.py +++ b/module/plugins/crypter/StealthTo.py @@ -7,13 +7,16 @@ from module.plugins.Crypter import Crypter class StealthTo(Crypter): __name__ = "StealthTo" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?stealth.to/folder/' - __version__ = "0.1" + __description__ = """Stealth.to decrypter plugin""" __author_name__ = "spoob" __author_mail__ = "spoob@pyload.org" + def __init__(self, parent): Crypter.__init__(self, parent) self.parent = parent diff --git a/module/plugins/crypter/TnyCz.py b/module/plugins/crypter/TnyCz.py index aed7c3cf9..3ff9aa5dd 100644 --- a/module/plugins/crypter/TnyCz.py +++ b/module/plugins/crypter/TnyCz.py @@ -22,15 +22,18 @@ import re class TnyCz(SimpleCrypter): __name__ = "TnyCz" + __version__ = "0.01" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?tny\.cz/\w+' - __version__ = "0.01" + __description__ = """Tny.cz decrypter plugin""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" TITLE_PATTERN = r'<title>(?P<title>.+) - .+</title>' + def getLinks(self): m = re.search(r'<a id=\'save_paste\' href="(.+save\.php\?hash=.+)">', self.html) return re.findall(".+", self.load(m.group(1), decode=True)) if m else None diff --git a/module/plugins/crypter/TrailerzoneInfo.py b/module/plugins/crypter/TrailerzoneInfo.py index 84a476a38..2c7bb2c9f 100644 --- a/module/plugins/crypter/TrailerzoneInfo.py +++ b/module/plugins/crypter/TrailerzoneInfo.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class TrailerzoneInfo(DeadCrypter): __name__ = "TrailerzoneInfo" + __version__ = "0.03" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?trailerzone.info/.*?' - __version__ = "0.03" + __description__ = """TrailerZone.info decrypter plugin""" __author_name__ = "godofdream" __author_mail__ = "soilfiction@gmail.com" diff --git a/module/plugins/crypter/TurbobitNetFolder.py b/module/plugins/crypter/TurbobitNetFolder.py index 2dcd65757..26923e8d4 100644 --- a/module/plugins/crypter/TurbobitNetFolder.py +++ b/module/plugins/crypter/TurbobitNetFolder.py @@ -22,15 +22,18 @@ from module.common.json_layer import json_loads class TurbobitNetFolder(SimpleCrypter): __name__ = "TurbobitNetFolder" + __version__ = "0.03" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?turbobit\.net/download/folder/(?P<ID>\w+)' - __version__ = "0.03" + __description__ = """Turbobit.net folder decrypter plugin""" __author_name__ = ("stickell", "Walter Purcaro") __author_mail__ = ("l.stickell@yahoo.it", "vuolter@gmail.com") TITLE_PATTERN = r"src='/js/lib/grid/icon/folder.png'> <span>(?P<title>.+?)</span>" + def _getLinks(self, id, page=1): gridFile = self.load("http://turbobit.net/downloadfolder/gridFile", get={"rootId": id, "rows": 200, "page": page}, decode=True) diff --git a/module/plugins/crypter/TusfilesNetFolder.py b/module/plugins/crypter/TusfilesNetFolder.py index 59aef3372..70b7bd4b9 100644 --- a/module/plugins/crypter/TusfilesNetFolder.py +++ b/module/plugins/crypter/TusfilesNetFolder.py @@ -23,9 +23,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class TusfilesNetFolder(SimpleCrypter): __name__ = "TusfilesNetFolder" + __version__ = "0.02" __type__ = "crypter" + __pattern__ = r'https?://(?:www\.)?tusfiles\.net/go/(?P<ID>\w+)/?' - __version__ = "0.02" + __description__ = """Tusfiles.net folder decrypter plugin""" __author_name__ = ("Walter Purcaro", "stickell") __author_mail__ = ("vuolter@gmail.com", "l.stickell@yahoo.it") @@ -36,6 +38,7 @@ class TusfilesNetFolder(SimpleCrypter): URL_REPLACEMENTS = [(__pattern__, r'https://www.tusfiles.net/go/\g<ID>/')] + def loadPage(self, page_n): return self.load(urljoin(self.pyfile.url, str(page_n)), decode=True) diff --git a/module/plugins/crypter/UlozToFolder.py b/module/plugins/crypter/UlozToFolder.py index 6c7729fee..6ba4b0819 100644 --- a/module/plugins/crypter/UlozToFolder.py +++ b/module/plugins/crypter/UlozToFolder.py @@ -6,9 +6,11 @@ from module.plugins.Crypter import Crypter class UlozToFolder(Crypter): __name__ = "UlozToFolder" + __version__ = "0.2" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj.cz|zachowajto.pl)/(m|soubory)/.*' - __version__ = "0.2" + __description__ = """Uloz.to folder decrypter plugin""" __author_name__ = "zoidberg" __author_mail__ = "zoidberg@mujmail.cz" @@ -17,6 +19,7 @@ class UlozToFolder(Crypter): LINK_PATTERN = r'<br /><a href="/([^"]+)">[^<]+</a>' NEXT_PAGE_PATTERN = r'<a class="next " href="/([^"]+)"> </a>' + def decrypt(self, pyfile): html = self.load(pyfile.url) diff --git a/module/plugins/crypter/UploadedToFolder.py b/module/plugins/crypter/UploadedToFolder.py index 97c77fdce..36dd9714a 100644 --- a/module/plugins/crypter/UploadedToFolder.py +++ b/module/plugins/crypter/UploadedToFolder.py @@ -21,9 +21,11 @@ from module.plugins.internal.SimpleCrypter import SimpleCrypter class UploadedToFolder(SimpleCrypter): __name__ = "UploadedToFolder" + __version__ = "0.3" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?(uploaded|ul)\.(to|net)/(f|folder|list)/(?P<id>\w+)' - __version__ = "0.3" + __description__ = """UploadedTo decrypter plugin""" __author_name__ = "stickell" __author_mail__ = "l.stickell@yahoo.it" @@ -31,6 +33,7 @@ class UploadedToFolder(SimpleCrypter): PLAIN_PATTERN = r'<small class="date"><a href="(?P<plain>[\w/]+)" onclick=' TITLE_PATTERN = r'<title>(?P<title>[^<]+)</title>' + def decrypt(self, pyfile): self.html = self.load(pyfile.url) diff --git a/module/plugins/crypter/WiiReloadedOrg.py b/module/plugins/crypter/WiiReloadedOrg.py index 7274b4a84..9cb0751d8 100644 --- a/module/plugins/crypter/WiiReloadedOrg.py +++ b/module/plugins/crypter/WiiReloadedOrg.py @@ -5,9 +5,11 @@ from module.plugins.internal.DeadCrypter import DeadCrypter class WiiReloadedOrg(DeadCrypter): __name__ = "WiiReloadedOrg" + __version__ = "0.11" __type__ = "crypter" + __pattern__ = r'http://(?:www\.)?wii-reloaded\.org/protect/get\.php\?i=.+' - __version__ = "0.11" + __description__ = """Wii-Reloaded.org decrypter plugin""" __author_name__ = "hzpz" __author_mail__ = None diff --git a/module/plugins/crypter/XupPl.py b/module/plugins/crypter/XupPl.py index c04fc69f8..09c3084ea 100644 --- a/module/plugins/crypter/XupPl.py +++ b/module/plugins/crypter/XupPl.py @@ -5,13 +5,16 @@ from module.plugins.Crypter import Crypter class XupPl(Crypter): __name__ = "XupPl" + __version__ = "0.1" __type__ = "crypter" + __pattern__ = r'https?://(?:[^/]*\.)?xup\.pl/.*' - __version__ = "0.1" + __description__ = """Xup.pl decrypter plugin""" __author_name__ = "z00nx" __author_mail__ = "z00nx0@gmail.com" + def decrypt(self, pyfile): header = self.load(pyfile.url, just_header=True) if 'location' in header: diff --git a/module/plugins/crypter/YoutubeBatch.py b/module/plugins/crypter/YoutubeBatch.py index dd5d937d5..dfac9140f 100644 --- a/module/plugins/crypter/YoutubeBatch.py +++ b/module/plugins/crypter/YoutubeBatch.py @@ -15,9 +15,10 @@ along with this program; if not, see <http://www.gnu.org/licenses/>. """ -from urlparse import urljoin import re +from urlparse import urljoin + from module.common.json_layer import json_loads from module.plugins.Crypter import Crypter from module.utils import save_join @@ -27,16 +28,19 @@ API_URL = "AIzaSyCKnWLNlkX-L4oD1aEzqqhRw1zczeD6_k0" class YoutubeBatch(Crypter): __name__ = "YoutubeBatch" + __version__ = "1.00" __type__ = "crypter" + __pattern__ = r'https?://(?:www\.|m\.)?youtube\.com/(?P<TYPE>user|playlist|view_play_list)(/|.*?[?&](?:list|p)=)(?P<ID>[\w-]+)' - __version__ = "1.00" - __description__ = """Youtube.com channel & playlist decrypter plugin""" __config__ = [("likes", "bool", "Grab user (channel) liked videos", False), ("favorites", "bool", "Grab user (channel) favorite videos", False), ("uploads", "bool", "Grab channel unplaylisted videos", True)] + + __description__ = """Youtube.com channel & playlist decrypter plugin""" __author_name__ = "Walter Purcaro" __author_mail__ = "vuolter@gmail.com" + def api_response(self, ref, req): req.update({"key": API_KEY}) url = urljoin("https://www.googleapis.com/youtube/v3/", ref) diff --git a/module/plugins/internal/CaptchaService.py b/module/plugins/internal/CaptchaService.py index d8306bbb7..6586256f7 100644 --- a/module/plugins/internal/CaptchaService.py +++ b/module/plugins/internal/CaptchaService.py @@ -79,6 +79,7 @@ class AdsCaptcha(CaptchaService): class SolveMedia(CaptchaService): + def challenge(self, src): html = self.plugin.req.load("http://api.solvemedia.com/papi/challenge.noscript?k=%s" % src, cookies=True) try: |