Giter Site home page Giter Site logo

asunder's Introduction

Asunder

Asunder is a Chrome extension for downloading Classoos digital textbooks as PDFs. This repository contains the extension, which retrieves all other relevant information for download and decryption. Then, the extension communicates with another application, Asunder-Decryptor, which downloads the PDF file and calls the Apryse (PDFTron) dynamic library binaries (or slightly modified versions). Those binaries remove the PDF encryption and convert it to comply with most readers.

Disclaimer By using this extension, you understand the risk of banning or legal actions, and take full responsiblity for any violation of Classoos TOS (TL;DR). This project was made for educational purposes only, and the author of this project is not responsible for any potential consequences of using it.

Build & Install

Prerequisites

  • All operating systems - OpenSSL, Node.js, CMake and vcpkg.
  • Windows - Visual Studio 2019 or higher.
  • macOS - XCode Developer Tools.
  • Linux - make, gcc.

vcpkg

  • Make sure vcpkg is in path.
  • Install curl, nlohmann-json and boost-filesystem.
  • If you are using an older release (before September 2023) of vcpkg for Windows, specify the target triplet manually when installing the packages listed above.

Installation Scripts

  1. Get your key from Apryse Developer Portal. Paste it into decryptor/src/pdf.hpp.
  2. Run scripts/install_asunder.py.
  3. Manually load the extension into Chrome, instructions will appear after compilation is done.

Development Map

Asunder-Extension

  • Download buttons on bookshelf
  • Download button in book reader
  • Download and decryption data fetching
  • Communication with Asunder-decryptor

Asunder-Decryptor

  • Communication with the extension
  • PDF downloading using curl
  • PDF decryption and linearization
  • Modifications of PDFNetC

Modified PDFNetC

PDFNetC is the official Apryse C++ library used in Asunder for decryption. Future versions might use slightly modified versions of those binaries, that does not include the Apryse watermark on downloaded PDFs nor require a trial key.

Native Messaging

The communication between the extension and the decryptor is possible thanks to Chrome's native messaging protocol. To allow this communication, you'll have to register a native messaging host, using a json file (see example file above). On Windows, we'll also need to create a matching registry key for our configuration file. Read more in the official documentation.

asunder's People

Contributors

martinalebachew avatar

Stargazers

Cassuto avatar  avatar  avatar

Watchers

 avatar

asunder's Issues

Well done!

Hi Martin, nice work!
It's nice to see more people digging into Classoos and creating wonderful things!
I've created a script to be executed on an Android device that decrypts the PDF digital textbook
I plan to post my work on github in the next couple of days (I'll add a link to this thread as soon as I'll post it)
I wasn't able to install your extension and the decryptor for some reason, so, if you can, add some detailed instructions on how to install and configure it - it'll be awesome.
looking forward to hear back from you soon!

Build

Hi, would you be able to build this extension so I can use it please?

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.