ACSMDownloader

ACSMDownloader Git Source Tree

Root/README.md

1ACSMDownloader
2--------------
3
4ACSMDownloader is a tool to download _epub_ file from Adobe _acsm_ request file.
5It was developed to overcome the lack of Adobe Digital Editions (ADE) software on Linux platforms.
6Which is ironic as *ALL* eReaders are based on Linux systems (at least Android/Linux).
7
8ACSMDownloader is the result of a lot of reverse engineering on Kobo _librmsdk.so_ shared library but it's not included with this package as I cannot distribute it without a license from Adobe (that I don't own).
9
10**Warning** : It acts like a client for _librmsdk.so_ which has been built for ARMv7 platform and can only be run on these kind of platform ! Until someone find an x64 version (GNU/Linux compliant) of this library, ACSMDownloader cannot be run on your computer. A solution is to build a web frontend that run on an ARM server.
11
12Current RMSDK version is 10.0.4
13
14**Caution** : This tool was not designed for piracy and any request for this will be ignored.
15
16
17
18Compilation
19-----------
20
21Simple _make_ will do the job.
22
23Some environment variables can be defined before running _make_ :
24
25 * DEBUG : 1|0 to enable debug symbols
26 * NO_BUILD_OPENSSL : 1 to don't build OpenSSL library (use the one of Kobo or your own)
27 * CROSS : cross compiler prefix (default arm-linux-gnueabihf-)
28 * INSTALL_DIR : default (./deploy)
29
30First step of compilation is to download all libraries in binary form from Kobo update file. It also downloads OpenSSL and compile it because the one from Kobo may crash (compiled with specific target options).
31
32Be careful : Kobo software has been compiled with an old version of Qt Embedded (4.6), but a reference from Qt5 shared library is made. It implies that some functions may not work (especially QString --> std::string conversion).
33
34
35
36Adobe files
37-----------
38
39ACSMDownloader requires some generated files present in the eReader. These files are _device.xml_, _activation.xml_ and _devicesalt_ (or _devicekey.bin_), they're generally stored into _.adept_ or _adobe-digital-edition_ directory.
40
41The first one describes eReader characteristics (serial, name, RMSDK version...) while the second contains ADEPT certificates and user information, they're easy to find. _devicesalt_/_devkey.bin_ is a base file for ADEPT cryptography and may be harder to find, it may requires root filesystem access via ADB/SSH.
42
43In addition to _acsmdownloader_ binary, an util called _activate_ is delivered. It'll create the necessary _xml_ files and link them to your AdobeID account if you don't want to use the ones from your eReader. Be careful as there is a limited number of devices authorized per Adobe account (5 or 6 in theory, but more than 20 in facts).
44
45
46
47Dependencies
48------------
49
50 * Qt5
51
52
53
54Usage
55-----
56
57 ./acsmdownloader [(-d|--device-file) device.xml] [(-a|--activation-file) activation.xml] [(-s|--device-key-file) devicesalt] [(-O|--output-dir) dir] [(-o|--output-file) output.epub] [(-v|--verbose)] [(-h|--help)] (-f|--acsm-file) file.acsm
58
59 -d|--device-filedevice.xml file from eReader
60 -a|--activation-fileactivation.xml file from eReader
61 -k|--device-key-fileprivate device key file (eg devicesalt/devkey.bin) from eReader
62 -O|--output-dirOptional output directory were to put result (default ./)
63 -o|--output-fileOptional output epub filename (default <title.epub>)
64 -f|--acsm-fileACSM request file for epub download
65 -v|--verboseIncrease verbosity, can be set multiple times
66 -h|--helpThis help
67
68
69It's recommended to use _acsmdownloader.sh_ script to launch _acsmdownloader_ util
70
71
72
73Sources
74-------
75
76Sources can be found @ http://indefero.soutade.fr/p/acsmdownloader
77
78
79
80Copyright
81---------
82
83Grégory Soutadé
84
85
86
87Licence
88-------
89
90GNU GPLv3

Archive Download this file

Branches