apprenticeharper / DeDRM_tools

DeDRM tools for ebooks
14.52k stars 1.51k forks source link

DeDRM_Plugin.zip doesn't work with Calibre 5.01 #1253

Open noversioncontrol opened 4 years ago

noversioncontrol commented 4 years ago

DeDRM_Plugin.zip doesn't load/work with Calibre 5.01. Calibre Library 5.x switched to using python 3 and the plugin no longer shows up. If I roll back to Calibre 4.23 then the plugin shows up and loads fine.

https://calibre-ebook.com/whats-new

ElleKayEm commented 4 years ago

Yes, that's correct. Python 3 compatibility is being worked on.

Geremia commented 4 years ago

@ElleKayEm How much code has to be ported?

ElleKayEm commented 4 years ago

Not sure how much work is left. People have been working on it for some time since beta versions of calibre with Python 3 have been available (and often included with Linux distros) for a while now. Now that calibre 5 has been released and Apprentice Harper is active here again progress should be relatively steady.

PiperKev commented 4 years ago

I downloaded and used the latest "master" branch version of the tool this morning, and it appears to work with calibre 5.0.1 now, at least on my Linux Mint 20 OS. The plugin shows up as DeDRM 7.0.0 in my list of plugins. I tested it on a book that I knew was DRMed, and it failed to convert when I disabled the plugin but converted fine after re-enabling it. Well done!!

sehlat commented 4 years ago

I just downloaded and used the current "master" branch version. I checked it using a book known to me to have DRM (the earlier version could not deal with it) and it worked with Calibre 5.0.1. My system runs Windows 7. and I'm seeing DeDRM 7.0.0 in the "File Type" list on my copy. Many thanks to all who are working to keep this irreplaceable add-on working.

hub2git commented 4 years ago

I downloaded and used the latest "master" branch version of the tool this morning, and it appears to work with calibre 5.0.1 now, at least on my Linux Mint 20 OS. The plugin shows up as DeDRM 7.0.0 in my list of plugins. I tested it on a book that I knew was DRMed, and it failed to convert when I disabled the plugin but converted fine after re-enabling it. Well done!!

@PiperKev I'm on Cinnamon Linux Mint 20. Could you share the URL to the "master" branch dedrm.zip file that works with Calibre 5? Thanks.

PiperKev commented 4 years ago

I downloaded and used the latest "master" branch version of the tool this morning, and it appears to work with calibre 5.0.1 now, at least on my Linux Mint 20 OS. The plugin shows up as DeDRM 7.0.0 in my list of plugins. I tested it on a book that I knew was DRMed, and it failed to convert when I disabled the plugin but converted fine after re-enabling it. Well done!!

@PiperKev I'm on Cinnamon Linux Mint 20. Could you share the URL to the "master" branch dedrm.zip file that works with Calibre 5? Thanks.

https://github.com/apprenticeharper/DeDRM_tools/archive/master.zip

hub2git commented 4 years ago

@PiperKev I'm downloaded that master.zip. It appears as "DeDRM_tools-master.zip". I extract that zip file and then when I enter the folder, I see a DeDRM_tools-master/DeDRM_plugin subfolder. Calibre doesn't seem to load plugins when they're in "folder form". Calibre needs a zip file.

I don't see a DeDRM_plugin.zip file within. :(

PiperKev commented 4 years ago

@PiperKev I'm downloaded that master.zip. It appears as "DeDRM_tools-master.zip". I extract that zip file and then when I enter the folder, I see a DeDRM_tools-master/DeDRM_plugin subfolder. Calibre doesn't seem to load plugins when they're in "folder form". Calibre needs a zip file.

I don't see a DeDRM_plugin.zip file within. :(

Ah, sorry! You'll have to zip the contents of the "DeDRM_plugin" folder, and then you can install the plugin using the normal "Preferences - plugins" window.

junefish commented 4 years ago

The "master" link above doesn't work for me with Calibre 5.0.1 on Windows 10-64.

PiperKev commented 4 years ago

The "master" link above doesn't work for me with Calibre 5.0.1 on Windows 10-64.

Did you zip the contents of the "DeDRM_plugin" folder and try adding it that way?

hub2git commented 4 years ago

@PiperKev I'm downloaded that master.zip. It appears as "DeDRM_tools-master.zip". I extract that zip file and then when I enter the folder, I see a DeDRM_tools-master/DeDRM_plugin subfolder. Calibre doesn't seem to load plugins when they're in "folder form". Calibre needs a zip file. I don't see a DeDRM_plugin.zip file within. :(

Ah, sorry! You'll have to zip the contents of the "DeDRM_plugin" folder, and then you can install the plugin using the normal "Preferences - plugins" window.

I tried doing that and here's the error message:

calibre, version 5.0.1 ERROR: Unhandled exception: InvalidPlugin:The plugin in '/home/Downloads/DeDRM_tools-master/DeDRM_plugin.zip' is invalid. It does not contain a top-level init.py file

calibre 5.0.1 embedded-python: True is64bit: True Linux-5.4.0-48-generic-x86_64-with-glibc2.2.5 Linux ('64bit', 'ELF') ('Linux', '5.4.0-48-generic', '#52-Ubuntu SMP Thu Sep 10 10:58:49 UTC 2020') Python 3.8.5 Interface language: None Successfully initialized third party plugins: Gather KFX-ZIP (from KFX Input) (1, 34, 0) && Package KFX (from KFX Input) (1, 34, 0) && Annotations (1, 12, 0) && EpubCheck (0, 2, 3) && Extract ISBN (1, 5, 0) && Find Duplicates (1, 7, 2) && Goodreads (1, 5, 0) && KFX metadata reader (from KFX Input) (1, 34, 0) && KFX Input (1, 34, 0) && KePub Metadata Reader (3, 2, 9) && KePub Metadata Writer (3, 2, 12) && KePub Output (3, 2, 15) && Kobo Books (1, 8, 0) && Kobo Utilities (2, 11, 5) && KoboTouchExtended (3, 2, 15) && Modify ePub (1, 4, 1) && Obok DeDRM (6, 7, 0) && Quality Check (1, 10, 1) && Recoll Full Text Search (1, 0, 1) Traceback (most recent call last): File "site-packages/calibre/gui2/preferences/plugins.py", line 317, in add_plugin File "site-packages/calibre/customize/ui.py", line 472, in add_plugin File "site-packages/calibre/customize/ui.py", line 61, in load_plugin File "site-packages/calibre/customize/zipplugin.py", line 193, in load File "site-packages/calibre/customize/zipplugin.py", line 289, in _locate_code calibre.customize.InvalidPlugin: The plugin in '/home/Downloads/DeDRM_tools-master/DeDRM_plugin.zip' is invalid. It does not contain a top-level init.py file

PiperKev commented 4 years ago

@PiperKev I'm downloaded that master.zip. It appears as "DeDRM_tools-master.zip". I extract that zip file and then when I enter the folder, I see a DeDRM_tools-master/DeDRM_plugin subfolder. Calibre doesn't seem to load plugins when they're in "folder form". Calibre needs a zip file. I don't see a DeDRM_plugin.zip file within. :(

Ah, sorry! You'll have to zip the contents of the "DeDRM_plugin" folder, and then you can install the plugin using the normal "Preferences - plugins" window.

I tried doing that and here's the error message:

Well, crap! Do you have an email address where I can send you the .zip file that worked for me?

hub2git commented 4 years ago

@PiperKev Could you upload it onto your github and share the link here? :)

PiperKev commented 4 years ago

@PiperKev Could you upload it onto your github and share the link here? :)

Ah, I didn't realize I could do that! I'm not that experienced with github! ;-) Hope this works!

DeDRM_plugin.zip

ElleKayEm commented 4 years ago

@hub2git Not that it matters now that PiperKev has shared this...but did your DeDRM_plugin.zip contain a DeDRM_plugin folder inside it, instead of just that folder's contents?

hub2git commented 4 years ago

@hub2git Not that it matters now that PiperKev has shared this...but did your DeDRM_plugin.zip contain a DeDRM_plugin folder inside it, instead of just that folder's contents?

@ElleKayEm I'm not on my Linux Mint computer right now. I'm on a Windows 10 computer. I zipped the DeDRM_plugin folder inside the zip and it's still producing an error.

@PiperKev Your attached zip file works! Thanks. :)

UPDATE: Hi @ElleKayEm, PiperKiev's zip file, as you'll see, does not have a folder that holds all the files.

PiperKev commented 4 years ago

@PiperKev Your attached zip file works! Thanks. :)

UPDATE: Hi @ElleKayEm, PiperKiev's zip file, as you'll see, does not have a folder that holds all the files.

That's awesome! Glad I could help!

ElleKayEm commented 4 years ago

Yes, PiperKev's file is a zip of the contents only of the DeDRM_Plugin folder, no folder inside the zip. That's what I was saying it should be.

hub2git commented 4 years ago

I can check tomorrow whether my Linux computer created a folder within the zip file.

PiperKev commented 4 years ago

A HUGE "Thank you" to everyone who made this plugin work with calibre 5!! Your hard work is VERY much appreciated!!

noversioncontrol commented 4 years ago

the 7.0 Plugin works with Calibre 5.01 on Windows 10. Great work, was not expecting such a fast turn around. Really apricate you all.

JSWolf commented 4 years ago

The 7.0 Plugin does not work with Calibre 5.0.1 under Windows 10. Trying to add a key to the ADE section errors and the DRM is not removed from ePub.

hub2git commented 4 years ago

For the exercise, I downloaded the master zip file @PiperKev linked to in his comment. I then zipped the contents of the DeDRM_plugin folder. I successfully loaded/installed that plugin in Calibre.

Happy to say that it remembered all my Kindle for Mac and PC keys and Adobe Digital Edition keys.

ableeker commented 4 years ago

Worked for my too with some Kindle azw(3) books.

noversioncontrol commented 4 years ago

Are you using a clean install of Calibre library 5.01 or an upgrade from. 4.x? If you had 4.x version of Calibre with a 6.x plugin before you installed 5.01 you need to downgrade to Calibre 4.x, then uninstall the de drm plugin from Calibre. Then you can upgrade to Calibre 5.01 and you should then be able to load 7.0 plugin and it should work.

On September 29, 2020 10:43:45 AM EDT, JSWolf notifications@github.com wrote:

The 7.0 Plugin does not work with Calibre 5.0.1 under Windows 10. Trying to add a key to the ADE section errors and the DRM is not removed from ePub.

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/apprenticeharper/DeDRM_tools/issues/1253#issuecomment-700753982

-- Sent from my Android device with K-9 Mail. Please excuse my brevity.

caelestiie commented 4 years ago

Hello all, just putting in my recent experience of the 7.0 DeDRM (PiperKev's zip file) not working in case it will help at all. I have Calibre 5.01 and Windows 10 and I was trying to strip a B&N epub

calibre Debug log calibre 5.0.1 embedded-python: True is64bit: False Windows-10-10.0.18362-SP0 Windows ('32bit', 'WindowsPE') 32bit process running on 64bit windows ('Windows', '10', '10.0.18362') Python 3.8.5 Windows: ('10', '10.0.18362', 'SP0', 'Multiprocessor Free') Interface language: None Failed to initialize plugin: 'C:\Users\gcalv\AppData\Roaming\calibre\plugins\Read MP3 AudioBook metadata.zip' Successfully initialized third party plugins: DeDRM (7, 0, 0) && Goodreads (1, 5, 1) && Obok DeDRM (6, 5, 4) && Resize Cover (1, 1, 0) calibre 5.0.1 embedded-python: True is64bit: False Windows-10-10.0.18362-SP0 Windows ('32bit', 'WindowsPE') 32bit process running on 64bit windows ('Windows', '10', '10.0.18362') Python 3.8.5 Windows: ('10', '10.0.18362', 'SP0', 'Multiprocessor Free') Interface language: None Successfully initialized third party plugins: DeDRM (7, 0, 0) && Goodreads (1, 5, 1) && Obok DeDRM (6, 5, 4) && Resize Cover (1, 1, 0) Turning on automatic hidpi scaling devicePixelRatio: 1.0 logicalDpi: 120.0 x 120.0 physicalDpi: 141.7674418604651 x 141.4020618556701 Using calibre Qt style: True [0.00] Starting up... [0.00] Showing splash screen... [0.44] splash screen shown [0.44] Initializing db... [0.45] db initialized [0.45] Constructing main UI... {'default': True, 'height': 680, 'width': 450} Resize Covers::rebuild_menus - size_data={'default': True, 'height': 680, 'width': 450} [1.26] main UI initialized... [1.26] Hiding splash screen Starting QuickView SMART_DEV ( 0.00: 0.001) _attach_to_port try ip address "" on port 9090 SMART_DEV ( 1.28: 0.814) _startup_on_demand listening on port 9090 SMART_DEV ( 1.32: 0.001) _attach_to_port try ip address "" on port 54982 SMART_DEV ( 1.34: 0.000) _startup_on_demand broadcast socket listening on port 54982 [2.83] splash screen hidden [2.83] Started up in 2.83 seconds with 321 books DeDRM v7.0.0: Trying to decrypt 9780062931788.epub DeDRM v7.0.0: Verifying zip archive integrity DeDRM v7.0.0: Error 'a bytes-like object is required, not 'str'' when checking zip archive SMART_DEV ( 2.37: 1.007) run All IP addresses {'{A71C8BCB-29F1-4108-A246-1FAC206347F4}': [{'addr': '192.168.1.185', 'netmask': '255.255.255.0', 'broadcast': '192.168.1.255'}], '{8A05ED06-ECF3-11E7-9A7A-806E6F6E6963}': [{'addr': '127.0.0.1', 'netmask': '255.0.0.0', 'broadcast': '127.255.255.255'}]} stdout+stderr from file dialog helper: [b'', b''] piped data from file dialog helper: [b'i!\xdcG\x82\xd5\xa6(\x14\xd1s\xd5\xa2AYGA\x18@\x9e%*\x81\xdcB\xf71`\xa3\xff\x80\xf6', b'C:\Users\gcalv\AppData\Local\Packages\BarnesNoble.Nook_ahnzqzva31enc\LocalState\9780062931788.epub'] Running file type plugin DeDRM failed with traceback: Traceback (most recent call last): File "calibre_plugins.dedrm.init", line 203, in ePubDecrypt File "calibre_plugins.dedrm.zipfix", line 50, in init File "calibre_plugins.dedrm.zipfilerugged", line 683, in init File "calibre_plugins.dedrm.zipfilerugged", line 709, in _GetContents File "calibre_plugins.dedrm.zipfilerugged", line 752, in _RealGetContents File "calibre_plugins.dedrm.zipfilerugged", line 289, in init TypeError: a bytes-like object is required, not 'str'

Zigrang commented 4 years ago

Still doesn't work for me for Adobe .epub books. Removed v.6.8.0 plugin, upgraded to Calibre v. 5.0.1 (though didn't uninstall Calibre v.4.2.3), installed plugin v.7.0.0, but still DRM persists, as unable to edit cover of books. Also note that Calibre v.5.0.1 doesn't show the correct cover of an added book initially.

ElleKayEm commented 4 years ago

Anyone having problems with DeDRM 6.8.0 in calibre 4.23, start your own issue and I'll take a look.

JSWolf commented 4 years ago

Are you using a clean install of Calibre library 5.01 or an upgrade from. 4.x? If you had 4.x version of Calibre with a 6.x plugin before you installed 5.01 you need to downgrade to Calibre 4.x, then uninstall the de drm plugin from Calibre. Then you can upgrade to Calibre 5.01 and you should then be able to load 7.0 plugin and it should work. On September 29, 2020 10:43:45 AM EDT, JSWolf @.***> wrote: The 7.0 Plugin does not work with Calibre 5.0.1 under Windows 10. Trying to add a key to the ADE section errors and the DRM is not removed from ePub. -- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: #1253 (comment) -- Sent from my Android device with K-9 Mail. Please excuse my brevity.

I renamed my settings directory so I would be starting with a clean Calibre 5.0.1 and DeDRM 7.0 does not work. There is no way to save the ADE key. It's buggered and still needs fixing.

Transformatiecoach commented 4 years ago

The 7.0 DeDRM_plugin.zip from PiperKev got installed within Calibre 5.01 on Windows 10

