kingstacker/Kkindle

一款win、linux、mac下使用的墨水屏管理软件,支持书籍阅读管理、设备管理等功能

C#

60

289 commits

updated Oct 5, 2026

See the code

README

Kkindle

Release Latest release

Official website

简体中文 · English

Kkindle is a quiet, cross-platform ebook and Kindle manager built with Avalonia. It combines a local library, reading, annotations, AI assistance, format conversion, and Kindle transfer in one desktop app.

Kkindle library

Features

  • Library — Import EPUB, PDF, MOBI, AZW3, and TXT; TXT encoding and chapter/volume headings are detected automatically and converted to EPUB without Calibre. Manage metadata, covers, tags, collections, search, and reading status.
  • Kreader — Open EPUB, PDF, and DRM-free AZW3 in the app; AZW3 uses the built-in KF8 reader without Calibre. Paginated or scrolling reading, table of contents, bookmarks, search, annotations, typography settings, reading progress, and Windows read-aloud.
  • PDF reading — First-page library covers, continuous scrolling, single-page and two-page reading, fit-width/page controls, sharp zoom and 90° rotation. Supports selectable text, six underline/highlight styles, editable comments, and page annotations at arbitrary PDF positions through the page-note icon or right-click. Pages appear before full-book text indexing finishes; only visible regions are rendered at the screen's pixel density. Search, bookmarks and reading position use the same local reading data as EPUB. Scanned pages support viewing and page notes; OCR is not included.
  • AI assistant — Ask questions about the current book, summarize chapters, explain selections, and choose from discovered models through DeepSeek, OpenAI, or compatible endpoints. Requests use relevant local excerpts only.
  • Kindle — Detect USB/WPD/MTP devices, transfer books, manage fonts and dictionaries, and import My Clippings.txt.
  • Tools and sync — Calibre conversion, local backups, encrypted credentials, and optional S3 / WebDAV synchronization.

Download

Download the latest Windows, Linux, or macOS package from the official site; it automatically selects the latest stable release.

Backup download: GitHub Releases.

Calibre is required separately for format conversion. macOS packages are available, but target-device validation is still in progress.

Cloud sync

Choose S3 or WebDAV in Settings → Data & sync → Cloud sync, enter the connection details, and select Save settings. Both providers retain their own addresses and credentials. Manual, startup, exit, and scheduled sync use the saved selection.

For WebDAV, enter the URL of an existing directory, such as https://dav.example.com/dav/, and credentials if required. Some services require an app password. Kkindle creates a sync subdirectory named kkindle by default; change it in Advanced options. The connection test verifies read/write access and removes its test file. The server must support standard PROPFIND, MKCOL, GET, PUT, MOVE, and DELETE operations. Completed uploads are published with MOVE so interrupted transfers do not replace existing snapshots.

The sync subdirectory, encryption, scheduling, and transfer options are shared between providers. Devices syncing the same directory need the same encryption key; use a new subdirectory when changing keys. Connection profile exports include only the selected provider's credentials. Existing .kkindle-s3.json profiles remain supported; WebDAV profiles use .kkindle-webdav.json. Local backups exclude connection passwords and encryption keys.

Run from source

Requires .NET SDK 10.0.400.

dotnet restore Kkindle.sln
dotnet build Kkindle.sln -p:Platform=x64
dotnet test Kkindle.sln --no-build -p:Platform=x64
# Run the slow regression suite explicitly before a release
dotnet test Kkindle.sln --no-build -p:Platform=x64 -p:RunSlowTests=true
dotnet run --project src\Kkindle.Desktop.Windows\Kkindle.Desktop.Windows.csproj -p:Platform=x64

The default test run skips expensive UI, rendering, and GC-stress cases while keeping core, platform, device, and a small UI smoke set. The skipped tests remain in the repository and can be enabled with RunSlowTests=true.

Linux also requires WebKitGTK and Secret Service. See cross-platform notes for Linux and macOS commands.

Referenced technologies

Acknowledgments

  • Community: LINUX DO
  • Public-service site: any

License

GPL-3.0 License. Third-party components and bundled fonts retain their own licenses.

ai
calibre
ebook
ebook-downloader
ebook-manager
epub
kindle

kingstacker/Kkindle

一款win、linux、mac下使用的墨水屏管理软件,支持书籍阅读管理、设备管理等功能

C#

60

289 commits

updated Oct 5, 2026

See the code

README

Kkindle

Release Latest release

Official website

简体中文 · English

Kkindle is a quiet, cross-platform ebook and Kindle manager built with Avalonia. It combines a local library, reading, annotations, AI assistance, format conversion, and Kindle transfer in one desktop app.

Kkindle library

Features

  • Library — Import EPUB, PDF, MOBI, AZW3, and TXT; TXT encoding and chapter/volume headings are detected automatically and converted to EPUB without Calibre. Manage metadata, covers, tags, collections, search, and reading status.
  • Kreader — Open EPUB, PDF, and DRM-free AZW3 in the app; AZW3 uses the built-in KF8 reader without Calibre. Paginated or scrolling reading, table of contents, bookmarks, search, annotations, typography settings, reading progress, and Windows read-aloud.
  • PDF reading — First-page library covers, continuous scrolling, single-page and two-page reading, fit-width/page controls, sharp zoom and 90° rotation. Supports selectable text, six underline/highlight styles, editable comments, and page annotations at arbitrary PDF positions through the page-note icon or right-click. Pages appear before full-book text indexing finishes; only visible regions are rendered at the screen's pixel density. Search, bookmarks and reading position use the same local reading data as EPUB. Scanned pages support viewing and page notes; OCR is not included.
  • AI assistant — Ask questions about the current book, summarize chapters, explain selections, and choose from discovered models through DeepSeek, OpenAI, or compatible endpoints. Requests use relevant local excerpts only.
  • Kindle — Detect USB/WPD/MTP devices, transfer books, manage fonts and dictionaries, and import My Clippings.txt.
  • Tools and sync — Calibre conversion, local backups, encrypted credentials, and optional S3 / WebDAV synchronization.

Download

Download the latest Windows, Linux, or macOS package from the official site; it automatically selects the latest stable release.

Backup download: GitHub Releases.

Calibre is required separately for format conversion. macOS packages are available, but target-device validation is still in progress.

Cloud sync

Choose S3 or WebDAV in Settings → Data & sync → Cloud sync, enter the connection details, and select Save settings. Both providers retain their own addresses and credentials. Manual, startup, exit, and scheduled sync use the saved selection.

For WebDAV, enter the URL of an existing directory, such as https://dav.example.com/dav/, and credentials if required. Some services require an app password. Kkindle creates a sync subdirectory named kkindle by default; change it in Advanced options. The connection test verifies read/write access and removes its test file. The server must support standard PROPFIND, MKCOL, GET, PUT, MOVE, and DELETE operations. Completed uploads are published with MOVE so interrupted transfers do not replace existing snapshots.

The sync subdirectory, encryption, scheduling, and transfer options are shared between providers. Devices syncing the same directory need the same encryption key; use a new subdirectory when changing keys. Connection profile exports include only the selected provider's credentials. Existing .kkindle-s3.json profiles remain supported; WebDAV profiles use .kkindle-webdav.json. Local backups exclude connection passwords and encryption keys.

Run from source

Requires .NET SDK 10.0.400.

dotnet restore Kkindle.sln
dotnet build Kkindle.sln -p:Platform=x64
dotnet test Kkindle.sln --no-build -p:Platform=x64
# Run the slow regression suite explicitly before a release
dotnet test Kkindle.sln --no-build -p:Platform=x64 -p:RunSlowTests=true
dotnet run --project src\Kkindle.Desktop.Windows\Kkindle.Desktop.Windows.csproj -p:Platform=x64

The default test run skips expensive UI, rendering, and GC-stress cases while keeping core, platform, device, and a small UI smoke set. The skipped tests remain in the repository and can be enabled with RunSlowTests=true.

Linux also requires WebKitGTK and Secret Service. See cross-platform notes for Linux and macOS commands.

Referenced technologies

Acknowledgments

  • Community: LINUX DO
  • Public-service site: any

License

GPL-3.0 License. Third-party components and bundled fonts retain their own licenses.

ai
calibre
ebook
ebook-downloader
ebook-manager
epub
kindle