Git Product home page Git Product logo

acsm-get's Introduction

Introduction

acsm-get is an open source tool to download e-books with Adobe DRM. It was made to give Linux users a way to download their e-books, since Adobe Digital Editions does not exist for this platform.

Copyright

Copyright (c) 2023 Jan de Vries

License

See COPYING.

Source Code

You can find the source code on github.

To build it, have a look at build.md.

Installation

apt

If you are on Ubuntu, you can install the deb package with apt:

sudo apt install <path/to/package.deb>

This will automatically install any missing dependencies for you.

dpkg

Alternatively you can use dpkg:

sudo dpkg -i <path/to/package.deb>

You may have to manually install missing dependencies.

source

If you are building from source, you can install with:

make all && sudo make install

Screenshots

Authorize computer

Menu

Downloading…

Download completed.

acsm-get's People

Contributors

j-vries avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

acsm-get's Issues

Can't install or compile on Ubuntu 20.04

Sadly, I'm unable to either install the deb:

➜  Downloads sudo dpkg -i ./acsm-get_1.0.1_1_amd64.deb
Selecting previously unselected package acsm-get.
(Reading database ... 233492 files and directories currently installed.)
Preparing to unpack ./acsm-get_1.0.1_1_amd64.deb ...
Unpacking acsm-get (1.0.1) ...
dpkg: dependency problems prevent configuration of acsm-get:
 acsm-get depends on libatkmm-1.6-1v5 (>= 2.28.2); however:
  Version of libatkmm-1.6-1v5:amd64 on system is 2.28.0-2build1.
 acsm-get depends on libc6 (>= 2.34); however:
  Version of libc6:amd64 on system is 2.31-0ubuntu9.12.
 acsm-get depends on libglibmm-2.4-1v5 (>= 2.66.2); however:
  Version of libglibmm-2.4-1v5:amd64 on system is 2.64.2-1.
 acsm-get depends on libgtkmm-3.0-1v5 (>= 3.24.5); however:
  Version of libgtkmm-3.0-1v5:amd64 on system is 3.24.2-1build1.
 acsm-get depends on libpugixml1v5 (>= 1.6); however:
  Package libpugixml1v5 is not installed.
 acsm-get depends on libssl3 (>= 3.0.0~~alpha1); however:
  Package libssl3 is not installed.
 acsm-get depends on libstdc++6 (>= 11); however:
  Version of libstdc++6:amd64 on system is 10.5.0-1ubuntu1~20.04.
 acsm-get depends on libzip4 (>= 0.11.2); however:
  Package libzip4 is not installed.

dpkg: error processing package acsm-get (--install):
 dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for shared-mime-info (1.15-1) ...
Errors were encountered while processing:
 acsm-get

or make all this:

