I use USB mass storage.
In details, I configured KOReader not to start mass storage automatically, so I need two taps after connecting the USB. Then on my Linux PC, I mount the device, exec a `rsync` command, then umount.
My ebooks directory uses Git (with LFS) so I can update it from several computers. I considered switching to git-annex, instead of gitlfs+rsync, but I'm not motivated enough to change a system that works.
> - Is there really no practical way to mark a book as read other than give it a star rating or a custom tag?
There are 3 states : reading, on hold, finished. The rating is optional. A long press on a book title will give access to this states and more.
All that metadata is stored in lua data files (a bit similar to JSON). With mass storage, it's easy to read or update these files. I use "on hold" to mean "dropped" (and I hide them in the listings).
- Syncthing plugin for Koreader (for syncing your ebooks with a computer / phone / tablet)
- RSS feeds for newsfeeds
- calibre-web, as a pure web front end to the calibre db
- Calibre Web Automated, which is a rewrite of the app, with a better web UI, that is faster and adds functionality
- Grimmory, a Java-based book mgmt. app w/ a web front end too
- BookOrbit, similar to Grimmory but written in Node and seems to scale better w/ 100k+ book libraries
The better way to get books onto KOReader is via connecting to these apps' OPDS feeds. Wireless, and most of these other apps have better library organization.
On first exposure to calibre I was put off by its weird UI and how opinionated it was about filename conventions. But I learned to accept that it's the best solution out there with the most community support, and it grew on me. There are also a few third party projects that can interact with its database.