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
|
||||
|
||||
|
||||
@@ -7,12 +7,3 @@ if [ ! -d lib/updfparser ] ; then
|
||||
make BUILD_STATIC=1 BUILD_SHARED=0
|
||||
popd
|
||||
fi
|
||||
|
||||
# OpenSSL legacy
|
||||
if [ ! -d lib/openssl ] ; then
|
||||
git clone --branch openssl-3.3 https://github.com/openssl/openssl.git lib/openssl
|
||||
pushd lib/openssl
|
||||
./Configure disable-apps disable-shared enable-legacy
|
||||
make -j4
|
||||
popd
|
||||
fi
|
||||
|
||||
+14
-7
@@ -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
|
||||
|
||||
@@ -10,7 +10,6 @@ CXXFLAGS=-Wall -fPIC -I$(ROOT)/include
|
||||
|
||||
STATIC_DEP=
|
||||
LDFLAGS += -L$(ROOT) -lcrypto -lzip -lz -lcurl -lpugixml
|
||||
LDFLAGS += -L$(ROOT) $(ROOT)/lib/openssl/libcrypto.a -lzip -lz -lcurl -lpugixml
|
||||
|
||||
ifneq ($(STATIC_UTILS),)
|
||||
STATIC_DEP = $(ROOT)/libgourou.a
|
||||
|
||||
Reference in New Issue
Block a user