You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
yparitcher b5fda00a8b
kodev check: enforce default submodule.recurse=false for shellcheck & shfmt on submodules (#10362)
Otherwise results might be unexpected for people who set submodule.recurse to true

Regression of sorts since #10344
1 year ago
.ci [CI] Don't hide docs generation log (#9204) 2 years ago
.circleci [CI] Also use Ubuntu 20.04 Docker image for docs (#9209) 2 years ago
.github Revert "[CI] Set macOS Github Action to macOS 12.00 (#9856)" (#9864) 1 year ago
base@0bb499cafa Deal with table.pack corner-cases properly (#10350) 1 year ago
doc Deal with table.pack corner-cases properly (#10350) 1 year ago
frontend Deal with table.pack corner-cases properly (#10350) 1 year ago
l10n@9e266ec297 Update translations for v2023.04 (#10359) 1 year ago
metadata update metadata & translations 2 years ago
platform Bump luajit-launcher (#10360) 1 year ago
plugins CoverBrowser: fix getting cached info (#10346) 1 year ago
resources Bookmark flipping mode fix (#10196) 1 year ago
spec/unit Center pdf manual zoom mode (#10246) 1 year ago
test@86eeb0b43d various test/coverage optimization 8 years ago
tools [fix] kodev wbuilder crashes with "attempt to index global 'G_defaults' (a nil value)" (#10088) 1 year ago
.busted Travis update 9 years ago
.codecov.yml [CI] Add .codecov.yml (#4695) 5 years ago
.editorconfig experimental port to Mac OSX 8 years ago
.gitignore Add macOS target 4 years ago
.gitmodules add basic metadata for F-Droid 3 years ago
.luacheckrc Cleanup various varargs shenanigans (#9624) 2 years ago
.luacov [CI] Also run coverage on plugins (#3447) 7 years ago
.shellcheckrc [CI] Add curly braces check (#5809) 4 years ago
.travis.yml quickstart fix (#2804) 7 years ago
COPYING switch license to AGPLv3 10 years ago
Makefile Support Android AArch64 (#9645) 2 years ago
README.md Readme: update list of supported formats (#10004) 1 year ago
datastorage.lua Datastorage: do not create unnecessary folders (#10162) 1 year ago
defaults.lua Cleanup: Track color constant name change (#9716) 2 years ago
kodev kodev check: enforce default submodule.recurse=false for shellcheck & shfmt on submodules (#10362) 1 year ago
reader.lua Version log and (limited) notifications log (#10178) 1 year ago
setupkoenv.lua setupkoenv: ffi.load: search rocks 2 years ago

README.md

KOReader

KOReader is a document viewer primarily aimed at e-ink readers.

AGPL Licence Latest release Gitter Mobileread Build Status Coverage Status Weblate Status

DownloadUser guideWikiDeveloper docs

Main features

  • portable: runs on embedded devices (Cervantes, Kindle, Kobo, PocketBook, reMarkable), Android and Linux computers. Developers can run a KOReader emulator in Linux and MacOS.

  • multi-format documents: supports fixed page formats (PDF, DjVu, CBT, CBZ) and reflowable e-book formats (EPUB, FB2, Mobi, DOC, RTF, HTML, CHM, TXT). Scanned PDF/DjVu documents can also be reflowed with the built-in K2pdfopt library. ZIP files are also supported for some formats.

  • full-featured reading: multi-lingual user interface with a highly customizable reader view and many typesetting options. You can set arbitrary page margins, override line spacing and choose external fonts and styles. It has multi-lingual hyphenation dictionaries bundled into the application.

  • integrated with calibre (search metadata, receive ebooks wirelessly, browse library via OPDS), Wallabag, Wikipedia, Google Translate and other content providers.

  • optimized for e-ink devices: custom UI without animation, with paginated menus, adjustable text contrast, and easy zoom to fit content or page in paged media.

  • extensible: via plugins

  • fast: on some older devices, it has been measured to have less than half the page-turn delay as the built in reading software.

  • and much more: look up words with StarDict dictionaries / Wikipedia, add your own online OPDS catalogs and RSS feeds, over-the-air software updates, an FTP client, an SSH server, …

Please check the user guide and the wiki to discover more features and to help us document them.

Screenshots

Installation

Please follow the model specific steps for your device:

AndroidCervantesKindleKoboLinuxPocketbookreMarkable

Development

Setting up a build environmentCollaborating with GitBuilding targetsPortingDeveloper docs

Support

KOReader is developed and supported by volunteers all around the world. There are many ways you can help:

Right now we only support liberapay donations, but you can also create a bounty to motivate others to work on a specific bug or feature request.

Contributors

Last commit Commit activity