p2p chat in the terminal

noffle cff94c78ad 8.0.3 1 week ago
.cabal.yml-example a53512802f Look for config file as config.yml in ~/.cabal dir by default 9 months ago
.gitignore 8c093fb4d7 Add binary packaging (#115) 1 month ago
.npmignore 97eca5fd34 npmignore 1 week ago
.travis.yml 8c093fb4d7 Add binary packaging (#115) 1 month ago
LICENSE a122182299 Add generic cabal devs to license 1 month ago
README.md cda0daa446 Revert "updated refs as cabal to cabal-cli" 1 month ago
cli-2019-04.png 99d4ccbbef add cli image 4 months ago
cli.js 9045fd07d1 Add --offline command line switch 3 weeks ago
commands.js 43880999f8 Apply standard linting 2 weeks ago
index.js 3dc158578f chore: cabal-node -> cabal-core 1 year ago
markdown-shim.js 43880999f8 Apply standard linting 2 weeks ago
neat-screen.js 20b0ec9bf3 standard 1 week ago
output.js 170a913fdf use patched output fot neat log 1 year ago
package-lock.json cff94c78ad 8.0.3 1 week ago
package.json cff94c78ad 8.0.3 1 week ago
package.sh 8c093fb4d7 Add binary packaging (#115) 1 month ago
publish.sh 3a64b99381 publish-mirror->publish: now publishes both cabal & cabal-cli 2 months ago
util.js 20b0ec9bf3 standard 1 week ago
views.js ba44cc9b46 introduce util.sanitizeString & sanitize topic str 1 week 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 --key cabal://0201400f1aa2e3076a3f17f4521b2cc41e258c446cdaa44742afe6e1b9fd5f82

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

/channels 
   display channels you can join
/names
   display a list of the people currently online 
/join <channel> 
   join a channel
/j
   alias for /join
/nick <new nick>
   pick a new username
/n
   alias for /nick
/emote <some text> 
   write an old-school text emote
/me
   alias for /emote
/clear
   clear the current backlog
/help
    display a help message of the current commands
/quit
   exit cabal

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