➜  acsm-get git:(master) make all                               
cd lib/updfparser && make clean
make[1]: Entering directory '/home/zw/Development/acsm-get/lib/updfparser'
rm -rf libupdfparser.so libupdfparser.a obj test
make[1]: Leaving directory '/home/zw/Development/acsm-get/lib/updfparser'
cd lib/libgourou && make clean
make[1]: Entering directory '/home/zw/Development/acsm-get/lib/libgourou'
rm -rf libgourou.a libgourou.so libgourou.so.0.8.1* obj
make -C utils clean
make[2]: Entering directory '/home/zw/Development/acsm-get/lib/libgourou/utils'
rm -f acsmdownloader adept_activate adept_remove adept_loan_mgt launcher utils.a
make[2]: Leaving directory '/home/zw/Development/acsm-get/lib/libgourou/utils'
make[1]: Leaving directory '/home/zw/Development/acsm-get/lib/libgourou'
rm -rf lib/libgourou/lib
rm -rf bin
rm -rf obj
rm -rf res/generated/*
rm -rf src/generated/*
cd lib/updfparser && make BUILD_STATIC=1 BUILD_SHARED=0
make[1]: Entering directory '/home/zw/Development/acsm-get/lib/updfparser'
mkdir obj
g++ -Wall -fPIC -I./include -O2 -c src/uPDFParser.cpp -o obj/uPDFParser.o
g++ -Wall -fPIC -I./include -O2 -c src/uPDFTypes.cpp -o obj/uPDFTypes.o
ar crs libupdfparser.a obj/*.o
make[1]: Leaving directory '/home/zw/Development/acsm-get/lib/updfparser'
mkdir -p lib/libgourou/lib
cd lib/libgourou/lib && rm -f updfparser && ln -s ../../../lib/updfparser/ updfparser
cd lib/libgourou && make BUILD_STATIC=1 BUILD_SHARED=0 all
make[1]: Entering directory '/home/zw/Development/acsm-get/lib/libgourou'
Building libgourou 0.8.1
mkdir obj
g++ -Wall -fPIC -I./include -I./usr/include/pugixml -I./lib/updfparser/include -O2 -c src/libgourou.cpp -o obj/libgourou.o
g++ -Wall -fPIC -I./include -I./usr/include/pugixml -I./lib/updfparser/include -O2 -c src/user.cpp -o obj/user.o
g++ -Wall -fPIC -I./include -I./usr/include/pugixml -I./lib/updfparser/include -O2 -c src/device.cpp -o obj/device.o
g++ -Wall -fPIC -I./include -I./usr/include/pugixml -I./lib/updfparser/include -O2 -c src/fulfillment_item.cpp -o obj/fulfillment_item.o
g++ -Wall -fPIC -I./include -I./usr/include/pugixml -I./lib/updfparser/include -O2 -c src/loan_token.cpp -o obj/loan_token.o
g++ -Wall -fPIC -I./include -I./usr/include/pugixml -I./lib/updfparser/include -O2 -c src/bytearray.cpp -o obj/bytearray.o
ar rcs --thin libgourou.a obj/libgourou.o obj/user.o obj/device.o obj/fulfillment_item.o obj/loan_token.o obj/bytearray.o lib/updfparser/libupdfparser.a
ar: unrecognized option '--thin'
Usage: ar [emulation options] [-]{dmpqrstx}[abcDfilMNoOPsSTuvV] [--plugin <name>] [member-name] [count] archive-file file...
       ar -M [<mri-script]
 commands:
  d            - delete file(s) from the archive
  m[ab]        - move file(s) in the archive
  p            - print file(s) found in the archive
  q[f]         - quick append file(s) to the archive
  r[ab][f][u]  - replace existing or insert new file(s) into the archive
  s            - act as ranlib
  t[O][v]      - display contents of the archive
  x[o]         - extract file(s) from the archive
 command specific modifiers:
  [a]          - put file(s) after [member-name]
  [b]          - put file(s) before [member-name] (same as [i])
  [D]          - use zero for timestamps and uids/gids (default)
  [U]          - use actual timestamps and uids/gids
  [N]          - use instance [count] of name
  [f]          - truncate inserted file names
  [P]          - use full path names when matching
  [o]          - preserve original dates
  [O]          - display offsets of files in the archive
  [u]          - only replace files that are newer than current archive contents
 generic modifiers:
  [c]          - do not warn if the library had to be created
  [s]          - create an archive index (cf. ranlib)
  [S]          - do not build a symbol table
  [T]          - make a thin archive
  [v]          - be verbose
  [V]          - display the version number
  @<file>      - read options from <file>
  --target=BFDNAME - specify the target object format as BFDNAME
  --output=DIRNAME - specify the output directory for extraction operations
 optional:
  --plugin <p> - load the specified plugin
 emulation options: 
  No emulation specific options
ar: supported targets: elf64-x86-64 elf32-i386 elf32-iamcu elf32-x86-64 pei-i386 pei-x86-64 elf64-l1om elf64-k1om elf64-little elf64-big elf32-little elf32-big pe-x86-64 pe-bigobj-x86-64 pe-i386 srec symbolsrec verilog tekhex binary ihex plugin
make[1]: *** [Makefile:80: libgourou.a] Error 1
make[1]: Leaving directory '/home/zw/Development/acsm-get/lib/libgourou'
make: *** [Makefile:48: libgourou] Error 2

Please help. This project is needed. I also tried removing the --thin flag but other issues surface.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.