The docs drifted behind three changes: the /queues + /bookmarks + /captures split folding into one /crabidy provider, three providers arriving (soundcloud, jamendo, abs) with nothing written about them, and the spectrum toggle moving off v to f when library visual mode took v/V. - The book gains a page per undocumented provider — /soundcloud, /jamendo, /abs — each with its tree, its playback path, every config option, and how to log in. The providers index and intro list all nine roots in the order the server actually serves them. - Every provider now documents its login: Tidal's device flow (and that a broken tidaly.toml is the one fatal provider config), audiobookshelf API keys, the optional SoundCloud token and where to read it out of a browser, YouTube cookie exports, Jamendo's shipped key, and "nothing to do" for fyyd and /fs. - fsdy's README described three server-managed mounts under ~/.config/crabidy that have not existed for a while; it now describes /crabidy over the state dir plus the shared content store, and how deletes there never touch store audio. - Stale /captures/<name> save paths in the tidaldy and ytdy READMEs are /crabidy/<name>. The TUI key table, the README walkthrough, and the spectrum section use f, and visual mode (v/V) is documented. - config.md and the README list all seven provider config files, say plainly that credentials are stored in cleartext, and cover the audio output device; the CLI page documents audio-devices and features. - No README or docs page references architecture/, quality/, or plan/ any more: the book describes the system as it is, and points at the crate READMEs for usage and config. - devenv-docs.nix was never committed even though devenv.nix imports it, so a fresh clone could not enter the shell at all. It is in now, which also makes the README's `devenv shell -- docs` work. Also fixes two ./store.md links in providers/fs.md that pointed one directory too shallow. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| tests | ||
| Cargo.toml | ||
| README.md | ||
README.md
absdy — audiobookshelf provider
Mounts a self-hosted audiobookshelf (ABS)
server at /abs, so you can browse, search, and play your audiobooks from
crabidy. Audiobooks only for now — podcast libraries on the ABS server are
not listed.
Logging in
The provider needs your server URL and an API key; without both, /abs
does not mount (the rest of the server is unaffected).
- Open the audiobookshelf web UI as the user whose libraries you want.
- Settings → Users → (your user) → API Keys (older versions: Settings → API Keys) and create a key.
- Put it in
abs.toml(below) and restart the server.
There is no interactive login and no token to refresh — the API key is a long-lived bearer token. Revoke it in the same screen to cut access.
Configuration — ~/.config/crabidy/abs.toml
# Required.
base_url = "https://audiobookshelf.example.com"
api_key = "<your audiobookshelf API key>"
# Optional (defaults shown).
items_per_library = 200 # books listed per library
search_results = 50 # books listed per search term
call_timeout_secs = 30 # per-request timeout
The key is a secret: it is redacted from logs and never printed, but keep
abs.toml private anyway (it is stored in cleartext).
The library tree
/abs
└── <library> one node per "book" library
├── search create a search term with `%`
│ └── <term> books matching the term
│ └── <book> the book's audio files as tracks
└── <book> an audiobook; its files are tracks
└── <file> a track (one audio file)
- A library lists its books plus a creatable
searchnode. Search is per-library — a term created under one library does not appear under another. - A book lists its audio files as tracks; queue or capture (
W) the whole book, or a single file. An ebook-only item (no audio) is shown but is not queueable. - Podcast libraries are not shown (audiobooks only, for now).
Notes
- Playback streams each file directly from ABS with a per-file token URL and HTTP range requests — no transcoding session.
- Listings are capped (see the config) and fetched fresh; only your typed search terms are remembered, in memory, until the server restarts.
- Many audiobookshelf libraries store Opus audio, which needs the server's
opuscargo feature (on by default). - Build the server without the
abscargo feature to leave this provider out of the binary entirely.