Skip to content

An end-to-end encrypted and peer-to-peer voice program. || This is a read-only mirror, pull requests are ignored.

Notifications You must be signed in to change notification settings

jorisvink/confessions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Confessions

This is an end-to-end encrypted and peer-to-peer voice program using the sanctum protocol as its transport layer.

For details on how the underlying tunnels works see docs/crypto.md in the sanctum repository.

Building

Confessions builds and works at least on MacOS and Linux.

You need to have the following installed on your system:

Once you have those, building is easy:

$ make
# make install

Modes

You can use confessions in three different modes, direct, cathedral or liturgy mode.

In the direct mode you connect directly to your peer and perform key offers under the shared secret, this is much like sanctum its tunnel mode.

In the cathedral mode you first connect to a cathedral to discover your peer and fallback to peer-to-peer once discovered (and if capable).

In the liturgy mode you autodiscover peers in the same group and automatically establish e2e tunnels to them, effectively giving you a group conversation.

When using a cathedral (both cathedral and liturgy mode) confessions will use the default flock domain 0a unless otherwise specified with the -d option.

Usage

Usage: confessions [mode] [opts] [ip:port]
Mode choices:
  direct          - Direct tunnel between two peers.
  cathedral       - Use a cathedral to do peer discovery.
  liturgy         - Use autodiscovery via cathedral.

Generic options:
  -s <path>       - The shared secret or catehdral secret

Direct specific options:
  -b <ip:port>    - Bind to the given ip:port

Cathedral specific options:
  -k <path>       - The device KEK
  -f <flock>      - Hexadecimal flock ID
  -d <domain>     - Hexadecimal flock domain
  -i <identity>   - Hexadecimal client ID
  -t <tunnel>     - Hexadecimal tunnel ID

Liturgy specific options:
  -g <group>      - The liturgy group to join

In cathedral mode, the tunnel given specifies who you want
to talk too. If you have two devices (01 and 02) and you
want to establish a voice channel between these you use
tunnel 0x0102 on device 01 and tunnel 0x0201 on device 02.

In liturgy mode, the tunnel ID (-t) only contains your
tunnel end point, so using the same example as before
you specify -t 0x01 in this mode.

About

An end-to-end encrypted and peer-to-peer voice program. || This is a read-only mirror, pull requests are ignored.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •