Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP - Fixing the download of books #13

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

jmvermeulen
Copy link

@jmvermeulen jmvermeulen commented Sep 27, 2019

I've fixed the GetAllBooks downloads, but I cannot get the DRM decryption to work again.
Kobo made some small response changes in their API that I corrected.

In the process I found another DRM type called SocialDrm. In this case the e-book can be used on all my devices, but its 'watermarked'. For me this is not a issue (and even preferred), I don't want to use the tool for piracy but only to have the e-books in a DRM-free format.

This SocialDrm download url is not supplied when the client identifies its-self as Android client as seen in Kobo.__GetContentAccessBook().

Only in the book listing call as in Globals.Kobo.GetMyBookList(). This response contains DownloadUrls of much more DRM types.
Due inconsistencies in the Kobo API response types its hard (for me in Python) to create a generic method that handles both scenario's.

Maybe someone can help me out here?
In my view, when available, a book 'protected' by SocialDrm should have the first choice. If not available other DRM types could be downloaded and decrypted. Im not able to get this last part done.

@jmvermeulen jmvermeulen changed the title WIP - Fix downloading books WIP - Fixing the download of books Sep 27, 2019
@philroche
Copy link

+1 on functionality. Works for me

@subdavis
Copy link

subdavis commented Apr 1, 2020

This repository has been abandoned. I have forked the project at https://github.com/subdavis/kobo-book-downloader - please give that project a try and open an issue there if you have trouble.

@jmvermeulen I'd like to make sure my fork works with this social DRM type. Could you either give it a try to maybe link me to a cheap book that you know uses this type?

I ran into the exact same issue as you: URL isn't identified by call to GetContentAccessBook(), but I fixed it by simply _always_calling GetMyBookList(). This was needed to get audiobooks as well, so 2 birds one stone.

My fork adds some new features:

  • audiobook support
  • support for other DRM types.
  • multi-user support; fetch books for multiple accounts.
  • web interface; adds new browser gui (with flask)
  • docker image
  • pypi package

Please don't reply to this issue, open an issue on my fork instead

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants