You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
matrix-spec/supporting-docs/projects/2017-05-02-circle.md

62 lines
1.6 KiB
Markdown

---
layout: project
title: Circle
description: A thin client and server for group chat, supporting IRC & Matrix
categories: projects client
thumbnail: /docs/projects/images/circle-fe-term+matrix-small.png
author: LeoNerd
maturity: Beta
---
# {{ page.title }}
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](http://www.leonerd.org.uk/code/circle/circle-two-fes.png)
![image](/docs/projects/images/circle-fe-term+matrix.png)
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 example.org
/set user_id @me:example.org
/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](https://metacpan.org/pod/App::MatrixTool))