[Enhancement]: Support OPDS to allow eReaders to directly download books #1276

Open
opened 2026-04-24 23:38:08 +02:00 by adam · 21 comments
Owner

Originally created by @adamshand on GitHub (Jul 22, 2023).

Describe the feature/enhancement

It would be fabulous if Audiobookself supported OPDS.

OPDS is a simple, Atom based API which allows readers to browse and download books. It is supported by many readers including Aldiko, Moon, MapleRead, Marvin, FBReader etc and servers like Calibre Web and Jellyfin.

More information at: https://en.wikipedia.org/wiki/Open_Publication_Distribution_System

There is an extended version called OPDS-PS, which allows syncing of read progress between readers. Sadly, this currently only has very limited support.

https://wiki.kavitareader.com/en/faq/external-readers

Originally created by @adamshand on GitHub (Jul 22, 2023). ### Describe the feature/enhancement It would be fabulous if Audiobookself supported OPDS. OPDS is a simple, Atom based API which allows readers to browse and download books. It is supported by many readers including Aldiko, Moon, MapleRead, Marvin, FBReader etc and servers like Calibre Web and Jellyfin. More information at: https://en.wikipedia.org/wiki/Open_Publication_Distribution_System There is an extended version called OPDS-PS, which allows syncing of read progress between readers. Sadly, this currently only has very limited support. https://wiki.kavitareader.com/en/faq/external-readers
adam added the enhancementebooks labels 2026-04-24 23:38:08 +02:00
Author
Owner

@Budlyte commented on GitHub (Jul 23, 2023):

Does OPDS support syncing played status with the host? Every OPDS implementation I ever used with a comic server never synced the read status back with the server and was only stored in the client app.

@Budlyte commented on GitHub (Jul 23, 2023): Does OPDS support syncing played status with the host? Every OPDS implementation I ever used with a comic server never synced the read status back with the server and was only stored in the client app.
Author
Owner

@adamshand commented on GitHub (Jul 24, 2023):

OPDS-PS supports this.

@adamshand commented on GitHub (Jul 24, 2023): OPDS-PS supports this.
Author
Owner

@Jdiesel87 commented on GitHub (Aug 3, 2023):

Does OPDS support syncing played status with the host? Every OPDS implementation I ever used with a comic server never synced the read status back with the server and was only stored in the client app.

I don't know the specifics on the connection type and whether the sync in happening through OPDS but I am using Komga and Tachiyomi that supports read state and progress on the server side.

@Jdiesel87 commented on GitHub (Aug 3, 2023): > Does OPDS support syncing played status with the host? Every OPDS implementation I ever used with a comic server never synced the read status back with the server and was only stored in the client app. I don't know the specifics on the connection type and whether the sync in happening through OPDS but I am using Komga and Tachiyomi that supports read state and progress on the server side.
Author
Owner

@turnercore commented on GitHub (Sep 13, 2023):

I would love this feature, currently I have to use another self-hosted app pointing at the same library to use OPDS and it would be very nice to include this feature in this app. The built-in ereader is ok, but there's lots of nicer ereader and comic book readers that can take advantage of OPDS

@turnercore commented on GitHub (Sep 13, 2023): I would love this feature, currently I have to use another self-hosted app pointing at the same library to use OPDS and it would be very nice to include this feature in this app. The built-in ereader is ok, but there's lots of nicer ereader and comic book readers that can take advantage of OPDS
Author
Owner

@Budlyte commented on GitHub (Sep 13, 2023):

Does OPDS support syncing played status with the host? Every OPDS implementation I ever used with a comic server never synced the read status back with the server and was only stored in the client app.

I don't know the specifics on the connection type and whether the sync in happening through OPDS but I am using Komga and Tachiyomi that supports read state and progress on the server side.

Tachyomi<->Komga isn't OPDS, it uses Komga's API
I use that combo too, and it's great.

@Budlyte commented on GitHub (Sep 13, 2023): > > Does OPDS support syncing played status with the host? Every OPDS implementation I ever used with a comic server never synced the read status back with the server and was only stored in the client app. > > I don't know the specifics on the connection type and whether the sync in happening through OPDS but I am using Komga and Tachiyomi that supports read state and progress on the server side. Tachyomi<->Komga isn't OPDS, it uses Komga's API I use that combo too, and it's great.
Author
Owner

@KaiStarkk commented on GitHub (Nov 11, 2023):

Currently the gap is with the e-reader clients. A couple of them support OPDS-PS (like KoReader), but last I checked they don’t support downloading files, storing local progress, then synchronising later.

ABS’s API is wayy more feature rich than OPDS-PS.

The best solution at this point seems to be finding an ereader that runs Android, like the Boox. That way you can run audiobookshelf-app on e-ink natively. Interested to know if anyone has done this.

This is until either ABS creates an e-reader app, or other e-reader apps implement an Audiobookshelf integration.

Would love to see KoReader implement ABS.

@KaiStarkk commented on GitHub (Nov 11, 2023): Currently the gap is with the e-reader clients. A couple of them support OPDS-PS (like KoReader), but last I checked they don’t support downloading files, storing local progress, then synchronising later. ABS’s API is wayy more feature rich than OPDS-PS. The best solution at this point seems to be finding an ereader that runs Android, like the Boox. That way you can run audiobookshelf-app on e-ink natively. Interested to know if anyone has done this. This is until either ABS creates an e-reader app, or other e-reader apps implement an Audiobookshelf integration. Would love to see KoReader implement ABS.
Author
Owner

@DDriggs00 commented on GitHub (Feb 7, 2024):

If OPDS is implemented, I think it would be a good idea to implement OPDS-PS, since progress tracking (which OPDS does not support) is a key feature of Audiobookshelf.

@DDriggs00 commented on GitHub (Feb 7, 2024): If OPDS is implemented, I think it would be a good idea to implement OPDS-PS, since progress tracking (which OPDS does not support) is a key feature of Audiobookshelf.
Author
Owner

@turnercore commented on GitHub (Feb 8, 2024):

@KaiStarkk I have a Boox and tried ABS with it, and still found it to not be a great experience. I put everything in a folder structure that ABS likes as it is my main thing, and then I run Kavita on top of it which finds the ebooks and runs OPDS. Then I use the OPDS connection on Boox to get the ebooks. It's not as convenient as ABS, but the native ereader experience is so much better it's worth doing it that way, which is why having OPDS/OPDS-PS built in would be nice and something I'd always push for.

That said, if ABS had a nice enough ereader, or there was another app that used the ABS API, that would work too, although obviously not be as extensible. For an ABS ereader to compete with what is out there currently, it would need progress saving/syncing (ideally with the audiobook), notes/comments/highlight support, offline download support (very important), no motion or animations for the e-ink display, and probably some other features that a lot of ereader programs already have.

@turnercore commented on GitHub (Feb 8, 2024): @KaiStarkk I have a Boox and tried ABS with it, and still found it to not be a great experience. I put everything in a folder structure that ABS likes as it is my main thing, and then I run Kavita on top of it which finds the ebooks and runs OPDS. Then I use the OPDS connection on Boox to get the ebooks. It's not as convenient as ABS, but the native ereader experience is so much better it's worth doing it that way, which is why having OPDS/OPDS-PS built in would be nice and something I'd always push for. That said, if ABS had a nice enough ereader, or there was another app that used the ABS API, that would work too, although obviously not be as extensible. For an ABS ereader to compete with what is out there currently, it would need progress saving/syncing (ideally with the audiobook), notes/comments/highlight support, offline download support (very important), no motion or animations for the e-ink display, and probably some other features that a lot of ereader programs already have.
Author
Owner

@Budlyte commented on GitHub (Feb 8, 2024):

As an avid audiobook listener, that is thankful everyday for ABS, I wonder if there aren't already ebook server/managers out there. Is calibre not good? Or Kavita? Komga?

The rest of us had nothing but booksonic for years, and I'd hate for something that has an alternative to detract from ABS's primary goal.

@Budlyte commented on GitHub (Feb 8, 2024): As an avid audiobook listener, that is thankful everyday for ABS, I wonder if there aren't already ebook server/managers out there. Is calibre not good? Or Kavita? Komga? The rest of us had nothing but booksonic for years, and I'd hate for something that has an alternative to detract from ABS's primary goal.
Author
Owner

@KaiStarkk commented on GitHub (Feb 8, 2024):

As an avid audiobook listener, that is thankful everyday for ABS, I wonder if there aren't already ebook server/managers out there. Is calibre not good? Or Kavita? Komga?

The rest of us had nothing but booksonic for years, and I'd hate for something that has an alternative to detract from ABS's primary goal.

