Libgourou

Libgourou Git Source Tree

Root/README.md

1Introduction
2------------
3
4libgourou is a free implementation of Adobe's ADEPT protocol used to add DRM on ePub/PDF files. It overcome the lacks of Adobe support for Linux platforms.
5
6
7Architecture
8------------
9
10Like RMSDK, libgourou has a client/server scheme. All platform specific functions (crypto, network...) has to be implemented in a client class (that derives from DRMProcessorClient) while server implements ADEPT protocol.
11A reference implementation using Qt, OpenSSL and libzip is provided (in _utils_ directory).
12
13Main fucntions to use from gourou::DRMProcessor are :
14
15 * Get an ePub from an ACSM file : _fulfill()_ and _download()_
16 * Create a new device : _createDRMProcessor()_
17 * Register a new device : _signIn()_ and _activateDevice()_
18
19
20You can import configuration from (at least) :
21
22 * Kobo device : .adept/device.xml, .adept/devicesalt and .adept/activation.xml
23 * Bookeen device : .adobe-digital-editions/device.xml, root/devkey.bin and .adobe-digital-editions/activation.xml
24
25Or create a new one. Be careful : there is a limited number of devices that can be created bye one account.
26
27ePub are encrypted using a shared key : one account / multiple devices, so you can create and register a device into your computer and read downloaded (and encrypted) ePub file with your eReader configured using the same AdobeID account.
28
29For those who wants to remove DRM, you can export your private key and import it within [Calibre](https://calibre-ebook.com/) an its DeDRM plugin.
30
31
32Dependencies
33------------
34
35For libgourou :
36
37 * None
38
39For utils :
40
41 * QT5Core
42 * QT5Network
43 * OpenSSL
44 * libzip
45
46
47Compilation
48-----------
49
50Use _make_ command
51
52 make [CROSS=XXX] [DEBUG=(0*|1)] [STATIC_UTILS=(0*|1)] [BUILD_UTILS=(0|1*)] [BUILD_STATIC=(0*|1)] [BUILD_SHARED=(0|1*)]
53
54CROSS can define a cross compiler prefix (ie arm-linux-gnueabihf-)
55
56DEBUG can be set to compile in DEBUG mode
57
58BUILD_UTILS to build utils or not
59
60STATIC_UTILS to build utils with static library (libgourou.a) instead of default dynamic one (libgourou.so)
61
62BUILD_STATIC build libgourou.a if 1, nothing if 0, can be combined with BUILD_SHARED
63
64BUILD_SHARED build libgourou.so if 1, nothing if 0, can be combined with BUILD_STATIC
65
66* Default value
67
68Utils
69-----
70
71You can import configuration from your eReader or create a new one with utils/activate :
72
73 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD
74 ./utils/activate -u <AdobeID USERNAME>
75
76Then a _./.adept_ directory is created with all configuration file
77
78To download an ePub/PDF :
79
80 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD
81 ./utils/acsmdownloader -f <ACSM_FILE>
82
83To export your private key :
84
85 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD
86 ./utils/acsmdownloader --export-private-key [-o adobekey_1.der]
87
88
89Copyright
90---------
91
92Grégory Soutadé
93
94
95
96License
97-------
98
99libgourou : LGPL v3 or later
100
101utils : BSD
102
103
104
105Special thanks
106--------------
107
108 * _Jens_ for all test samples and utils testing

Archive Download this file

Branches

Tags