@kentcdodds/audible
Personal Audible library app — browser re-auth, library, wishlist, NAS archive stub.
- Integrations
- audible
- audiobooks
- library
- wishlist
- aaxc
- archive
- openaudible
- personal-archive
- pkce
- openid
- pwa
- app
- Version
- 1.1.0
- License
- Published
- September 12, 2026
- Pinned commit
954baab- Rating
- No ratings yet
- Forks
- 1
- Adaptation effort
- —
README
Agent docs@kentcdodds/audible
Intent
Give Kent / Patch a fork-ready Kody package (and phone-first package app) that
talks to Audible’s unofficial API so owned titles can be inventoried and prepared
for a personal archive — without needing OpenAudible or audible-cli on the
machine for day-to-day re-auth. Success means: open the app → Amazon OpenID+PKCE
login → paste the maplanding URL → audibleAuth is persisted; then browse
library/wishlist and stage NAS archive later. This package archives owned
titles only. Conversion and NAS/Dropbox writes stay out of scope until home
connector tools are ready (./archive-to-nas shows a friendly pending state).
Share this package as https://kody.codes/@kentcdodds/audible
What it does
- Phone-first package app: Connect, Library, Wishlist, Archive
- Browser Amazon OpenID + PKCE + virtual device registration (TypeScript port of mkb79/Audible login/register — no AGPL Python vendored)
- ADP sign-request auth in pure TypeScript / WebCrypto
- Auto-refresh access tokens from
refresh_tokenwhen present - Import OpenAudible / audible-cli JSON still supported via
fromAuthFile - List / search library, wishlist add/remove, AAXC license metadata
- Auth readiness without leaking secrets (
./auth-status)
Connect (human playbook)
- Open the hosted package app (publish response
hosted_app_url, or Open app on the package page) → Connect tab. - Pick locale (default US) → Connect Audible → finish Amazon login (CAPTCHA / 2FA stay in Amazon’s UI). You may need credentials twice.
- Amazon lands on
…/ap/maplanding?…&openid.oa2.authorization_code=…(404/error page is expected). - Paste that full URL into the app → Finish connect.
- The package registers a virtual Audible device, builds audible-cli-compatible
auth JSON, and saves it with
secretSetasaudibleAuth(prefers package-scoped; falls back to user + setup URL if denied). - Re-auth only when the device is invalidated or the secret is cleared — access tokens refresh automatically.
Agent / export equivalent:
kody:@kentcdodds/audible/start-auth→{ locale? }→{ loginUrl, authSessionId }kody:@kentcdodds/audible/complete-auth→{ redirectUrl, authSessionId? }→{ ok, authStatus }(never returns secret values)
Manual paste fallback (if secretSet is denied):
Approve the listed api.audible.* / api.amazon.* hosts for that secret.
App tabs
| Tab | What you get |
|---|---|
| Connect | Locale picker, Amazon login, paste maplanding URL, auth chip |
| Library | Searchable owned titles (cover when available, progress), reload / pull-to-refresh |
| Wishlist | List + add/remove by ASIN |
| Archive | Per-title Save to NAS → friendly pending until home MCP convert tools land |
Done when
- Browser connect (or imported auth) leaves
./auth-statuswithsigningReady: true - App Library lists owned titles without printing tokens
- Wishlist mutations work; Archive shows pending (not a hard dead-end)
- Re-auth is rare thanks to refresh_token
Branding
Official Audible orange soundmark paths from the Simple Icons
Audible entry (#F8991C). Audible® is a trademark of Amazon.com, Inc. or its
affiliates. This package is not affiliated with or endorsed by Amazon or Audible.
Docs
- Authorization (external browser)
- Authentication
- mkb79/Audible (reference only — not vendored)
Report this listing
Log in to report this listing.