Skip to content

Repository files navigation

Star-BookOrbit — BookOrbit Android Client

A clean, open-source Android client for your self-hosted BookOrbit library.

No browsers, tracking, ads, or accounts. Just your books. And a feature rich book reader.


Why Star-BookOrbit?

BookOrbit's web UI and the built-in reader is excellent — but opening it in a browser means living with tabs, address bars, and the browser stealing your back button. Star-BookOrbit wraps it in a proper Android app so it behaves like one.

Without Star BookOrbit With Star BookOrbit
Browser toolbar takes up screen space Full screen reading experience
Back button closes the tab Back navigates inside your library
Session mixed with browser cookies Isolated, always stays logged in
"Add to homescreen" still shows browser chrome Real app icon, real app. Works with http also if you are self-hosting (or using Tailscale, etc.)
Loses your server URL on browser clear Remembers your server permanently
Reading stats are not instant or reliable Built-in reading stats give complete, clean, in-depth details
Browser needs to be opened, your tab needs to be tracked by you Directly open your BookOrbit app and start browsing your books, low memory footprint
You've to use additional OPDS apps, where two way sync is not always possible Two-way sync is built in as you are using the BookOrbit built-in reader itself
Volume keys cannot be used for navigating between next and previous page Your device's hardware button, like mobile volume keys can be used to navigate the book

Screenshots

Start Page      Login Screen      Dashboard      Settings     


Refresh & Change Server Button      Ebook Preview Dark      Ebook Preview Light      Stats Page


audiobook.mp4


Features

  • Zero Browser Chrome: True edge-to-edge reading. No address bars, nor bottom navigation tabs.
  • HTTP, HTTPS & Tailscale Friendly: Bypasses standard PWA HTTPS restrictions, easily handling raw local IPs and custom ports.
  • Draggable Utility Button: A transparent, movable FAB that stays out of the way of your book text while giving you quick access to refresh or disconnect.
  • Encrypted Caching: Your server URLs and connection strings are secured locally using Android's EncryptedSharedPreferences.
  • Universal Compatibility: Built perfectly for BookOrbit, but naturally supports any responsive self-hosted media server (Kavita, Audiobookshelf, Komga) (Future Roadmap).
  • New!!! Use Volume keys to move between your ebook pages easily and ergonomically.
  • Remembers your BookOrbit server URL across restarts
  • Full Material Design 3 with dynamic color (Android 12+)
  • Zero telemetry, zero analytics, zero accounts
  • FOSS

Getting Started

Prerequisites

  • Android 8.0+ (API 26)
  • A running BookOrbit instance accessible from your phone (the url:port should be your own BookOrbit address)
    • Local network: http://192.168.x.x:8090
    • Remote (e.g. via Tailscale): http://100.x.x.x:8090
    • Public HTTPS (e.g. via Cloudflare or nginx): https://your-device.ts.net

Install

Download the latest APK from Releases and sideload it, or build from source below.

(Or add it to your Obtainium/ObtainX)

Build from source

git clone https://github.com/Star-Trowa/StarBookOrbit.git
cd StarBookOrbit
./gradlew assembleRelease

Usage (3 easy steps)

  1. Open Orbit — enter your BookOrbit server URL on first launch
  2. Tap Connect — your library opens full screen
  3. The small floating, translucent button gives you Refresh, Change server and Settings

Tip: Drag the button anywhere on screen to keep it out of the way when reading books

Note: If you use any proxy or VPN for your BookOrbit, make sure to turn it on before connecting in this app.


Troubleshooting

1. Audio pausing in the background?

Android's battery optimization might kill the app while you are listening with the screen off. To fix this:

  • In app, go to Settings > Battery
  • Update the battery settings to unrestricted

OR

  • Long-press the StarBookOrbit app icon and tap App Info (the ⓘ button).
  • Tap on App battery usage (or just Battery).
  • Change the setting from "Optimized" to "Unrestricted".

2. Volume keys not working to navigate the pages?

The setting need to be enabled first to turn pages using volume keys. To enable this:

  • In app, go to Settings > Navigate Ebook
  • Change the toggle to enable(or disable) navigation via the volume keys

Roadmap

  • Add option to navigate via tap besides swipe
  • [x] Use Volume keys to navigate the pages
  • Multiple saved server URLs
  • Theme override (force light/dark independent of system)
  • Support for Audiobookshelf and Kavita
  • F-Droid release

Contributing

PRs welcome. Please follow clean coding practices, and the existing architecture — SOLID principles, clean separation between data, domain, and presentation layers.

Also, try to aim for adding test coverage for the code added/edited.


License

MIT — do whatever you want with it.


Support

If my themes made your keyboard a little nicer, consider supporting my work:

Please star this project of it helped you :)

About

A clean, open-source Android client for your self-hosted BookOrbit library. No browsers. No tracking. No ads. No accounts. Just your books. And a feature rich book reader.

Topics

Resources

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Contributors

Languages