summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--module/plugins/container/DLC.py4
-rw-r--r--module/plugins/container/RSDF.py7
-rw-r--r--module/plugins/hooks/ExtractArchive.py3
-rw-r--r--module/plugins/hooks/FreeWayMe.py13
4 files changed, 18 insertions, 9 deletions
diff --git a/module/plugins/container/DLC.py b/module/plugins/container/DLC.py
index b01e3098c..d1c34ef50 100644
--- a/module/plugins/container/DLC.py
+++ b/module/plugins/container/DLC.py
@@ -49,9 +49,9 @@ class DLC(Container):
except AttributeError:
self.fail(_("Container is corrupted"))
- cipher = AES.new(self.KEY, AES.MODE_CBC, self.IV).decrypt(rc)
+ key = iv = AES.new(self.KEY, AES.MODE_CBC, self.IV).decrypt(rc)
- self.data = AES.new(cipher, AES.MODE_CBC, cipher).decrypt(dlc_data).decode('base64')
+ self.data = AES.new(key, AES.MODE_CBC, iv).decrypt(dlc_data).decode('base64')
self.packages = [(entry[0] if entry[0] else pyfile.name, entry[1], entry[0] if entry[0] else pyfile.name) \
for entry in self.getPackages()]
diff --git a/module/plugins/container/RSDF.py b/module/plugins/container/RSDF.py
index 8f9bfc0d5..222c8d6ae 100644
--- a/module/plugins/container/RSDF.py
+++ b/module/plugins/container/RSDF.py
@@ -14,7 +14,7 @@ from module.utils import fs_encode
class RSDF(Container):
__name__ = "RSDF"
__type__ = "container"
- __version__ = "0.27"
+ __version__ = "0.28"
__pattern__ = r'.+\.rsdf$'
@@ -31,9 +31,10 @@ class RSDF(Container):
def decrypt(self, pyfile):
KEY = binascii.unhexlify(self.KEY)
- IV = AES.new(Key, AES.MODE_ECB).encrypt(binascii.unhexlify(self.IV))
+ IV = binascii.unhexlify(self.IV)
- cipher = AES.new(KEY, AES.MODE_CFB, IV)
+ iv = AES.new(KEY, AES.MODE_ECB).encrypt(IV)
+ cipher = AES.new(KEY, AES.MODE_CFB, iv)
try:
file = fs_encode(pyfile.url.strip())
diff --git a/module/plugins/hooks/ExtractArchive.py b/module/plugins/hooks/ExtractArchive.py
index 8b84966fd..dc0ee3f41 100644
--- a/module/plugins/hooks/ExtractArchive.py
+++ b/module/plugins/hooks/ExtractArchive.py
@@ -104,7 +104,7 @@ class ArchiveQueue(object):
class ExtractArchive(Hook):
__name__ = "ExtractArchive"
__type__ = "hook"
- __version__ = "1.31"
+ __version__ = "1.32"
__config__ = [("activated" , "bool" , "Activated" , True ),
("fullpath" , "bool" , "Extract with full paths" , True ),
@@ -254,6 +254,7 @@ class ExtractArchive(Hook):
pypack = self.core.files.getPackage(pid)
if not pypack:
+ self.queue.remove(pid)
continue
self.logInfo(_("Check package: %s") % pypack.name)
diff --git a/module/plugins/hooks/FreeWayMe.py b/module/plugins/hooks/FreeWayMe.py
index 6fec037d8..f819f730d 100644
--- a/module/plugins/hooks/FreeWayMe.py
+++ b/module/plugins/hooks/FreeWayMe.py
@@ -6,7 +6,7 @@ from module.plugins.internal.MultiHook import MultiHook
class FreeWayMe(MultiHook):
__name__ = "FreeWayMe"
__type__ = "hook"
- __version__ = "0.14"
+ __version__ = "0.15"
__config__ = [("pluginmode" , "all;listed;unlisted", "Use for plugins" , "all"),
("pluginlist" , "str" , "Plugin list (comma separated)" , "" ),
@@ -22,6 +22,13 @@ class FreeWayMe(MultiHook):
def getHosters(self):
- hostis = self.getURL("https://www.free-way.me/ajax/jd.php", get={'id': 3}).replace("\"", "").strip()
- self.logDebug("Hosters", hostis)
+ # Get account data
+ if not self.account or not self.account.canUse():
+ hostis = self.getURL("https://www.free-way.me/ajax/jd.php", get={"id": 3}).replace("\"", "").strip()
+ else:
+ self.logDebug("AccountInfo available - Get HosterList with User Pass")
+ (user, data) = self.account.selectAccount()
+ hostis = self.getURL("https://www.free-way.me/ajax/jd.php", get={"id": 3, "user": user, "pass": data['password']}).replace("\"", "").strip()
+
+ self.logDebug("hosters: %s" % hostis)
return [x.strip() for x in hostis.split(",") if x.strip()]