Ehh, telling people to go elsewhere is bound to raise hackles right, not a great angle.

The good thing is it's open source, so it's already democratic. The maintainer isn't a resource we're competing for, he'll do what he wants to do. If there's enough demand for other features, contributors can provide them.

@KaiStarkk commented on GitHub (Feb 8, 2024): > As an avid audiobook listener, that is thankful everyday for ABS, I wonder if there aren't already ebook server/managers out there. Is calibre not good? Or Kavita? Komga? > > The rest of us had nothing but booksonic for years, and I'd hate for something that has an alternative to detract from ABS's primary goal. Ehh, telling people to go elsewhere is bound to raise hackles right, not a great angle. The good thing is it's open source, so it's already democratic. The maintainer isn't a resource we're competing for, he'll do what he wants to do. If there's enough demand for other features, contributors can provide them.
Author
Owner

@KaiStarkk commented on GitHub (Feb 8, 2024):

@KaiStarkk I have a Boox and tried ABS with it, and still found it to not be a great experience. I put everything in a folder structure that ABS likes as it is my main thing, and then I run Kavita on top of it which finds the ebooks and runs OPDS. Then I use the OPDS connection on Boox to get the ebooks. It's not as convenient as ABS, but the native ereader experience is so much better it's worth doing it that way, which is why having OPDS/OPDS-PS built in would be nice and something I'd always push for.

That said, if ABS had a nice enough ereader, or there was another app that used the ABS API, that would work too, although obviously not be as extensible. For an ABS ereader to compete with what is out there currently, it would need progress saving/syncing (ideally with the audiobook), notes/comments/highlight support, offline download support (very important), no motion or animations for the e-ink display, and probably some other features that a lot of ereader programs already have.

Yeah it's great that Boox supports OPDS natively.

@KaiStarkk commented on GitHub (Feb 8, 2024): > @KaiStarkk I have a Boox and tried ABS with it, and still found it to not be a great experience. I put everything in a folder structure that ABS likes as it is my main thing, and then I run Kavita on top of it which finds the ebooks and runs OPDS. Then I use the OPDS connection on Boox to get the ebooks. It's not as convenient as ABS, but the native ereader experience is so much better it's worth doing it that way, which is why having OPDS/OPDS-PS built in would be nice and something I'd always push for. > > That said, if ABS had a nice enough ereader, or there was another app that used the ABS API, that would work too, although obviously not be as extensible. For an ABS ereader to compete with what is out there currently, it would need progress saving/syncing (ideally with the audiobook), notes/comments/highlight support, offline download support (very important), no motion or animations for the e-ink display, and probably some other features that a lot of ereader programs already have. Yeah it's great that Boox supports OPDS natively.
Author
Owner

@kabaga commented on GitHub (Apr 29, 2024):

This feature would be great thing to have especially if you have multiple devices.

@kabaga commented on GitHub (Apr 29, 2024): This feature would be great thing to have especially if you have multiple devices.
Author
Owner

@cutzenfriend commented on GitHub (Oct 24, 2024):

+1 for this. I would be able to ditch calibre-web and just use ABS for Audio and eBooks!

@cutzenfriend commented on GitHub (Oct 24, 2024): +1 for this. I would be able to ditch calibre-web and just use ABS for Audio and eBooks!
Author
Owner

@nerdpersonthing commented on GitHub (Nov 27, 2024):

+1 as well from me.

As an example, my use case is wanting to read books on an Android e-reader and have all of my read progress synchronized between devices and the server. ABS's built-in EPUB viewer is decent, but in my opinion it is not configurable enough, and has issues with gestures and animations (see https://github.com/advplyr/audiobookshelf-app/issues/800 and https://github.com/advplyr/audiobookshelf-app/issues/1398). Until the point where ABS works well on an e-ink display, I am using KOreader to read books locally, and Calibre's webserver to host an OPDS feed that KOreader can access (though it doesn't support OPDS-PS for syncing, and I'm considering switching to calibre-web or Kavita).

If ABS supported OPDS (and in particular, OPDS-PS, like Kavita does), it could replace pretty much all other ebook management software on my server side. Having a modern, open-source alternative to Calibre that properly supports syncing between devices would be a godsend.