However, it didn't removed DRM from an e-book that I've got from the library as an .acsm It opens fine as an epub with adobe digital editions 4.5 But I can't open it with Calibre

I have done all these steps:

Here is the log, hope someone can help me out:

calibre Foutopsporingslog calibre 5.0.1 [64bit] embedded-python: True is64bit: True Windows-10-10.0.19041-SP0 Windows ('64bit', 'WindowsPE') ('Windows', '10', '10.0.19041') Python 3.8.5 Windows: ('10', '10.0.19041', 'SP0', 'Multiprocessor Free') Interface language: nl Successfully initialized third party plugins: DeDRM (7, 0, 0) calibre 5.0.1 [64bit] embedded-python: True is64bit: True Windows-10-10.0.19041-SP0 Windows ('64bit', 'WindowsPE') ('Windows', '10', '10.0.19041') Python 3.8.5 Windows: ('10', '10.0.19041', 'SP0', 'Multiprocessor Free') Interface language: nl Successfully initialized third party plugins: DeDRM (7, 0, 0) Turning on automatic hidpi scaling devicePixelRatio: 1.0 logicalDpi: 120.0 x 120.0 physicalDpi: 141.7674418604651 x 142.13471502590673 Using calibre Qt style: True [0.00] Starting up... [0.00] Showing splash screen... [0.78] splash screen shown [0.78] Initializing db... [0.80] db initialized [0.80] Constructing main UI... Key 'B' for shortcut Browse annotations is already used by Boeken bijschaven, ignoring [1.69] main UI initialized... [1.69] Hiding splash screen Starting QuickView [2.98] splash screen hidden [2.98] Started up in 2.98 seconds with 308 books stdout+stderr from file dialog helper: [b'', b''] piped data from file dialog helper: [b'V\xa6\xe4:olY\xb7wA\xed\xf9)|\xc7\xb1\x0c+\xc5\x1b\xc6\xe8\x8e\xec\xe2\x99\xf5\xb6\xf6\x94\xfd\x9e', b'C:\Users\Transformatiecoach\Documents\My Digital Editions\Doordenken over dooddoeners.epub'] DeDRM v7.0.0: Trying to decrypt Doordenken over dooddoeners.epub DeDRM v7.0.0: Verifying zip archive integrity DeDRM v7.0.0: Error 'a bytes-like object is required, not 'str'' when checking zip archive Running file type plugin DeDRM failed with traceback: Traceback (most recent call last): File "calibre_plugins.dedrm.init", line 203, in ePubDecrypt File "calibre_plugins.dedrm.zipfix", line 50, in init File "calibre_plugins.dedrm.zipfilerugged", line 683, in init File "calibre_plugins.dedrm.zipfilerugged", line 709, in _GetContents File "calibre_plugins.dedrm.zipfilerugged", line 752, in _RealGetContents File "calibre_plugins.dedrm.zipfilerugged", line 289, in init TypeError: a bytes-like object is required, not 'str'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "site-packages\calibre\customize\ui.py", line 172, in _run_filetype_plugins File "calibre_plugins.dedrm.init", line 637, in run File "calibre_plugins.dedrm.init", line 207, in ePubDecrypt Exception: a bytes-like object is required, not 'strAdded Doordenken over dooddoeners to db in: 1.2 Added 1 books in 3.0 seconds

ElleKayEm commented 4 years ago

@Transformatiecoach Not working yet with pre-release DeDRM 7, and these tools are intended for purchased books.

Transformatiecoach commented 4 years ago

@Transformatiecoach Not working yet with pre-release DeDRM 7, and these tools are intended for purchased books.

Understandable.

JSWolf commented 4 years ago

@Transformatiecoach Not working yet with pre-release DeDRM 7, and these tools are intended for purchased books.

But it's not working on Purchased ePub. In fact, if you install 7.0 from a fresh Calibre 5.0.1, you cannot even get the key as it crashes when you try to save the key. 7.0 should never have been released even for testing because it's not even alpha level.

ElleKayEm commented 4 years ago

@JSWolf There's been no release for testing. It's a complete work-in-progress that's been going on for a while. People are just jumping on it now because of the release of calibre 5.

Transformatiecoach commented 4 years ago

