Skip to content
← Public packages

@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
—

@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_token when 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)

  1. Open the hosted package app (publish response hosted_app_url, or Open app on the package page) → Connect tab.
  2. Pick locale (default US) → Connect Audible → finish Amazon login (CAPTCHA / 2FA stay in Amazon’s UI). You may need credentials twice.
  3. Amazon lands on …/ap/maplanding?…&openid.oa2.authorization_code=… (404/error page is expected).
  4. Paste that full URL into the app → Finish connect.
  5. The package registers a virtual Audible device, builds audible-cli-compatible auth JSON, and saves it with secretSet as audibleAuth (prefers package-scoped; falls back to user + setup URL if denied).
  6. 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):

https://kody.codes/account/secrets/new?name=audibleAuth&description=Audible%20device%20auth%20JSON%20(browser%20OpenID%2BPKCE%20%2F%20audible-cli)&allowedHosts=api.audible.com,api.audible.co.uk,api.audible.de,api.audible.fr,api.audible.ca,api.audible.it,api.audible.com.au,api.audible.in,api.audible.co.jp,api.audible.es,api.audible.com.br,api.amazon.com,api.amazon.co.uk,api.amazon.de,api.amazon.fr,api.amazon.ca,api.amazon.it,api.amazon.com.au,api.amazon.in,api.amazon.co.jp,api.amazon.es,api.amazon.com.br&scope=user

Approve the listed api.audible.* / api.amazon.* hosts for that secret.

App tabs

TabWhat you get
ConnectLocale picker, Amazon login, paste maplanding URL, auth chip
LibrarySearchable owned titles (cover when available, progress), reload / pull-to-refresh
WishlistList + add/remove by ASIN
ArchivePer-title Save to NAS → friendly pending until home MCP convert tools land

Done when

  • Browser connect (or imported auth) leaves ./auth-status with signingReady: 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

Report this listing

Log in to report this listing.