- Dedicated Kavita client, directly integrating with the Kavita API.
- Library synchronization with support for both streaming chapters, or downloading them for offline reading.
- Epub and image readers with support for various reading modes, navigation options and customizations.
- Reading progress stored locally and automatically synchronized with the server when a connection is available.
- Library browsing with support for filtering, sorting and searching.
- Built with Flutter with the goal of keeping all platforms supported, i.e. mobile, desktop and (because why not) web
The app is currently available in open beta on TestFlight, which can be joined here.
The app is currently on a closed beta on the Play Store. To join:
- Join the Kover Testers Google Group with the same email used for the Play Store account
- Visit the Play Store listing either through the Android Link or the Web Link
An APK build is also available in the releases section of this repository.
The remainder platforms are currently not packaged automatically. It is planned setup pipelines for Windows, Linux and MacOS and push builds to the release page in the future.
For now, those could still be built from source for local use by following the instructions below.
This project makes heavy use of code generation for APIs, model and database objects. The generated code is also not committed to the repository, so building from source requires a few extra steps:
-
install dependencies with
flutter pub get
-
run build_runner to generate all annotated code
dart run build_runner build --delete-conflicting-outputs
-
finally the project can be built normally with
flutter buildor run in debug mode withflutter run
Note: remember to regenerate code when modifying annotated classes or run with dart run build_runner watch --delete-conflicting-outputs during development to watch for changes.
Web requires additional dependencies to be available, namely the Drift worker and Sqlite3.
A script that pulls the correct versions based on the pubspec.lock is available under tools and can be run with
dart run tools/fetch_web_dependencies.dart
Note: due to CORS, the web version has to be served on the same domain as Kavita, or put behind a reverse proxy setup to inject additional HTTP allow-origin headers for the desired domains. This is completely untested and no official guidance exists.
To connect Kover to a Kavita instance:
- navigate to the app settings
- fill in the server URL
- retrieve or generate an API key for the desired user from the Kavita
Auth Keys / OPDSsettings page and fill it in the app settings. The OPDS key generated by default can also be used, or a new one can be generated specifically for Kover.













