From 8e87787753b2e049917a5491727d285b1c5a7095 Mon Sep 17 00:00:00 2001 From: mkaay Date: Sun, 27 Dec 2009 00:20:21 +0100 Subject: closes #13 --- module/plugins/container/CCF.py | 55 +++++++++++++++++++++++++++++++++++ module/plugins/container/DLC.pyc | Bin 0 -> 5740 bytes module/plugins/container/LinkList.py | 39 +++++++++++++++++++++++++ module/plugins/container/RSDF.py | 50 +++++++++++++++++++++++++++++++ module/plugins/container/__init__.py | 0 5 files changed, 144 insertions(+) create mode 100644 module/plugins/container/CCF.py create mode 100644 module/plugins/container/DLC.pyc create mode 100644 module/plugins/container/LinkList.py create mode 100644 module/plugins/container/RSDF.py create mode 100644 module/plugins/container/__init__.py (limited to 'module/plugins/container') diff --git a/module/plugins/container/CCF.py b/module/plugins/container/CCF.py new file mode 100644 index 000000000..88b567904 --- /dev/null +++ b/module/plugins/container/CCF.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import os.path +import random +import re +import tempfile +import urllib2 + +from module.Plugin import Plugin +from module.network.MultipartPostHandler import MultipartPostHandler + +class CCF(Plugin): + + def __init__(self, parent): + Plugin.__init__(self, parent) + props = {} + props['name'] = "CCF" + props['type'] = "container" + props['pattern'] = r"(?!http://).*\.ccf" + props['version'] = "0.1" + props['description'] = """CCF Container Convert Plugin""" + props['author_name'] = ("Willnix") + props['author_mail'] = ("Willnix@pyload.org") + self.props = props + self.parent = parent + self.multi_dl = True + self.links = [] + + def proceed(self, url, location): + infile = url.replace("\n", "") + + opener = urllib2.build_opener(MultipartPostHandler) + params = {"src": "ccf", + "filename": "test.ccf", + "upload": open(infile, "rb")} + tempdlc_content = opener.open('http://service.jdownloader.net/dlcrypt/getDLC.php', params).read() + + random.seed() + tempdir = tempfile.gettempdir() + if tempdir[0] == '/': + delim = '/' + else: + delim = '\\' + tempdlc_name = tempdir + delim + str(random.randint(0, 100)) + '-tmp.dlc' + while os.path.exists(tempdlc_name): + tempdlc_name = tempfile.gettempdir() + '/' + str(random.randint(0, 100)) + '-tmp.dlc' + + tempdlc = open(tempdlc_name, "w") + tempdlc.write(re.search(r'(.*)', tempdlc_content, re.DOTALL).group(1)) + tempdlc.close + + self.links.append(tempdlc_name) + + return True diff --git a/module/plugins/container/DLC.pyc b/module/plugins/container/DLC.pyc new file mode 100644 index 000000000..235e46e1a Binary files /dev/null and b/module/plugins/container/DLC.pyc differ diff --git a/module/plugins/container/LinkList.py b/module/plugins/container/LinkList.py new file mode 100644 index 000000000..92508ce29 --- /dev/null +++ b/module/plugins/container/LinkList.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + + +from module.Plugin import Plugin + +class LinkList(Plugin): + + def __init__(self, parent): + Plugin.__init__(self, parent) + props = {} + props['name'] = "LinkList" + props['type'] = "container" + props['pattern'] = r"(?!http://).*\.txt" + props['version'] = "0.1" + props['description'] = """Read Link Lists in txt format""" + props['author_name'] = ("Spoob") + props['author_mail'] = ("spoob@pyload.org") + self.props = props + self.parent = parent + self.html = None + self.read_config() + + def proceed(self, linkList, location): + tmpLinks = [] + txt = open(linkList, 'r') + links = txt.readlines() + for link in links: + if link != "\n": + tmpLinks.append(link.replace("\n", "")) + txt.close() + + if not self.parent.core.config['general']['debug_mode']: + txt = open(linkList, 'w') + txt.write("") + txt.close() + #@TODO: maybe delete read txt file? + + self.links = tmpLinks diff --git a/module/plugins/container/RSDF.py b/module/plugins/container/RSDF.py new file mode 100644 index 000000000..0b6a63722 --- /dev/null +++ b/module/plugins/container/RSDF.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import base64 +import binascii + +from module.Plugin import Plugin + +class RSDF(Plugin): + + def __init__(self, parent): + Plugin.__init__(self, parent) + props = {} + props['name'] = "RSDF" + props['type'] = "container" + props['pattern'] = r"(?!http://).*\.rsdf" + props['version'] = "0.2" + props['description'] = """RSDF Container Decode Plugin""" + props['author_name'] = ("RaNaN", "spoob") + props['author_mail'] = ("RaNaN@pyload.org", "spoob@pyload.org") + self.props = props + self.parent = parent + self.multi_dl = True + self.links = [] + + def proceed(self, url, location): + from Crypto.Cipher import AES + + infile = url.replace("\n", "") + Key = binascii.unhexlify('8C35192D964DC3182C6F84F3252239EB4A320D2500000000') + + IV = binascii.unhexlify('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF') + IV_Cipher = AES.new(Key, AES.MODE_ECB) + IV = IV_Cipher.encrypt(IV) + + obj = AES.new(Key, AES.MODE_CFB, IV) + + rsdf = open(infile, 'r') + + data = rsdf.read() + data = binascii.unhexlify(''.join(data.split())) + data = data.splitlines() + + for link in data: + link = base64.b64decode(link) + link = obj.decrypt(link) + decryptedUrl = link.replace('CCF: ', '') + self.links.append(decryptedUrl) + + rsdf.close() diff --git a/module/plugins/container/__init__.py b/module/plugins/container/__init__.py new file mode 100644 index 000000000..e69de29bb -- cgit v1.2.3 From d47c551729d7c2c10b4a990015896ec201c5225b Mon Sep 17 00:00:00 2001 From: spoob Date: Mon, 28 Dec 2009 15:07:12 +0100 Subject: DLC Error Log --- module/plugins/container/DLC.pyc | Bin 5740 -> 5713 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'module/plugins/container') diff --git a/module/plugins/container/DLC.pyc b/module/plugins/container/DLC.pyc index 235e46e1a..dc9a92556 100644 Binary files a/module/plugins/container/DLC.pyc and b/module/plugins/container/DLC.pyc differ -- cgit v1.2.3 From c93ba86ca5bdee6abe1dccabe25c02b462d435e2 Mon Sep 17 00:00:00 2001 From: spoob Date: Mon, 28 Dec 2009 16:52:00 +0100 Subject: Fixed DLC --- module/plugins/container/DLC.pyc | Bin 5713 -> 5713 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'module/plugins/container') diff --git a/module/plugins/container/DLC.pyc b/module/plugins/container/DLC.pyc index dc9a92556..5dd89b5dd 100644 Binary files a/module/plugins/container/DLC.pyc and b/module/plugins/container/DLC.pyc differ -- cgit v1.2.3 From f34d216d292c5608a2011db0c406ef9c3fc01181 Mon Sep 17 00:00:00 2001 From: spoob Date: Thu, 21 Jan 2010 21:16:01 +0100 Subject: Fixed Netload Wait --- module/plugins/container/DLC.pyc | Bin 5713 -> 5720 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'module/plugins/container') diff --git a/module/plugins/container/DLC.pyc b/module/plugins/container/DLC.pyc index 5dd89b5dd..6078f640e 100644 Binary files a/module/plugins/container/DLC.pyc and b/module/plugins/container/DLC.pyc differ -- cgit v1.2.3 From 6e128ed3339739e2e25441f42b21eff078330fe0 Mon Sep 17 00:00:00 2001 From: spoob Date: Sat, 23 Jan 2010 14:02:22 +0100 Subject: Removed Prints in DLC --- module/plugins/container/DLC.pyc | Bin 5720 -> 5923 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'module/plugins/container') diff --git a/module/plugins/container/DLC.pyc b/module/plugins/container/DLC.pyc index 6078f640e..14d5d39a4 100644 Binary files a/module/plugins/container/DLC.pyc and b/module/plugins/container/DLC.pyc differ -- cgit v1.2.3