1 | Introduction␊ |
2 | ------------␊ |
3 | ␊ |
4 | libgourou is a free implementation of Adobe's ADEPT protocol used to add DRM on ePub files. It overcome the lacks of Adobe support for Linux platforms.␊ |
5 | ␊ |
6 | ␊ |
7 | Architecture␊ |
8 | ------------␊ |
9 | ␊ |
10 | Like 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.␊ |
11 | A reference implementation using Qt, OpenSSL and libzip is provided (in _utils_ directory).␊ |
12 | ␊ |
13 | Main 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 | ␊ |
20 | You 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 | ␊ |
25 | Or create a new one. Be careful : there is a limited number of devices that can be created bye one account.␊ |
26 | ␊ |
27 | ePub 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 | ␊ |
29 | ␊ |
30 | Dependencies␊ |
31 | ------------␊ |
32 | ␊ |
33 | For libgourou :␊ |
34 | ␊ |
35 | * None␊ |
36 | ␊ |
37 | For utils :␊ |
38 | ␊ |
39 | * QT5Core␊ |
40 | * QT5Network␊ |
41 | * OpenSSL␊ |
42 | * libzip␊ |
43 | ␊ |
44 | ␊ |
45 | Compilation␊ |
46 | -----------␊ |
47 | ␊ |
48 | Use _make_ command␊ |
49 | ␊ |
50 | make [CROSS=XXX] [DEBUG=1] [STATIC_UTILS=1]␊ |
51 | ␊ |
52 | CROSS can define a cross compiler prefix (ie arm-linux-gnueabihf-)␊ |
53 | ␊ |
54 | DEBUG can be set to compile in DEBUG mode␊ |
55 | ␊ |
56 | STATIC_UTILS to build utils with static library (libgourou.a) instead of default dynamic one (libgourou.so)␊ |
57 | ␊ |
58 | ␊ |
59 | Utils␊ |
60 | -----␊ |
61 | ␊ |
62 | You can import configuration from your eReader or create a new one with utils/activate :␊ |
63 | ␊ |
64 | export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD␊ |
65 | ./utils/activate -u <USERNAME>␊ |
66 | ␊ |
67 | Then a _./.adept_ directory is created with all configuration file␊ |
68 | ␊ |
69 | To download an ePub :␊ |
70 | ␊ |
71 | export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD␊ |
72 | ./utils/acsmdownloader -f <ACSM_FILE>␊ |
73 | ␊ |
74 | ␊ |
75 | Copyright␊ |
76 | ---------␊ |
77 | ␊ |
78 | Grégory Soutadé␊ |
79 | ␊ |
80 | ␊ |
81 | ␊ |
82 | License␊ |
83 | -------␊ |
84 | ␊ |
85 | libgourou : LGPL v3 or later␊ |
86 | ␊ |
87 | utils : BSD␊ |