- C++ 62.4%
- QML 19.6%
- Python 10.8%
- Shell 3%
- CMake 2.6%
- Other 1.5%
| .vscode | ||
| 3rdparty | ||
| docs | ||
| icons | ||
| legal | ||
| qml | ||
| rpm | ||
| scripts | ||
| src | ||
| tests | ||
| translations | ||
| .env.template | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| CMakeLists.txt | ||
| flake.lock | ||
| flake.nix | ||
| harbour-audiobookfish.desktop | ||
| LICENSE | ||
| mise.toml | ||
| README.md | ||
Audiobookfish
Audiobookfish is a native Sailfish OS client for Audiobookshelf.
Features
- Connects directly to self-hosted Audiobookshelf servers
- Library and series browsing with cover caching
- Real-time listening progress synchronization
- Offline playback with local download management
- Media playback controls via Sailfish OS lockscreen and MPRIS
- Privacy-first: Direct device-to-server communication without intermediary servers
Screenshots
Screenshots from the Sailfish OS test emulator with synthetic demo data. Click a thumbnail to view the full-resolution image.
| Dashboard | Now Playing | Listening History |
|---|---|---|
| Library | Series | Chapter Switch |
|---|---|---|
Watch the MP4 tour · Media sources and reproduction steps
Build
Requires mise and the Sailfish OS SDK. The SDK build engine and emulator run on the host. See build setup for prerequisites. For releases, configure the local publisher details.
git submodule update --init --recursive
cp .env.template .env # Set your SDK path and target
mise trust
mise install
mise run dev:build # Build the RPM
mise run test # Qt unit tests
mise run dev:deploy # Install on the emulator
Optional: mise run vm starts the development MicroVM using
nix-dev-sandbox.
See VM setup. The SDK stays on the host.
Common Tasks
- Build RPM:
mise run dev:build - Deploy to Emulator:
mise run dev:deploy - Run tests:
mise run test - Update translations:
mise run lupdate - Run intake validation:
mise run check:harbour - Validate legal templates:
mise run check:legal
Configuration
Copy .env.template to .env and configure SDK paths and target:
SAILFISH_SDK_PATH=$HOME/SailfishOS
SAILFISH_SDK_TARGET=SailfishOS-5.1.0.11-i486
Publisher details for the legal documents (imprint and privacy policy) can be configured locally in legal/provider.local.json.
License
GNU General Public License v3.0 or later (GPL-3.0-or-later).
