Repository navigation
cthrone v0.12.0
π¬ cthrone v0.12.0
Chat from one device to another β a terminal, a desktop window, or a
phone. One device hosts, the others connect; there is no account and
no server, and every session is sealed end to end.
Built from 44d9bab08d93d30a159b0f559d818117db05e935 Β· workflow run
π¦ Download
| Platform | Asset | |
|---|---|---|
| π§ | Linux | cthrone_v0.12.0_linux.tar.gz |
| π§ | Linux, with the window | cthrone_v0.12.0_linux_gui_amd64.tar.gz |
| πͺ | Windows | cthrone_v0.12.0_windows.zip |
| πͺ | Windows, with the window | cthrone_v0.12.0_windows_gui_amd64.zip |
| π | macOS, Apple silicon | cthrone_v0.12.0_darwin_arm64.tar.gz |
| π | macOS, with the window | cthrone_v0.12.0_darwin_gui_arm64.tar.gz |
| π | macOS, Intel | cthrone_v0.12.0_darwin_amd64.tar.gz |
| π€ | Android app | cthrone_v0.12.0_android_gui_arm64.apk |
| π€ | Android CLI (Termux) | cthrone_v0.12.0_android.zip |
Every CLI archive carries cthrone and the short alias ct: unpack it and
run add_to_path.sh (or .bat) once. The window archives are the same
tool with the GUI built in; on Linux they need the GTK3, OpenGL and X11
runtime libraries. The APK is debug-signed β tap it and allow the
install once.
β Verify
sha256sum -c checksums.txt # macOS: shasum -a 256 -c checksums.txtπ Security
Every session is sealed and authenticated end to end β X25519, HKDF
per direction, AES-256-GCM β and the peer's device key is pinned on first
contact. The websocket is wss:// by default and the host's certificate
is pinned too; --no-tls is the opt-out, kept for a peer that predates
the current protocol.
β οΈ What this build does not do
- Only WAV and MP3 play inside the app. Those two play on the file's
own row; Ogg/Vorbis, AAC/M4A and FLAC have no decoder in this build,
so they open with another app β and on a phone that means Save asβ¦
and the file manager. - PDFs are not drawn: they open with the device's viewer.
recv/execare not implemented.- The Windows Bluetooth transport, the phone build and the
APK on a device have not been run yet. Nothing here has been
heard on a phone either: the in-app player is compiled into the APK
and has never been run on one.
π§Ύ Every change
Features
- feat: reconnect a dropped client with backoff β #372 by @fiwon123
- feat: play a sound inside the app (#306) β #373 by @fiwon123
Fixes
Documentation
Dependencies
- deps: bump github.com/nats-io/nats.go from 1.54.0 to 1.55.0 β #371 by @app/dependabot
Full changelog: v0.11.7...v0.12.0