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

Andrew Dolgov 7349c8fbae dict client is no longer used 4 days ago
css 80ae1536d1 add TOC overview bar 5 days ago
db 05b286c2b5 add db/ 3 years ago
img 65ef787572 update icon 1 year ago
js c080940ed7 map pageup/pagedown to switch pages 5 days ago
lib 40d215d8bf experimental: add optional soft hyphenation 6 days ago
sessions e12535e601 add .empty back 3 years ago
themes 80ae1536d1 add TOC overview bar 5 days ago
.eslintrc.js 922d399dd0 add eslintrc 1 year ago
.gitignore 0a80c7a89c combine index-related JS code into one App object 5 months ago
COPYING 1acf84942d add COPYING 3 years ago
README.md f64a364c57 update README 8 months ago
backend.php 597e3ebdb5 use curl for dictionary lookups instead of dictc 4 days ago
common.php 036c8f04f2 add some basic startup sanity checks 1 week ago
config.php-dist 7349c8fbae dict client is no longer used 4 days ago
db.php 069489d437 crash with an error message if PDO sqlite driver is missing and/or unable to initialize it 1 week ago
index.php 40d215d8bf experimental: add optional soft hyphenation 6 days ago
login.php 036c8f04f2 add some basic startup sanity checks 1 week ago
logout.php dcffa74b03 force logout user when login from is rendered 1 year ago
manifest.json f28a758647 allow rotation 5 months ago
offline.html 056aee7927 various offline mode fixes related to service worker initialization 5 months ago
read.html 40d215d8bf experimental: add optional soft hyphenation 6 days ago
schema.sql 55f2b0090a add basic favorites via a horrible hack 3 years ago
sessions.php dcffa74b03 force logout user when login from is rendered 1 year ago
useradm.php 76760cffe0 update password if adding but user exists 2 years ago
worker.js 40d215d8bf experimental: add optional soft hyphenation 6 days ago

README.md

The Epube

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

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

Copyright (c) 2017 Andrew Dolgov (unless explicitly stated otherwise).

Requirements

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

Installation

Always use latest Git code from master branch. Ignore the releases page, it doesn't mean anything.

git clone https://git.tt-rss.org/fox/the-epube.git the-epube

WARNING: since database folder is, by default, accessible for unauthenticated HTTP requests it is recommended to set SCRATCH_DB to a secure random value (i.e. db/long-random-string.db) or put it outside of scope accessible by your http server. Alternatively, you can simply block access to db:

location /the-epube/db {
   deny all;
}
  1. Initialize scratch.db
sqlite3 db/scratch.db < schema.sql
  1. 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
  1. Copy config.php-dist to config.php and edit path to Calibre, etc.

  2. 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)

Acknowledgements

Normal favicon from Silk icon pack - http://www.famfamfam.com/lab/icons/silk/

License

GNU GPL version 3.