web EPUB reader using EPUB.js, Bootstrap, and Calibre.

Andrew Dolgov 50b99afa06 move inline scripts from read.html to read.js; fix some eslint-related stuff 2 weeks ago
css 9de5262ecc reader ui: add styles to scrollbars 5 months ago
db 05b286c2b5 add db/ 1 year ago
img 86d02c4cba update hires favicon 1 year ago
js 50b99afa06 move inline scripts from read.html to read.js; fix some eslint-related stuff 2 weeks ago
lib b9a0f230ae remove qtip2 3 weeks ago
sessions e12535e601 add .empty back 1 year ago
themes 6287dec914 add themes/gray.css 5 months ago
.gitignore 9298f4da48 upd .gitignore 1 month ago
COPYING 1acf84942d add COPYING 1 year ago
README.md 1ea4a3f80a README: mention that service workers need https 3 weeks ago
backend.php c62fa6c187 cover: add last-modified 1 month ago
config.php-dist dfee22901d * use PDO::sqlite 1 year ago
db.php dfee22901d * use PDO::sqlite 1 year ago
index.php 42bb935ae7 notify user if serviceWorker support is missing 3 weeks ago
login.php 35d9cc340c worker: implement cache-busting for forced refreshes; remove leftover includes of qtip2 3 weeks ago
logout.php dcffa74b03 force logout user when login from is rendered 2 months ago
manifest.json f37c9975ee add hires favicon, add support for run-as-app on chrome 1 year ago
offline.html 35d9cc340c worker: implement cache-busting for forced refreshes; remove leftover includes of qtip2 3 weeks ago
read.html 50b99afa06 move inline scripts from read.html to read.js; fix some eslint-related stuff 2 weeks ago
schema.sql 55f2b0090a add basic favorites via a horrible hack 1 year ago
sessions.php dcffa74b03 force logout user when login from is rendered 2 months ago
useradm.php 76760cffe0 update password if adding but user exists 8 months ago
worker.js 35d9cc340c worker: implement cache-busting for forced refreshes; remove leftover includes of qtip2 3 weeks ago

README.md

The Epube

web EPUB reader using EPUB.js, Bootstrap, and Calibre.

  • responsive design
  • has transparent offline mode via service workers
  • can optionally store files locally for later reading
  • supports word definition lookups using dictd
  • supports Chrome homescreen "app mode"
  • has several color themes

Screenshots

See here: https://git.tt-rss.org/fox/the-epube/wiki/Home

Installation

  1. Initialize scratch.db

    sqlite3 db/scratch.db < schema.sql
  2. Ensure both scratch.db and its containing folder (i.e. db/) are writable by the application, normally this means chown-ing them as www-data or whatever user your httpd is running under.

    chown www-data db/ db/scratch.db
  3. Copy config.php-dist to config.php and edit path to Calibre, etc.

  4. Setup users via useradm.php (command line)

Upgrading

When upgrading from an older Git snapshot which used HTTP Authentication:

  1. Disable HTTP Authentication in httpd configuration
  2. Reopen browser to clear HTTP auth
  3. Add two new tables to scratch.db (epube_users & epube_sessions)
  4. Add users via useradm.php (use same names as http auth, all data will be kept)

Requirements

  • HTTPS: required for service workers to work
  • PDO::sqlite
  • Calibre books directory and metadata.db

Acknowledgements

  1. Hires favicon by Flaticon - https://www.shareicon.net/business-school-material-open-book-education-leisure-reader-reading-794233
  2. Normal favicon from Silk icon pack - http://www.famfamfam.com/lab/icons/silk/

License

GNU GPL version 3.