|
|
#1 |
|
Junior Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8
Karma: 66746
Join Date: Apr 2026
Device: yes
|
New OPDS client for Pocketbook
I wanted something to make it easier to download books directly from my Pocketbook reader.
I tried enabling the built in OPDS support. I couldn't get it to authenticate to me Calibre-Web server, I suppose it was disabled for a reason. ![]() I just so happened I had to subscribe to Gemini Pro for work so decided to do something more useful than work during my trial So after a couple weeks vibe coding I have built a native OPDS client using the C SDK.It’s just a single .app file you drop into the device's applications folder via USB. It will then create the directory it needs in the application folder to store configuration and cache. It connects directly to OPDS servers (like Calibre-Web, or Project Gutenberg) and downloads the files straight to your storage. It supports pretty much all the native formats. I mainly built it to fix a few annoyances I had with browsing on an e-reader. It has a search feature and It has the option to show thumbnails or not in the catalog views, it caches book covers locally so it doesn't hammer the server, and reverses the screen where you tap something so you aren't left wondering if the device registered your touch. If anyone else finds this useful, the source code and the compiled release are up here: https://github.com/j2robin/Pocketbook-OPDSClient I tried to make it as robust as possible but have only been able to test it on Pocketbook Era and Inkpad Color 3. I did make the UI scale proportionally to whatever resolution the device reports but haven't been able to test on anything like the verse or older readers. I hope it proves useful to you as well. Let me know if you run into any weird bugs with your specific setups. Last edited by j2robin; 04-08-2026 at 11:22 PM. |
|
|
|
|
|
#2 |
|
0000000000101010
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 5,938
Karma: 12984859
Join Date: Mar 2023
Location: An island off the coast of Ireland
Device: PB632 [HD3]
|
Would it be feasible to add some demo catalogs like Project Gutenberg and the Internet Archive so new users can be up and running immediately?
And do you think you could get the app to respect dark mode? Would it be feasible to have the option of increasing icon size? The cover images are very small in list view, before you click on a specific book. Nice work though! I think this may be a great solution for those that find Koreader too cumbersome and cannot enable OPDS within the Pockebook Library. |
|
|
|
|
|
#3 | |
|
Junior Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8
Karma: 66746
Join Date: Apr 2026
Device: yes
|
Quote:
I had thought about the thumbnail size myself but went with the 10 per page as a nice number per page. I will give it another look may be make it configurable by adjusting the rows per page and scaling appropriately. I do have an idea what to do for the config file and still stay with a single file install. |
|
|
|
|
|
|
#4 |
|
0000000000101010
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 5,938
Karma: 12984859
Join Date: Mar 2023
Location: An island off the coast of Ireland
Device: PB632 [HD3]
|
Regarding dark mode: https://github.com/orontee/taranis/issues/98
|
|
|
|
|
|
#5 |
|
Guru
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 852
Karma: 694086
Join Date: Sep 2013
Device: EnergySistemEreaderPro, Nook STG, Pocketbook 622, Bookeen Cybooks ...
|
Thanks for that app.
2 Questions: 1) Where is the app storing its settings? 2) Can someone share please some settings with a list of open OPDS sources? |
|
|
|
|
|
#6 |
|
Guru
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 852
Karma: 694086
Join Date: Sep 2013
Device: EnergySistemEreaderPro, Nook STG, Pocketbook 622, Bookeen Cybooks ...
|
Just tested it. Was working really fast with the one server I tried. But it forgot my settings which was quite a disappointmend.
|
|
|
|
|
|
#7 | |
|
Junior Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8
Karma: 66746
Join Date: Apr 2026
Device: yes
|
Quote:
Odd that it forgot your settings. Anyway I am working on it today and will be touching the file save logic anyway to key value based instead of saving a binary struct. I thought I had already moved the savefile to the application folder alongside the images folder it uses for thumbnails but it seems that isn't what I checked in. I will move the save file location in the next version. I will have to have code for the format conversion anyway. |
|
|
|
|
|
|
#8 |
|
Junior Member
![]() Posts: 1
Karma: 10
Join Date: Apr 2026
Device: PocketBook Color 3
|
This is awesome! Been using the KOReader OPDS but its very klunky.
Would it be possible to add a "Download All" or be able to download a selection? Use case being comics/manga where you could have tens/hundreds of chapters/issues you want to download to have before say getting on a plane. |
|
|
|
|
|
#9 |
|
Junior Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8
Karma: 66746
Join Date: Apr 2026
Device: yes
|
OK just merged some changes.
Moved the config file location. I think some devices might not have had write permission to system/config. It should migrate for you if you already have a config file. Worst case you may have to enter your server again. Config file is now key value instead of a binary stuct. Added Dark mode detection. Was more complicated than you would think. Anyway it is working on my Era. Added additional configuration at the server level to set the number of rows to display on the screen. Fewer rows = larger thumbnails. Also added line wrapping to the book titles. Thanks for the feedback everyone. Brognak, I will think about that one but it feels like there would be dragons there. Some of the folders could be very deep and you can't know how deep until the client crawls the entire depth. Currently the client only loads what is needed to display the latest section of the catalog retrieved and will go back for more if the user navigates past the end. |
|
|
|
|
|
#10 |
|
Junior Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 8
Karma: 66746
Join Date: Apr 2026
Device: yes
|
New Changes
Not sure what happened forum seemed to eat my Quick reply.
I just merged some changes. Moved config file to the applications/OPDSClient folder. If you already have one it will move it for you. Switched to key value instead of binary struct for the config file. Added Dark mode. This detection was a bit more difficult than I anticipated but it is now working on my Era. Added a new configuration at the server level to control the number of rows per page. Fewer rows = larger thumbnails. Brognak, I will think about that but it seems there might be dragons there. Some of the folders can be quite deep and the client doesn't know how deep unless it traverses the entire depth first (or is the result of a search) |
|
|
|
|
|
#11 |
|
Guru
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 852
Karma: 694086
Join Date: Sep 2013
Device: EnergySistemEreaderPro, Nook STG, Pocketbook 622, Bookeen Cybooks ...
|
Tested the new version from github. Thanks for that.
Got 2 OPDS server working, others not. For instance this is not working: https://manybooks.net/opds https://manybooks.net/opds/ http://srv.manybooks.net/opds/index.php but this is working: https://www.gutenberg.org/ebooks/search.opds/ Got some problem with the opds_client.cfg: 1) opds_client.cfg from previous was not converted to new version. 2) opds_client.cfg changed outside OPDSClient didn't show the changes in OPDSClient after resubmitting it (don't know what I did wrong, the version OPDSClient was creating seemed identical). What I'm missing is the ability, to open the downloaded epub directly in OPDSClient without having to go back to the library. Last edited by nhedgehog; 04-14-2026 at 07:58 AM. |
|
|
|
|
|
#12 |
|
Guru
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 852
Karma: 694086
Join Date: Sep 2013
Device: EnergySistemEreaderPro, Nook STG, Pocketbook 622, Bookeen Cybooks ...
|
Solved point 2:
2) opds_client.cfg changed outside OPDSClient didn't show the changes in OPDSClient after resubmitting it (don't know what I did wrong, the version OPDSClient was creating seemed identical). Solution: had to change opds_client.cfg.back for the changes to work. Is this intended or a bug? |
|
|
|
|
|
#13 | |
|
0000000000101010
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 5,938
Karma: 12984859
Join Date: Mar 2023
Location: An island off the coast of Ireland
Device: PB632 [HD3]
|
Quote:
You can make changes from the command line: Code:
iv2sh WriteConfig "/mnt/ext1/applications/OPDSClient/opds_client.cfg" "server_0_name" "Project Gutenberg" It would actually be useful to have these files more easily editable, therefore created and read outside of inkview and by C programming directly to avoid the hash obstacle. As the cfg is just a variable store this should be straightforward. What says you j2robin? You could also check if a cfg files exists, if not write a couple of server setups (Gutenberg and Internet Archive for example) to the cfg so they're ready from the get-go for first time use etc. Loving the new dark mode and row size options. Much better!
Last edited by neil_swann80; 04-16-2026 at 03:04 AM. |
|
|
|
|
|
|
#14 |
|
Guru
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 852
Karma: 694086
Join Date: Sep 2013
Device: EnergySistemEreaderPro, Nook STG, Pocketbook 622, Bookeen Cybooks ...
|
I didn't know. Just to be sure: what happens if a delete the back file after doing the changes to the cfg file without updating the hash?
|
|
|
|
|
|
#15 | |
|
0000000000101010
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 5,938
Karma: 12984859
Join Date: Mar 2023
Location: An island off the coast of Ireland
Device: PB632 [HD3]
|
Quote:
I can then make a minor change to any of the servers within the app to write the correctly hashed files, although it doesn't seem necessary. Last edited by neil_swann80; 04-14-2026 at 10:24 AM. |
|
|
|
|
![]() |
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| OPDS Client fails with calibre 5.38.0 | PiperKev | Plugins | 9 | 03-07-2022 11:40 AM |
| OPDS Client that will allow selection of format? | PiperKev | Plugins | 1 | 02-14-2021 01:42 AM |
| calibre as an OPDS client | cedhax | Related Tools | 1 | 07-19-2016 04:16 AM |
| OPDS Client? | Kudalufi | Calibre | 9 | 12-21-2012 01:59 AM |
| Touch OPDS client ??? | vlad59 | Kobo Reader | 7 | 12-04-2011 09:36 AM |