https://forge.soutade.fr/soutade/libgourou This website requires JavaScript. Logo Explore Help Register Sign In soutade / libgourou Watch 2 Star 2 Fork You've already forked libgourou 0 Code Issues 1 Pull Requests Packages Releases 4 Activity 139 Commits 1 Branch 27 Tags 319 KiB C++ 94.3% Roff 2.8% Makefile 1.7% C 1% Shell 0.2% master Go to file HTTPS [https://forge.soutad] Download ZIP Download TAR.GZ Download BUNDLE Clone in VS Code Cite this repository APA BibTeX [ ] Cancel # Gregory Soutade 0d77cf55e1 Update version 2024-03-28 21:58:07 +01:00 include Update version 2024-03-28 21:58:07 +01:00 scripts Use system version of pugixml, not a 2023-01-08 checkouted one 21:15:33 +01:00 src Remove whole EBX objects for PDF when 2024-03-28 removing DRM 21:54:23 +01:00 Fix use after free in 2024-01-24 utils DRMProcessorClientImpl::sendHTTPRequest 19:13:22 +01:00 () .gitignore Update .gitignore 2022-07-03 09:22:06 +02:00 LICENSE Initial commit 2021-07-03 21:57:53 +02:00 Makefile Fix misuse of DESTDIR and PREFIX in 2023-08-08 Makefile 20:13:03 +02:00 README.md Update README.md 2023-09-06 21:21:43 +02:00 README.md Introduction 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 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. A reference implementation using cURL, OpenSSL and libzip is provided (in utils directory). Main fucntions to use from gourou::DRMProcessor are : * Get an ePub from an ACSM file : fulfill() and download() * Create a new device : createDRMProcessor() * Register a new device : signIn() and activateDevice() * Remove DRM : removeDRM() * Return loaned book : returnLoan() You can import configuration from (at least) : * 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 without adept_remove, you can export your private key and import it within Calibre an its DeDRM plugin. Dependencies For libgourou : externals : * libpugixml internals : * uPDFParser For utils : * libcurl * OpenSSL * libzip * libpugixml Internal libraries are automatically fetched and statically compiled during the first run. When you update libgourou's repository, don't forget to update internal libraries with : make update_lib Compilation Use make command make [CROSS=XXX] [DEBUG=(0*|1)] [STATIC_UTILS=(0*|1)] [BUILD_UTILS=(0|1*)] [BUILD_STATIC=(0*|1)] [BUILD_SHARED=(0|1*)] [all*|clean|ultraclean|build_utils|install|uninstall] 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 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, can be combined with BUILD_SHARED BUILD_SHARED build libgourou.so if 1, nothing if 0, can be combined with BUILD_STATIC other variables are DESTDIR and PREFIX to handle destination install directory * Default value Utils First, add libgourou.so to your LD_LIBRARY_PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD You can optionaly specify your .adept directory export ADEPT_DIR=/home/XXX Then, use utils as following : You can import configuration from your eReader or create a new one with utils/adept_activate : ./utils/adept_activate -u Then a /home//.config/adept directory is created with all configuration file To download an ePub/PDF : ./utils/acsmdownloader To export your private key (for DeDRM software) : ./utils/acsmdownloader --export-private-key [-o adobekey_1.der] To remove ADEPT DRM : ./utils/adept_remove To list loaned books : ./utils/adept_loan_mgt [-l] To return a loaned book : ./utils/adept_loan_mgt -r You can get utils full options description with -h or --help switch Docker A docker image (by bcliang) is available at https://github.com/ bcliang/docker-libgourou/ Copyright Gregory Soutade License libgourou : LGPL v3 or later utils : BSD Special thanks * Jens for all test samples and utils testing * Milian for debug & code * Berwyn H for all test samples, feedbacks, patches and kind donation Powered by Gitea Version: 1.21.1 Page: 996ms Template: 237ms English Bahasa Indonesia Deutsch English Espanol Francais Italiano Latviesu Magyar nyelv Nederlands Polski Portugues de Portugal Portugues do Brasil Suomi Svenska Turkce Cestina Ellenika B'lgarski Russkii Ukrayins'ka frsy mlyaallN Ri Ben Yu Jian Ti Zhong Wen Fan Ti Zhong Wen (Tai Wan )Fan Ti Zhong Wen (Xiang Gang ) hangugeo Licenses API