Skip to content

Latest commit

History

History
86 lines (61 loc) 路 1.58 KB

File metadata and controls

86 lines (61 loc) 路 1.58 KB

Kalium CLI

Command-line application for testing and debugging Kalium flows.

The CLI can:

  • Log in
  • Create a group conversation
  • Add and remove group members
  • Receive and send text messages in real time
  • Remove another client from your account remotely
  • Refill MLS key packages
  • Mark conversations as read
  • Update supported protocols

Requirements

  • JDK 21
  • Native libraries under native/libs

Build native libraries from the repository root:

make

When running JVM tasks, pass the native library path:

-Djava.library.path=./native/libs

Build

./gradlew :sample:cli:jvmJar -Djava.library.path=./native/libs

The fat jar is written under:

sample/cli/build/libs/

Run On JVM

Use the jar produced in sample/cli/build/libs/:

java -Djava.library.path=./native/libs -jar sample/cli/build/libs/<cli-jar>.jar login --email <email> --password <password> listen-group

You can also use the Gradle run task:

./gradlew :sample:cli:jvmRun --console=plain --quiet --args="login --email <email> --password <password> listen-group"

Run Native On macOS

./gradlew :sample:cli:macosArm64Binaries
./sample/cli/build/bin/macosArm64/debugExecutable/cli.kexe login

Commands

Run help from the built CLI to see the current command list:

java -Djava.library.path=./native/libs -jar sample/cli/build/libs/<cli-jar>.jar login --help

Current command set:

create-group
listen-group
delete-client
add-member
remove-member
console
refill-key-packages
mark-as-read
update-supported-protocols