All Projects → cabal-club → Cabal Cli

cabal-club / Cabal Cli

Licence: other
Terminal client for Cabal, the p2p chat platform.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Cabal Cli

Bitchatclient
Technitium Bit Chat, a secure, peer-to-peer, instant messenger!
Stars: ✭ 111 (-76.83%)
Mutual labels:  instant-messaging, p2p, decentralized
Castero
TUI podcast client for the terminal
Stars: ✭ 375 (-21.71%)
Mutual labels:  terminal, command-line
Terminal Link
Create clickable links in the terminal
Stars: ✭ 361 (-24.63%)
Mutual labels:  terminal, command-line
Jmxterm
Interactive command line JMX client
Stars: ✭ 389 (-18.79%)
Mutual labels:  terminal, command-line
Awesome Decentralized
🕶 Awesome list of distributed, decentralized, p2p apps and tools 👍
Stars: ✭ 358 (-25.26%)
Mutual labels:  p2p, decentralized
Kadnode
P2P DNS with content key, crypto key and PKI support. DynDNS alternative.
Stars: ✭ 359 (-25.05%)
Mutual labels:  p2p, decentralized
Buku
🔖 Personal mini-web in text
Stars: ✭ 4,825 (+907.31%)
Mutual labels:  terminal, command-line
Spotweb
Decentralized community
Stars: ✭ 341 (-28.81%)
Mutual labels:  p2p, decentralized
Go Prompt
Building powerful interactive prompts in Go, inspired by python-prompt-toolkit.
Stars: ✭ 4,255 (+788.31%)
Mutual labels:  terminal, command-line
Decentralized Internet
A SDK/library for decentralized web and distributing computing projects
Stars: ✭ 406 (-15.24%)
Mutual labels:  p2p, decentralized
Figures
Unicode symbols with Windows CMD fallbacks
Stars: ✭ 438 (-8.56%)
Mutual labels:  terminal, command-line
Software
DeepValueNetwork is a peer-to-peer database network managed and hosted by its community. It contains a browser to render 2D/3D content and allow the creation of scripted applications built on top of the p2p database network and managed by its creators, without intermediary platform.
Stars: ✭ 357 (-25.47%)
Mutual labels:  p2p, decentralized
Tsukae
🧑‍💻📊 Show off your most used shell commands
Stars: ✭ 345 (-27.97%)
Mutual labels:  terminal, command-line
Tribler
Privacy enhanced BitTorrent client with P2P content discovery
Stars: ✭ 3,915 (+717.33%)
Mutual labels:  p2p, decentralized
Sad
CLI search and replace | Space Age seD
Stars: ✭ 350 (-26.93%)
Mutual labels:  terminal, command-line
Py cui
A python library for intuitively creating CUI/TUI interfaces with widgets, inspired by gocui.
Stars: ✭ 380 (-20.67%)
Mutual labels:  terminal, command-line
Awesome Ethereum
⚡️ Awesome Ethereum Resources
Stars: ✭ 459 (-4.18%)
Mutual labels:  p2p, decentralized
Patchwork
A decentralized messaging and sharing app built on top of Secure Scuttlebutt (SSB).
Stars: ✭ 3,500 (+630.69%)
Mutual labels:  p2p, decentralized
Cmd2
cmd2 - quickly build feature-rich and user-friendly interactive command line applications in Python
Stars: ✭ 342 (-28.6%)
Mutual labels:  terminal, command-line
Lookatme
An interactive, terminal-based markdown presenter
Stars: ✭ 392 (-18.16%)
Mutual labels:  terminal, command-line

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.chat

Installation

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

If that fails the newest node is not yet supported by the stack. Try this:

Install nvm, open a new shell and run

$ nvm install 12
$ npm install --global cabal
$ cabal --new

Usage

Start a new instance:

cabal --new

then copy the key and give it to someone else.

Connect to an existing instance:

cabal <key>

e.g.

cabal cabal://0201400f1aa2e3076a3f17f4521b2cc41e258c446cdaa44742afe6e1b9fd5f82

Remember cabals for auto-joining

save a cabal to the config

cabal --save <key>

then connect to all of your saved cabals, by simply running cabal:

cabal

show saved cabals with --cabals and remove a saved cabal with --forget

cabal --cabals
cabal --forget <key|alias>

Save an alias to a key

create a local name for a key.

cabal --alias <name> --key <key>
cabal <name>

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

Custom port

If you have a tightly configured firewall and need to port-forward a port, the default port Cabal uses is port 13331. You can change this with the --port flag, or setting preferredPort in your .cabal.yml config file.

cabal <key> --seed --port 7331

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
/qr
  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
/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-l
    redraw the screen
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
ctrl-a
    go to next unread channel
pageup
    scroll up through backlog
pagedown
    scroll down through backlog
shift-pageup
    scroll up through nicklist
shift-pagedown
    scroll down through nicklist
alt-[1,9]
    select channels 1-9
alt-n
    tab between the cabals & channels panes
alt-l
    tab toggle id suffixes on/off

Configuration

The message styling can be slightly tweaked.
Regarding the supported options, see .cabal.yml-example

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].