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.
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 |
audiobook.mp4
- 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
- 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
- Local network:
Download the latest APK from Releases and sideload it, or build from source below.
(Or add it to your Obtainium/ObtainX)
git clone https://github.com/Star-Trowa/StarBookOrbit.git
cd StarBookOrbit
./gradlew assembleRelease- Open Orbit — enter your BookOrbit server URL on first launch
- Tap Connect — your library opens full screen
- 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.
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".
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
- 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
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.
MIT — do whatever you want with it.
If my themes made your keyboard a little nicer, consider supporting my work:
- GitHub Sponsors: Sponsor @Star-Trowa
- Ko-fi: ko-fi.com/Star_Trowa
Please star this project of it helped you :)








