{"id":50578110,"url":"https://github.com/dom-53/Inkita","last_synced_at":"2026-06-21T19:00:39.474Z","repository":{"id":327791130,"uuid":"1111190297","full_name":"dom-53/Inkita","owner":"dom-53","description":"Inkita is a lightweight Android reader for Kavita: fast browsing, offline downloads, and reliable progress sync. It caches metadata, pages, and thumbnails so you can read on the go and resume exactly where you left off.","archived":false,"fork":false,"pushed_at":"2026-02-11T13:54:59.000Z","size":16096,"stargazers_count":39,"open_issues_count":8,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-02-11T20:48:21.812Z","etag":null,"topics":["android","android-app","epub","epub-reader","free","kavita","kotlin-android","pdf","pdf-reader","reader"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dom-53.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security-storage-testing.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-06T13:02:23.000Z","updated_at":"2026-02-11T11:23:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dom-53/Inkita","commit_stats":null,"previous_names":["dom-53/inkita"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/dom-53/Inkita","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dom-53%2FInkita","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dom-53%2FInkita/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dom-53%2FInkita/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dom-53%2FInkita/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dom-53","download_url":"https://codeload.github.com/dom-53/Inkita/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dom-53%2FInkita/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34622271,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-app","epub","epub-reader","free","kavita","kotlin-android","pdf","pdf-reader","reader"],"created_at":"2026-06-05T00:00:33.527Z","updated_at":"2026-06-21T19:00:39.462Z","avatar_url":"https://github.com/dom-53.png","language":"Kotlin","funding_links":["https://ko-fi.com/dom53"],"categories":["Kotlin"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003ca href=\"https://github.com/dom-53/Inkita\"\u003e\n    \u003cimg src=\"./.github/assets/inkita-logo.png\" alt=\"Inkita logo\" title=\"Inkita logo\" width=\"80\"/\u003e\n\u003c/a\u003e\n\n# Inkita\n\n Unofficial Android reader for your self-hosted **Kavita** library.\n\n[![CI](https://img.shields.io/github/actions/workflow/status/dom-53/Inkita/release.yml?labelColor=27303D)](https://github.com/dom-53/Inkita/actions/workflows/release.yml)\n![Platform](https://img.shields.io/badge/platform-Android-blue)\n![Kavita](https://img.shields.io/badge/Kavita-nightly_0.8.8.15-orange)\n\n\u003cbr\u003e\n\n[//]: # ([![Inkita Stable]\u0026#40;https://img.shields.io/github/release/dom-53/Inkita.svg?maxAge=3600\u0026label=Stable\u0026labelColor=06599d\u0026color=043b69\u0026#41;]\u0026#40;https://github.com/dom-53/Inkita/releases\u0026#41;)\n[![Inkita Preview](https://img.shields.io/github/v/release/dom-53/Inkita.svg?maxAge=3600\u0026label=Preview\u0026labelColor=2c2c47\u0026color=1c1c39\u0026include_prereleases)](https://github.com/dom-53/Inkita/releases)\n\n\n\u003c/div\u003e\n\n---\n\n## Overview\n\nInkita is a Kotlin/Jetpack Compose Android app to browse and read from your Kavita server. It aims for fast navigation, a clean reader, and tight API integration (collections, progress, metadata).\n\n**Tech:** Kotlin, Jetpack Compose (Material 3), Retrofit/OkHttp, WorkManager, Room/DataStore.\n**Formats:** EPUB (primary); other formats planned.\n**Status:** Preview (0.x); APIs and UI may change.\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ca href=\"https://github.com/dom-53/Inkita/blob/master/.github/assets/inkita-prew.png\"\u003e\n    \u003cimg src=\"./.github/assets/inkita-prew.png\" alt=\"Inkita logo\" title=\"Inkita logo\" width=\"160\"/\u003e\n\u003c/a\u003e\n\n\u003c/div\u003e\n\n---\n\n## Features\n\n- Browse libraries, collections, tags, genres with filters.\n- Series detail with covers, metadata, tags, related items, specials.\n- Reader with progress sync, offline mode, downloaded page handling, “delete after reading” depth.\n- Downloads: queue, per-volume/page downloads; foreground notifications via a shared manager.\n- Network-aware: connectivity monitor, offline toggle, WorkManager constraints.\n- Update check: fetches `updates.json` (preview/stable channels) and can download a new APK.\n\n---\n\n## Download\n\n- **Preview** (alpha/beta): universal APKs are published in [Releases](https://github.com/dom-53/Inkita/releases).\n- **Update feed:** `https://dom-53.github.io/Inkita/updates.json` (app uses it for update checks).\n- **Stable:** not published yet (0.x).\n\n---\n\n## Connecting to your Kavita server\n\nInkita ships without any preset server configuration. After the first launch:\n\n1. Open **Settings → Kavita**.\n2. Fill in your server URL credentials and your Kavita API key.\n3. Save the configuration and restart app; the app will then authenticate and sync your libraries.\n\nWithout these details the app cannot reach your server, so make sure to keep them up to date (especially when rotating API keys).\n\n---\n\n## Getting Started (dev)\n\n1. **Prereqs:** Android Studio Giraffe+, JDK 17.\n2. **Configure Kavita:** In-app settings → set server URL and API key.\n3. **Run:** `./gradlew assembleDebug` or launch from Android Studio (preview/release buildTypes available).\n\n\u003e Requires your own Kavita server; no content is bundled.\n\n---\n\n## Contributing\n\nContributions are welcome (bugfixes, UX polish, docs). Please:\n- Keep changes Compose-friendly and minimal.\n- Align with Kavita API contracts.\n- Add concise comments only where needed.\n- Before opening an issue, check if it already exists.\n- Before opening a PR, run `./gradlew detekt spotlessApply`.\n\n## Help Translate\n- Contribute translations on [POEditor](https://poeditor.com/join/project/XLBygoGhOX)\n\n## Logs / Debug\n- You can export or save anonymized logs from **Settings → Advanced → Logs**; saved zips are written to `Documents/Inkita/logs`.\n- Sensitive data (host/IP/API key) is anonymized in log files and exports.\n- For bug reports: enable **Verbose logging**, reproduce the issue, then attach the exported ZIP to your issue/report.\n\n---\n\n## Support\n\nIf you find Inkita useful, you can support development on Ko-fi: https://ko-fi.com/dom53\n\n---\n\n## Disclaimer\n\nInkita is an unofficial community project, not affiliated with the Kavita team. Use at your own risk; APIs and behavior may change in 0.x releases.\n\n---\n\n## Note from the author\n\nThis is my first Android app in Kotlin; parts of the code may not be perfectly optimized yet. I’m steadily improving and refactoring to get it into the best shape possible. Thanks for your patience and feedback!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdom-53%2FInkita","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdom-53%2FInkita","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdom-53%2FInkita/lists"}