Skip to content

cthrone v0.12.0

Choose a tag to compare

@github-actions github-actions released this 02 Nov 13:02
44d9bab

πŸ’¬ 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/exec are 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

Fixes

  • fix: the release notes say what the player actually does (#374) β€” #375 by @fiwon123

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