Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Kobo sync] Do NOT append port to [OneStoreServices] group entries #2690

Closed
Stylback opened this issue Feb 12, 2023 · 2 comments
Closed

[Kobo sync] Do NOT append port to [OneStoreServices] group entries #2690

Stylback opened this issue Feb 12, 2023 · 2 comments
Labels

Comments

@Stylback
Copy link

Is your feature request related to a problem? Please describe.
Kobo Sync integration for Kobo Libra H2O only works on local network due to a default port behavior.

Describe the solution you'd like
Change the behaviour of Calibre web's Kobo Sync to NOT append the default port number (8083) to entries in the [OneStoreServices] group if the API endpoint is an URL. This would allow sync to resolve for URL:s.

Describe alternatives you've considered
Using the Kobo Sync feature on local network only.

Additional context
For the api_endpoint in the Kobo eReader.conf file, you can either use ip:port or domain.tld.. If you use domain.tld., upon disconnecting the eReader and trying to sync, you will be met with a sync error. If you then open Kobo eReader.conf you will notice that the default port number (8083) will have been appended to the URL for several entries in the [OneStoreServices] group:

api_endpoint=http://sub.domain.tld/kobo/[sync token]
...
image_host=http://sub.domain.tld:8083
image_url_quality_template=http://sub.domain.tld:8083/kobo/[sync token]/{ImageId}/{width}/{height}/{Quality}/isGreyscale/image.jpg
image_url_template=http://sub.domain.tld:8083/kobo/[sync token]/{ImageId}/{width}/{height}/false/image.jpg

As http://sub.domain.tld:8083 is unreachable, the sync will fail. Manually removing the port number will have no effect as they will be re-appended on the following sync attempt. Changing the file permission to read only will not work either as the eReader will trash and replace the file.

This behaviour might be not exclusive for Kobo Libra H2O, but I don't have an additional device to test on.

@IntBoat
Copy link

IntBoat commented Feb 28, 2023

You should change post number in calibre-web config, If you use HTTP set it to 80, if you use HTTPS set it to 443.

Basic Configuration > Feature Configuration > Server External Port (for port forwarded API calls)

@Stylback
Copy link
Author

Stylback commented Mar 1, 2023

You should change post number in calibre-web config, If you use HTTP set it to 80, if you use HTTPS set it to 443.

Basic Configuration > Feature Configuration > Server External Port (for port forwarded API calls)

Hi and thank you for the reply! Your suggestion worked for me.

I did the following:

  1. Followed the Nginx buffer-size suggestions in [Solved] Kobo sync and reverse proxy #1891 (comment)
  2. In Calibre-Web, went to Basic Configuration → Feature Configuration → Server External Port and set it to 80
  3. Then reset my device at More → Settings → Device information → Factory reset your eReader
  4. After connecting to WiFi and setting the device up, plug it in and edit Kobo eReader.conf as outlined in the wiki.
  5. Unplug device and ran repairs at More → Settings → Device information → Repair your Kobo account
  6. In Calibre-Web, went to Profile → Force full kobo sync
  7. On device, pressed Sync

Some fiddling, but sync works without issue now. Consider this issue closed.

@Stylback Stylback closed this as completed Mar 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants