p2p chat in the terminal

Alexander Cobleigh 9cfd7f588f Merge pull request #132 from fenwick67/emoji-shortcodes 5 days ago
test 12713c24c3 add unit tests and Mocha test-runner 5 days ago
.cabal.yml-example a53512802f Look for config file as config.yml in ~/.cabal dir by default 11 months ago
.gitignore 8c093fb4d7 Add binary packaging (#115) 3 months ago
.npmignore 197476e42f Update .npmignore 1 month ago
.travis.yml 8c093fb4d7 Add binary packaging (#115) 3 months ago
LICENSE 330eaa8724 Update LICENSE 2 months ago
README.md 5f1c42aa9d Update README.md 3 weeks ago
cli-2019-04.png 99d4ccbbef add cli image 6 months ago
cli.js 21f44be0a1 standard 1 month ago
commands.js 4b1ee222d2 tweak help output for aesthetics 1 month ago
debug.js 21f44be0a1 standard 1 month ago
index.js 3dc158578f chore: cabal-node -> cabal-core 1 year ago
markdown-shim.js 80061a56bf Update markdown-shim.js 2 months ago
neat-screen.js ae54e97d9f make /help output more compact 1 month ago
output.js 170a913fdf use patched output fot neat log 1 year ago
package-lock.json 12713c24c3 add unit tests and Mocha test-runner 5 days ago
package.json 12713c24c3 add unit tests and Mocha test-runner 5 days ago
package.sh 8c093fb4d7 Add binary packaging (#115) 3 months ago
publish.sh 3a64b99381 publish-mirror->publish: now publishes both cabal & cabal-cli 4 months ago
util.js b75aa0039a use neato-emoji-converter to get shortcodes for unicode emoji 6 days ago
views.js 21f44be0a1 standard 1 month ago

README.md

cabal-cli

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

Installation

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

Usage

Start a new instance:

cabal --new

Connect to an existing instance:

cabal --key <key>

e.g.

cabal --key cabal://0201400f1aa2e3076a3f17f4521b2cc41e258c446cdaa44742afe6e1b9fd5f82

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 <key> --seed

Commands

/add, /cabal
  add a cabal
/new
  create a new cabal
/nick, /n
  change your display name
/emote, /me
  write an old-school text emote
/names
  display the names of the currently online peers
/channels
  display the cabal's channels
/panes
  set pane to navigate up and down in panes: channels, cabals
/join, /j
  join a new channel
/leave, /l
  leave a channel
/clear
  clear the current backscroll
/help
  display this help message
/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
/whois
  display the public keys associated with the passed in nick

alt-n
  move between channels/cabals panes
ctrl+{n,p}
  move up/down channels/cabals

Hotkeys

ctrl+u
    clear input line
ctrl+w
    delete last word in input
up-arrow
    cycle through command history
down-arrow
    cycle through command history
home
    go to start of input line
end
    go to end of input line
ctrl+n
    go to next channel
ctrl+p
    go to previous channel
pageup
    scroll up through backlog
pagedown
    scroll down through backlog
alt-[1,9]
    select channels 1-9
alt-n
    tab between the cabals & channels panes