Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
134d9dd7f6 | |||
25304e7a40 | |||
a1c754d81e |
|
@ -7,7 +7,7 @@ libgourou is a free implementation of Adobe's ADEPT protocol used to add DRM on
|
|||
Architecture
|
||||
------------
|
||||
|
||||
Like RMSDK, libgourou has a client/server scheme. All platform specific functions (crypto, network...) have to be implemented in a client class (that derives from DRMProcessorClient) while server implements ADEPT protocol.
|
||||
Like RMSDK, libgourou has a client/server scheme. All platform-specific functions (crypto, network...) have to be implemented in a client class (that derives from DRMProcessorClient) while server implements ADEPT protocol.
|
||||
A reference implementation using cURL, OpenSSL and libzip is provided (in _utils_ directory).
|
||||
|
||||
Main functions to use from gourou::DRMProcessor are:
|
||||
|
@ -25,9 +25,9 @@ You can import configuration from (at least):
|
|||
|
||||
Or create a new one. Be careful: there is a limited number of devices that can be created by one account.
|
||||
|
||||
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.
|
||||
ePub files 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.
|
||||
|
||||
For those who want to remove DRM without adept_remove, you can export your private key and import it within [Calibre](https://calibre-ebook.com/) an its DeDRM plugin.
|
||||
For those who want to remove DRM without adept_remove, you can export your private key and import it within [Calibre](https://calibre-ebook.com/) and its DeDRM plugin.
|
||||
|
||||
|
||||
Dependencies
|
||||
|
@ -88,7 +88,7 @@ First, add libgourou.so to your LD_LIBRARY_PATH
|
|||
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD
|
||||
|
||||
You can optionaly specify your .adept directory
|
||||
You can optionally specify your .adept directory
|
||||
|
||||
export ADEPT_DIR=/home/XXX
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
if [ ! -d lib/updfparser ] ; then
|
||||
echo "Some libraries are missing"
|
||||
echo "You must run this script at the top of libgourou working direcotry."
|
||||
echo "./lib/setup.sh must be called first (make all)"
|
||||
echo "./scripts/setup.sh must be called first (make all)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
|
|
@ -859,14 +859,21 @@ namespace gourou
|
|||
std::string DRMProcessor::getDefaultAdeptDir(void)
|
||||
{
|
||||
#ifndef DEFAULT_ADEPT_DIR
|
||||
const char* user = getenv("USER");
|
||||
const char* home = getenv("HOME");
|
||||
|
||||
if (home)
|
||||
return home + std::string("/.config/adept/");
|
||||
else
|
||||
{
|
||||
const char* user = getenv("USER");
|
||||
|
||||
if (user && user[0])
|
||||
{
|
||||
return std::string("/home/") + user + std::string("/.config/adept/");
|
||||
}
|
||||
else
|
||||
return LOCAL_ADEPT_DIR;
|
||||
if (user && user[0])
|
||||
{
|
||||
return std::string("/home/") + user + std::string("/.config/adept/");
|
||||
}
|
||||
else
|
||||
return LOCAL_ADEPT_DIR;
|
||||
}
|
||||
#else
|
||||
return DEFAULT_ADEPT_DIR "/";
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue
Block a user