Skip to content

feat: Calibre Web Automated (CWA) koreader sync server support#594

Merged
daveallie merged 6 commits intocrosspoint-reader:masterfrom
drbourbon:calibre-web-kosync-support
Feb 5, 2026
Merged

feat: Calibre Web Automated (CWA) koreader sync server support#594
daveallie merged 6 commits intocrosspoint-reader:masterfrom
drbourbon:calibre-web-kosync-support

Conversation

@drbourbon
Copy link
Contributor

Summary

  • What is the goal of this PR? Provide support to koreader sync server embedded in the popular Calibre Web Automated self-hosted digital library solution.

  • What changes are included?

    • Trivial addition of HTTP Basic Auth (RFC 7617) header to lib/KOReaderSync/KOReaderSyncClient.cpp

Additional Context

None


AI Usage

While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it
helps set the right context for reviewers.

Did you use AI tools to help write this code? NO

@osteotek
Copy link
Member

Does it do anything for other koreader sync servers?

@drbourbon
Copy link
Contributor Author

Does it do anything for other koreader sync servers?

It simply adds an additional Authorization HTTP header to existing x-auth-user and x-auth-key ones so it shouldn't. Will test anyway with the following koreader sync servers:

Are there other koreader sync servers we should consider for the testing?

@osteotek
Copy link
Member

osteotek commented Jan 28, 2026

@drbourbon probably checking with official instance is enough - https://sync.koreader.rocks/
I imagine this is what most people use

@drbourbon
Copy link
Contributor Author

@drbourbon probably checking with official instance is enough - https://sync.koreader.rocks/ I imagine this is what most people use

Confirmed working. Steps done:

  1. created sync user with koreader
  2. configured user in crosspoint (left server empty to enable default to https://sync.koreader.rocks/ )
  3. issued a sync push from crosspoint
  4. pulled sync from koreader (book goes to the crosspoint synced chapter)

Tried also with curl:

curl -u $user:$pass -H "Accept: application/vnd.koreader.v1+json" -H "x-auth-user:$user" -H "x-auth-key:$md5pass" "https://sync.koreader.rocks/users/auth"

and got {"authorized":"OK"}. This should prove that the added Authorization HTTP header doesn't harm existing behavior

@osteotek osteotek requested a review from a team January 29, 2026 19:44
@cwill747
Copy link

cwill747 commented Feb 3, 2026

Just to +1 this, tested this locally and works great on my CWA instance

@osteotek osteotek requested a review from a team February 3, 2026 09:46
@osteotek osteotek requested a review from lukestein February 3, 2026 16:40
@daveallie daveallie merged commit 17fedd2 into crosspoint-reader:master Feb 5, 2026
1 check passed
jdk2pq added a commit to jdk2pq/crosspoint-reader that referenced this pull request Feb 5, 2026
* master:
  feat: add shift lock to KeyboardEntryActivity (crosspoint-reader#513)
  feat: rename and move in file manager (crosspoint-reader#630)
  feat: Implement fix for sunlight fading issue (crosspoint-reader#603)
  chore: Add PR title check on sync (crosspoint-reader#698)
  feat: Go To Position for epubs (crosspoint-reader#666)
  feat: Calibre Web Automated (CWA) koreader sync server support (crosspoint-reader#594)
  chore: Add CI check job to consolidate status (crosspoint-reader#696)
  chore: CI Build Summary - firmware stats, firmware artifact (crosspoint-reader#601)
  feat: quick rotate option in epub reader menu (crosspoint-reader#685)
  feat(settings): add "Cover + Custom" sleep screen mode (crosspoint-reader#582)
  fix: Artifacts on Thumb on Home Screen (crosspoint-reader#662)
  feat: holding back button while booting, boots to home screen as a mean of escaping boot loop (crosspoint-reader#587)
  docs: Add small SCOPE.md and GOVERNANCE.md documents (crosspoint-reader#640)
  feat: front button remapper (crosspoint-reader#664)
  feat: UI themes, Lyra (crosspoint-reader#528)
  feat: Add CSS parsing and CSS support in EPUBs (crosspoint-reader#411)
  fix: move http upload state to heap (crosspoint-reader#657)
Unintendedsideeffects pushed a commit to Unintendedsideeffects/crosspoint-reader that referenced this pull request Feb 17, 2026
…point-reader#594)

## Summary

* **What is the goal of this PR?** Provide support to koreader sync
server embedded in the popular *Calibre Web Automated* self-hosted
digital library solution.
* **What changes are included?**

* Trivial addition of **HTTP Basic Auth (RFC 7617) header** to
`lib/KOReaderSync/KOReaderSyncClient.cpp`

## Additional Context

None

---

### AI Usage

While CrossPoint doesn't have restrictions on AI tools in contributing,
please be transparent about their usage as it
helps set the right context for reviewers.

Did you use AI tools to help write this code? _**NO**_

---------

Co-authored-by: drbourbon <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants