p2p chat in the terminal

cblgh dc88704a1b 9.2.1 2 weeks ago
.github 9807d7047e Create FUNDING.yml 1 month ago
test 12713c24c3 add unit tests and Mocha test-runner 4 months ago
.cabal.yml-example a53512802f Look for config file as config.yml in ~/.cabal dir by default 1 year ago
.gitignore 8c093fb4d7 Add binary packaging (#115) 7 months ago
.npmignore 8e2b927e2d chore: npmignore 2 months ago
.travis.yml 8c093fb4d7 Add binary packaging (#115) 7 months ago
LICENSE 330eaa8724 Update LICENSE 6 months ago
README.md e1fdd5e6e9 doc: clarify create/join syntax 3 months ago
cli-2019-04.png 99d4ccbbef add cli image 10 months ago
cli.js 373c83dcc5 Print message on how to quit when scanning for QR codes 2 months ago
commands.js 306247849b sanitize usernames across the cli 2 weeks ago
debug.js 21f44be0a1 standard 5 months ago
index.js 3dc158578f chore: cabal-node -> cabal-core 1 year ago
markdown-shim.js 80061a56bf Update markdown-shim.js 6 months ago
neat-screen.js 5a7c0d2fad Merge pull request #147 from cabal-club/sanitize-usernames 2 weeks ago
output.js 170a913fdf use patched output fot neat log 1 year ago
package-lock.json dc88704a1b 9.2.1 2 weeks ago
package.json dc88704a1b 9.2.1 2 weeks ago
package.sh 8c093fb4d7 Add binary packaging (#115) 7 months ago
publish.sh 3a64b99381 publish-mirror->publish: now publishes both cabal & cabal-cli 8 months ago
util.js 7b1c5c7530 chore(BREAKING): bump cabal-{core,client} 2 months ago
views.js 306247849b sanitize usernames across the cli 2 weeks ago
welcome.txt 810cdfa382 add support for custom welcome message 1 month ago



Terminal client for cabal, the p2p chat platform.

See cabal-core for the underlying database & api.

chat with us:
npx cabal cabal://cabal-club.github.io


$ npm install --global cabal
$ cabal --new 


Start a new instance:

cabal --new

Connect to an existing instance:

cabal <key>


cabal cabal://0201400f1aa2e3076a3f17f4521b2cc41e258c446cdaa44742afe6e1b9fd5f82

Scan a QR code to join a cabal:

Cabal can use a webcam connected to your computer to read a cabal key from a QR code. For this to work, you'll need to install an additional system dependency:

  • Linux: sudo apt-get install fswebcam
  • MacOS: brew install imagesnap

    # Hold up your QR code in front of the webcam and then run:
    cabal --qr

Headless mode

This will run cabal without a UI. You can use this to seed a cabal (e.g. on a VPS) and make its data more available:

cabal <key> --seed


/add, /cabal
  add a cabal
  create a new cabal
/nick, /n
  change your display name
/emote, /me
  write an old-school text emote
  display the names of the currently online peers
  display the cabal's channels
  set pane to navigate up and down in panes: channels, cabals
/join, /j
  join a new channel
/leave, /l
  leave a channel
  clear the current backscroll
  display this help message
  generate a qr code with the current cabal's address
/quit, /exit
  exit the cabal process
/topic, /motd
  set the topic/description/message of the day for a channel
/whoami, /key
  display your local user key
  display the public keys associated with the passed in nick

  move between channels/cabals panes
  move up/down channels/cabals


    clear input line
    delete last word in input
    cycle through command history
    cycle through command history
    go to start of input line
    go to end of input line
    go to next channel
    go to previous channel
    scroll up through backlog
    scroll down through backlog
    select channels 1-9
    tab between the cabals & channels panes