@JSWolf There's been no release for testing. It's a complete work-in-progress that's been going on for a while. People are just jumping on it now because of the release of calibre 5.

Thank you, that made it clear for me. I can read the book now in calibre reader without any problem. This is what I did:

So I will wait to use calibre 5 until the new DeDRM_Plugin release. Thanks for all this great work.

xythrez commented 4 years ago

Trying to add a key to the ADE section errors and the DRM is not removed from ePub.

I'm not sure if this is the same issue but adding a kindle serial key in the new version adds a newline character to the end of the serial number stored. This was causing issues with decrypting until it was manually removed from dedrm.json.

Edit: This was on Arch Linux running Calibre 5.0.1 with an Amazon aws3 ebook.

manam4chine commented 4 years ago

manually removed from dedrm.json

I don't see any json files in the package?

xythrez commented 4 years ago

I should probably clarify that this was in the config file $CALIBRE_CONFIG_DIRECTORY/plugins/dedrm.json

CiccioIV commented 4 years ago

To give my feedback, since DRM removal just worked for me. Running Calibre 5.3.0 on Windows 10. I have downloaded the latest master branch on my computer, and unzipped the whole file on my pc. I've zipped all files within "DeDRM_plugin" folder in a single .zip file (zip root must contain all files, no root folder). Then, I've installed the plugin in Calibre 5 by selecting the newly created .zip. I confirm it works, the plugin has succesfully removed the DRM from an .azw file.

JSWolf commented 4 years ago

To give my feedback, since DRM removal just worked for me. Running Calibre 5.3.0 on Windows 10. I have downloaded the latest master branch on my computer, and unzipped the whole file on my pc. I've zipped all files within "DeDRM_plugin" folder in a single .zip file (zip root must contain all files, no root folder). Then, I've installed the plugin in Calibre 5 by selecting the newly created .zip. I confirm it works, the plugin has succesfully removed the DRM from an .azw file.

But it will not do something even more important. It will not yet remove the DRM from ePub.

nunes-juao commented 4 years ago

Where can I find my Kindle keys for PC? The number I have to put in the plugin.

ElleKayEm commented 4 years ago

@joaolucasreis If importing books from Kindle for PC, the keys are retrieved automatically as long as K4PC is installed on the same machine and user as calibre with DeDRM.

nunes-juao commented 4 years ago

@joaolucasreis If importing books from Kindle for PC, the keys are retrieved automatically as long as K4PC is installed on the same machine and user as calibre with DeDRM.

But Caliber is not removing DRM. Would K4PC be another plugin?

ElleKayEm commented 4 years ago

K4PC is short for Kindle for PC. See if the info in this post helps:

https://www.mobileread.com/forums/showthread.php?t=283371

If not, start your own issue and post a log of importing a book:

https://github.com/apprenticeharper/DeDRM_tools/blob/master/FAQs.md#i-cannot-solve-my-problem-with-the-dedrm-plugin-and-now-i-need-to-post-a-log-how-do-i-do-that

JSWolf commented 4 years ago

@joaolucasreis If importing books from Kindle for PC, the keys are retrieved automatically as long as K4PC is installed on the same machine and user as calibre with DeDRM.

But Caliber is not removing DRM. Would K4PC be another plugin?

It's not working because the code is broken. Getting the key from ADE is also broken. The only thing that's working is removing the DRM from eBooks for eInk Kindles.

JSWolf commented 4 years ago

Where can I find my Kindle keys for PC? The number I have to put in the plugin.

The plugin gets it. But the plugin doesn't work with KindleforPC5 yet.

brashley468 commented 3 years ago

Thank you thank you thank you! Just got the .zip installed in Calibre 5 .. and tested it ... it works great! It will NOT install in previous versions of calibre.

ElleKayEm commented 3 years ago

Yes, DeDRM 7 will only work in calibre 5 and later, but is still very much a work in progress. In many cases, it's best to stick with the current DeDRM 6.8 with calibre 4.23.

fubar66 commented 3 years ago

Thank you thank you thank you! Just got the .zip installed in Calibre 5 .. and tested it ... it works great! It will NOT install in previous versions of calibre.

How can i download DeDRM 7 ? I am a newbie on this site.