Skip to content
jdluuPublic

About

Cross-platform OPDS catalog client: browse, verify, and download e-books into an offline library.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

ShelfSync

Platforms Tauri Rust React License

ShelfSync is a cross-platform app for browsing, downloading, and managing your e-book library from a remote catalog. Connect to an OPDS-compatible server (such as Grimmory), download books with integrity verification, and keep your library available offline on desktop or Android.

ShelfSync is not an e-reader — it gets verified books onto your device. Open them with your favorite reading app (we recommend Leafline).

Note

ShelfSync is at v0.0.2, an early pre-release under active development. Interfaces and behavior may change between releases.

Screenshots

Connect your shelf — point ShelfSync at any OPDS catalog:

Connect screen in the paper theme

Browse and download — cover-forward cards with serif titles, live download progress, and offline library states:

Paper (light) Lamplight (dark)
Catalog in paper theme Catalog in lamplight theme

Features

  • OPDS catalog browsing — navigate, search, and paginate remote catalogs with authenticated access (HTTP Basic Auth, scoped to the configured server).
  • Verified downloads — downloads are staged as .part files, hash-checked, and renamed atomically so you never end up with corrupt books. Bulk syncs run with bounded parallelism and live per-book progress ("X of Y").
  • Offline library management — every publication tracks its state (complete / downloading / failed / unavailable / superseded), with explicit reconciliation against the catalog. Your files are never deleted automatically.
  • Secure credentials — on Android, OPDS account passwords are encrypted with a non-exportable key held in the Android Keystore; on desktop they stay in memory only.
  • E-Ink friendly UI — a fast React interface with grouped browsing by series, author, tag, or date added; keyboard accessible and screen-reader labeled.
  • Usability-driven feedback (NN/g Heuristics) — real-time progress percentage, contextual error diagnostics with actionable recovery tips, in-flight download cancellation controls, and focus-trapped dialogs.
  • Extensible Format Architecture — SOLID principles with an Open-Closed format registry for scalable acquisition media types, HTML synopsis sanitization, and URL normalization.

Installation

Android (Obtainium)

Add to Obtainium

Tap the badge on your Android device with Obtainium installed, or add the source URL manually: https://github.com/jdluu/ShelfSync

You can also sideload the APK from the v0.0.2 pre-release (app-universal-release.apk, a universal build for all supported ABIs).

Desktop

Download the installer for your platform from the v0.0.2 pre-release:

  • Windows: ShelfSync_0.0.2_x64-setup.exe (installer) or ShelfSync_0.0.2_x64_en-US.msi
  • Linux: ShelfSync_0.0.2_amd64.AppImage (portable, no install needed) or ShelfSync_0.0.2_amd64.deb

These are pre-release builds of an early version. You can also build from source. See CHANGELOG.md for release history.

No special permissions are required on Android beyond network access; downloads live in the app's private storage (you can point them at your Documents folder from the in-app storage picker).

Building from source

Prerequisites: Rust (stable), Node.js LTS + pnpm, the Tauri prerequisites for your platform (e.g. libwebkit2gtk on Linux, MSVC Build Tools on Windows), and optionally the Infisical CLI plus the Android NDK for Android builds.

git clone https://github.com/jdluu/ShelfSync.git
cd ShelfSync
pnpm install
pnpm tauri dev      # run the desktop app in development mode
pnpm tauri build    # production build for your OS
pnpm build:android  # Android build (requires Infisical secrets + NDK)

For Android builds, authenticate with Infisical and fetch signing secrets first:

infisical login
pnpm secrets:fetch

License

MIT

About

Cross-platform OPDS catalog client: browse, verify, and download e-books into an offline library.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages