how it works

download

decentralized. a cabal is a swarm of connected devices. devices communicate directly with each other, not with a server.

offline. you don't need to be connected all the time. you can read chat history and write new messages while offline, then sync once you have a connection.

private. anyone can create a cabal with a secret joining key that can be shared with friends and community members. cabals have many channels for different topics and anyone can create a channel.

self-moderated. cabal's moderation is subjective. there are no central admins and you are always a moderator from your own perspective. everyone can block anyone, hide anyone, and subscribe to each other's public moderation actions.

diverse clients. you can run cabal using many different cabal chat programs (clients). we are working towards making mobile and web clients possible - we welcome expertise and contributions (mobile in particular), if you are interested reach out to us.

getting started

setting up a cabal and learning how to use it is quick and easy.

instructions

here's how to get up and running with the graphical cabal desktop client, as well as the more up-to-date cabal terminal client. you can use either client to connect and chat with others.

desktop client

  1. download the cabal desktop client here.
  2. on the start screen, you can:
    • join an existing cabal. enter the joining key and a nikcname. joining keys are usually private, so you'll need a friend to give you the joining key to their chat. you can join the public cabal by copying the joining key in the bar below.
    • create your own cabal with a single click. press the "create a cabal" button and your new chat space will appear.
  3. great, you now have a new space for your friends or community! click the three dots in the top right to give your cabal a name and invite others by sharing the joining key. here you can also enable notifications or delete the cabal fro your own desktop client (this does not delete the cabal for anyone else).
  4. in the left-hand column, you can see the cabal's channelöse - conversation topics that cabal members have created and you can choose to follow. click the plus sign to join or create a channel.
  5. also in the left-hand column are the nicknames of users who are members of the cabal.
  6. click on a channel to open the chat window in the right-hand column. type in the dialogue box at the bottom to send a message to all members of the channel. chat history appears in the main window as you chat back and forth.
  7. your cabals are show in the thin left sidebar. to create another cabal, click the plus sign. this takes you back to the start screen.

terminal client

  1. install nodejs and npm
  2. install the terminal client: npm i -g cabal-cli
  3. now you can
    • join a cabal by passing the joining key to --key:
      cabal-cli --key <joining key>
    • create a new cabal by passing --new:
      cabal-cli --new
    • view other command line options with --help:
      cabal-cli --help
  4. now you are viewing a cabal. pick and set a nickname, type:
    /name <your nickname> and then press enter
  5. the "!status" channel is a private channel that nobody can write to; it is useful for testing commands. for chatting with other people, join the default channel by typing
    /join default or another channel with /join <name of the channel>
  6. view a list of other channels with
    /channels
  7. people with @ in front of their name are admins. names ending with a parenthesis-enclosed number, for instance (2), show how many people with that same exact nickname are in the current channel
  8. for more commands inside the terminal client, type:
    /help

security

all private messages are end-to-end encrypted. for community chats, all traffic is encrypted using a symmetric key. only people who have been given a cabal's joining key can read its network traffic. cabal shares the same encryption primitives as the hypercore protocol (formerly known as Dat), an ecosystem of projects, protocols and values for the next-generation web. you can find out more about these encryption primitives.

IP addresses are not hidden. by sniffing the internet or local network traffic, you could theoretically discover who is involved in a cabal. you cannot discover a cabal's joining key by sniffing network traffic, so network observers can't read messages. regular messages in a cabal are not encrypted at rest, so someone who has direct access to your local computer could read them.

need more help?

you can ask for support and flag any bugs or issues in the cabal public chat. use the joining key you see below "join the public cabal" and follow the instructions above

instructions

our small team of volunteers is happy to help if you have any more questions.

get in touch