@nerdpersonthing commented on GitHub (Nov 27, 2024): +1 as well from me. As an example, my use case is wanting to read books on an Android e-reader and have all of my read progress synchronized between devices and the server. ABS's built-in EPUB viewer is decent, but in my opinion it is not configurable enough, and has issues with gestures and animations (see https://github.com/advplyr/audiobookshelf-app/issues/800 and https://github.com/advplyr/audiobookshelf-app/issues/1398). Until the point where ABS works well on an e-ink display, I am using KOreader to read books locally, and Calibre's webserver to host an OPDS feed that KOreader can access (though it doesn't support OPDS-PS for syncing, and I'm considering switching to calibre-web or Kavita). If ABS supported OPDS (and in particular, OPDS-PS, like Kavita does), it could replace pretty much all other ebook management software on my server side. Having a modern, open-source alternative to Calibre that properly supports syncing between devices would be a godsend.
Author
Owner

@petr-prikryl commented on GitHub (Mar 3, 2025):

Hello I just released test version of OPDS server for audiobookshelf. Just now it supports no auth OPDS. I am planning to add OPDS-PS later. You can try it and tell me if there are any problems, i only tested epub and pdf files and both quite worked, but heavy pdfs had some issues with performance.

https://github.com/petr-prikryl/OPDS-ABS

@petr-prikryl commented on GitHub (Mar 3, 2025): Hello I just released test version of OPDS server for audiobookshelf. Just now it supports no auth OPDS. I am planning to add OPDS-PS later. You can try it and tell me if there are any problems, i only tested epub and pdf files and both quite worked, but heavy pdfs had some issues with performance. https://github.com/petr-prikryl/OPDS-ABS
Author
Owner

@b3nd1k commented on GitHub (Mar 12, 2025):

@petr-prikryl Am I correct in assuming that the OPDS-ABS connects directly to each user’s API? If I want to serve two different users, would I need to run two separate Docker containers, each with its own API key? It would be great if it was tied to the server and you authenticated with your ABS username and password.

@b3nd1k commented on GitHub (Mar 12, 2025): @petr-prikryl Am I correct in assuming that the OPDS-ABS connects directly to each user’s API? If I want to serve two different users, would I need to run two separate Docker containers, each with its own API key? It would be great if it was tied to the server and you authenticated with your ABS username and password.
Author
Owner

@petr-prikryl commented on GitHub (Mar 12, 2025):

Yes, for now. I will try to implement multiuser later this week for now it is only for one user.

@petr-prikryl commented on GitHub (Mar 12, 2025): Yes, for now. I will try to implement multiuser later this week for now it is only for one user.
Author
Owner

@programhlpr commented on GitHub (Apr 22, 2025):

I use pocketbook e-readers and their apps for page sync. I would be thrilled even to have a basic OPDS implementation where I could download books via OPDS to my devices. I prefer the audiobookshelf interface to Kavita and Calibre-web. It is a lot more polished.

@programhlpr commented on GitHub (Apr 22, 2025): I use pocketbook e-readers and their apps for page sync. I would be thrilled even to have a basic OPDS implementation where I could download books via OPDS to my devices. I prefer the audiobookshelf interface to Kavita and Calibre-web. It is a lot more polished.
Author
Owner

@petr-prikryl commented on GitHub (Apr 27, 2025):

I use pocketbook e-readers and their apps for page sync. I would be thrilled even to have a basic OPDS implementation where I could download books via OPDS to my devices. I prefer the audiobookshelf interface to Kavita and Calibre-web. It is a lot more polished.

Hello, we are making iprovements to support varius formats, search, categories and multiuser suppor via opds auth. Little bit more testing and we can push update

@petr-prikryl commented on GitHub (Apr 27, 2025): > I use pocketbook e-readers and their apps for page sync. I would be thrilled even to have a basic OPDS implementation where I could download books via OPDS to my devices. I prefer the audiobookshelf interface to Kavita and Calibre-web. It is a lot more polished. Hello, we are making iprovements to support varius formats, search, categories and multiuser suppor via opds auth. Little bit more testing and we can push update
Author
Owner

@GinSoakedBoy commented on GitHub (Jul 15, 2025):

update

Any updates on progress sync?

@GinSoakedBoy commented on GitHub (Jul 15, 2025): > update Any updates on progress sync?
Author
Owner

@frockett commented on GitHub (Jul 16, 2025):

I would also love an update on the OPDS implementation!

@frockett commented on GitHub (Jul 16, 2025): I would also love an update on the OPDS implementation!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#1276