Circle is an IRC & Matrix client which merges the best attributes of a local client and the common screen+irssi recipe.

  • Keep IRC connects and state on a backend server, allowing disconnections from local UI.
  • Interact with a real local GUI for the frontend, instead of incurring SSH roundtrips for every keypress.
  • Supports IRC, Matrix,

image image

First, get the code from CPAN:

``` $ cpan Circle $ cpan Circle::Net::Matrix

$ cpan Circle::FE::Term ```

Now you can run the backend. Personally I keep UNIX sockets in $HOME/var/run but of course feel free to use whatever path you like.

$ mkdir -p ~/var/run $ cd circle-be $ ./circle-be --socket ~/var/run/circle.sock

Now you can run the frontend, which connects to the backend server via ssh and connects to that UNIX socket.

$ cd circle-fe-term $ ./circle-fe-term sshunix://server/var/run/circle.sock

Then in the Global tab, create a new Matrix network:

/networks add -type matrix Matrix

Then in the new MyNet tab for that network, configure it and connect:

``` /set homeserver /set user_id /set access_token MDAxABCDE…

/connect ```

(for now, you’ll have to steal the access token from another Matrix client, such as Riot or App::MatrixTool)