Ckourse v1.2.0
Self-hosted server courses
Courses can now live on your own server. Point Ckourse at a machine you
control and stream lessons from it the same way you would from a local
folder — nothing is downloaded up front, and no third-party service sits
in the middle.
Three protocols are supported:
- SFTP — any box you can SSH into, with password or private-key auth
(encrypted keys included) - WebDAV — Nextcloud, ownCloud, or anything else speaking
PROPFIND - S3-compatible storage — MinIO, Backblaze B2, Cloudflare R2, Wasabi,
and AWS S3
Add servers under Settings → Servers. You can save as many as you
like, each with its own name and start folder; connection details go into
SQLite while passwords, keys, and access secrets are stored in your OS
keychain, never in plaintext on disk. SSH host keys are pinned on first
connect, and a changed key is refused rather than silently accepted.
Importing browses one directory at a time instead of crawling the whole
tree, so a large server stays responsive. Once you pick a course folder,
the same structure detection used for local and Drive courses runs over
it — sections, lessons, subtitles, and resources are found automatically.
Server-backed courses get a badge in your library and on the course page,
and progress, resume position, notes, and bookmarks all behave exactly as
they do for local courses.
New streaming engine
Remote playback was rebuilt around a shared streaming layer used by both
Drive and server courses.
- Media is fetched in aligned 2 MB blocks kept in a bounded ~64 MB
cache, so the video element's many small range requests don't turn into
a network round trip each - Read-ahead warms the next ~16 MB in the background while you watch
- Overlapping requests for the same block are de-duplicated instead of
refetching - Scrubbing evicts oldest-first, so seeking around a long lesson can't
grow memory without bound - SFTP reads in chunks, which noticeably cuts time-to-first-frame
The player also handles remote sources properly now: it shows real
buffering state and recovers when a stream starves, instead of stalling
on a frozen frame.
Downloads
- macOS —
ckourse_1.2.0_universal.dmg(Apple Silicon + Intel) - Windows —
ckourse_1.2.0_x64-setup.exeorckourse_1.2.0_x64_en-US.msi
Existing installs will pick this up through the built-in updater.