diff options
Diffstat (limited to 'Plugins/RSDF.py')
-rw-r--r-- | Plugins/RSDF.py | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/Plugins/RSDF.py b/Plugins/RSDF.py new file mode 100644 index 000000000..65f85edb4 --- /dev/null +++ b/Plugins/RSDF.py @@ -0,0 +1,77 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +import urllib2 +import urllib +import re +import time +import binascii +import base64 +import sys + +from Plugin import Plugin +from time import time + +class RSDF(Plugin): + + def __init__(self, parent): + Plugin.__init__(self, parent) + self.plugin_name = "RSDF" + self.plugin_pattern = r".*\.rsdf" + self.plugin_type = "container" + self.plugin_config = {} + pluginProp = {} + pluginProp ['name'] = "RSDF" + pluginProp ['version'] = "0.1" + pluginProp ['format'] = "*.py" + pluginProp ['description'] = """RSDF Plugin""" + pluginProp ['author'] = "RaNaN" + pluginProp ['author_email'] = "RaNaN@pyload.org" + self.pluginProp = pluginProp + self.parent = parent + self.multi_dl = True + self.links = [] + + def file_exists(self): + """ returns True or False + """ + return True + + def get_file_url(self): + """ returns the absolute downloadable filepath + """ + return self.parent.url + + def __call__(self): + return self.plugin_name + + def proceed(self, url, location): + try: + 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() + print self.links + + except: + print "Kein Crypto installiert, RSDF Plugin kann nicht genutzt werden"
\ No newline at end of file |