Skip to content

Latest commit

 

History

History
116 lines (76 loc) · 4.47 KB

File metadata and controls

116 lines (76 loc) · 4.47 KB
Kover icon

Kover

An unofficial cross-platform Kavita client.

Overview

Features

  • Dedicated Kavita client, directly integrating with the Kavita API.
  • Library synchronization with support for both streaming chapters, or downloading them for offline reading.
  • ePub, image and PDF 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

Getting Started

Installation

iOS & MacOS

The app is available in open beta on TestFlight, which can be joined here.

Android

The app is available in open beta on the Play Store, which can be joined here. Thanks to everyone joining the closed beta and enabling Kover to apply for open beta! Releases will still be pushed to the closed beta track, so there is no need for existing testers to swap tracks.

An APK build is also available in the releases section of this repository.

Other platforms

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.

Building from Source

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 build or run in debug mode with flutter 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.

Building Web

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.

Connecting to Kavita

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 / OPDS settings 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.

Screenshots

Library Navigation

Screenshot Screenshot Screenshot Screenshot Screenshot Screenshot

Reading

Screenshot Screenshot

Screenshot Screenshot Screenshot

Settings

Screenshot Screenshot Screenshot