Skip to content

Instantly share code, notes, and snippets.

@ping
Last active September 16, 2025 14:02
Show Gist options
  • Select an option

  • Save ping/b58ae66359691db1d08f929a9e57a03d to your computer and use it in GitHub Desktop.

Select an option

Save ping/b58ae66359691db1d08f929a9e57a03d to your computer and use it in GitHub Desktop.
Bookmarklet to add download links for audiobooks in the Overdrive loans page
/* 1. Paste this entire gist over at https://mrcoles.com/bookmarklet/ to generate a bookmarklet */
/* 2. Use a meaningful Name like: 🎧 📖 Links */
/* 3. Drag the generated bookmarklet link to your Bookmarks Toolbar. */
/* 4. Click on the bookmarklet when you're on the Overdrive loan page, e.g. https://yourlibrary.overdrive.com/account/loans */
/* 5. The "Download MP3 audiobook" link should appear like it used to. */
$('a[data-format-id="audiobook-overdrive"]').each(function() {
var listenBtn = $(this);
if (listenBtn.hasClass('script-added')) {
listenBtn.remove();
return;
}
var dlBtn = listenBtn.clone();
dlBtn.attr('class', 'loan-button-nonkindle button radius primary downloadButton script-added');
dlBtn.attr('href', dlBtn.attr('href').replace('/audiobook-overdrive/', '/audiobook-mp3/'));
dlBtn.html('<b>Download</b><br/><span class="dl-text">MP3 audiobook</span>');
dlBtn.attr('target', '');
listenBtn.parent().append(dlBtn);
});
@mekler22
Copy link

Easier to download audiobooks from Libby with chrome/opera addons such as Tampermonkey + LibreGRAB
Works like a charm.

@GitMayday-col
Copy link

Love Tampermonkey. Almost as fast as when we could direct download from Overdrive.

@vcalv
Copy link

vcalv commented Sep 15, 2025

Do you get chapters and metadata?

@GitMayday-col
Copy link

Do you get chapters and metadata?

https://github.com/PsychedelicPalimpsest/LibbyRip Read down to the "how to" and "bakeMeyaData.py" part.

@vcalv
Copy link

vcalv commented Sep 16, 2025

Thanks.

I didn't know that project.

I have my own (private) solution that works for me.
It implies a minimum of manual intervention but it works, including metadata (with only second time resolution though).

From what I've read of that python code, the monkey script is the one that does the heavy lifting.

I'll definitely have a look

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment