diff --git a/Makefile b/Makefile index 9e2ba52..975e7e5 100644 --- a/Makefile +++ b/Makefile @@ -9,14 +9,19 @@ LDFLAGS = $(UPDFPARSERLIB) BUILD_STATIC ?= 0 BUILD_SHARED ?= 1 +BUILD_UTILS ?= 1 TARGETS = -ifneq (BUILD_STATIC, 0) +ifneq ($(BUILD_STATIC), 0) TARGETS += libgourou.a endif -ifneq (BUILD_SHARED, 0) +ifneq ($(BUILD_SHARED), 0) TARGETS += libgourou.so endif +ifneq ($(BUILD_UTILS), 0) + TARGETS += build_utils +endif + ifneq ($(DEBUG),) CXXFLAGS += -ggdb -O0 @@ -34,9 +39,7 @@ OBJEXT := o SOURCES = src/libgourou.cpp src/user.cpp src/device.cpp src/fulfillment_item.cpp src/bytearray.cpp src/pugixml.cpp OBJECTS := $(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(SOURCES:.$(SRCEXT)=.$(OBJEXT))) -.PHONY: utils - -all: lib obj $(TARGETS) utils +all: lib obj $(TARGETS) lib: mkdir lib @@ -56,7 +59,7 @@ libgourou.a: $(OBJECTS) libgourou.so: $(OBJECTS) $(UPDFPARSERLIB) $(CXX) obj/*.o $(LDFLAGS) -o $@ -shared -utils: +build_utils: make -C utils ROOT=$(PWD) CXX=$(CXX) AR=$(AR) DEBUG=$(DEBUG) STATIC_UTILS=$(STATIC_UTILS) clean: diff --git a/README.md b/README.md index ff7b51a..f98cb44 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Introduction ------------ -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. +libgourou 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. Architecture @@ -19,13 +19,15 @@ Main fucntions to use from gourou::DRMProcessor are : You can import configuration from (at least) : - * Kobo device : .adept/device.xml, .adept/devicesalt and .adept/activation.xml + * Kobo device : .adept/device.xml, .adept/devicesalt and .adept/activation.xml * Bookeen device : .adobe-digital-editions/device.xml, root/devkey.bin and .adobe-digital-editions/activation.xml Or create a new one. Be careful : there is a limited number of devices that can be created bye 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. +For 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. + Dependencies ------------ @@ -47,18 +49,21 @@ Compilation Use _make_ command - make [CROSS=XXX] [DEBUG=1] [STATIC_UTILS=1] [BUILD_STATIC=(0|1)] [BUILD_SHARED=(0|1)] + make [CROSS=XXX] [DEBUG=1] [STATIC_UTILS=1] [BUILD_UTILS=(0|1)] [BUILD_STATIC=(0|1)] [BUILD_SHARED=(0|1)] CROSS can define a cross compiler prefix (ie arm-linux-gnueabihf-) DEBUG can be set to compile in DEBUG mode +BUILD_UTILS to build utils or not (activated by default) + STATIC_UTILS to build utils with static library (libgourou.a) instead of default dynamic one (libgourou.so) BUILD_STATIC build libgourou.a if 1, nothing if 0 (default value), can be combined with BUILD_SHARED BUILD_SHARED build libgourou.so if 1 (default value), nothing if 0, can be combined with BUILD_STATIC + Utils ----- @@ -69,11 +74,16 @@ You can import configuration from your eReader or create a new one with utils/ac Then a _./.adept_ directory is created with all configuration file -To download an ePub : +To download an ePub/PDF : export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD ./utils/acsmdownloader -f +To export your private key : + + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD + ./utils/acsmdownloader --export-private-key [-o adobekey_1.der] + Copyright ---------