Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

partyline

partyline

A group voice application for Reticulum, built on LXST, inspired by Mumble

Screenshot from 2026-09-04 07-05-40

Features

  • Encrypted, realtime group voice over any Reticulum transport capable of >6 kilobits per second
  • An easy to host lightweight server and protocol. Spin up a Partyline server in under 30 seconds.
  • Per room access and channel control. open, identified users only, allow lists of identity hashes, or a password. Servers can also require a password or an allow list
  • Dial-in: rnphone and other LXST clients such as Sideband and MeshChatX can call the server and land in a room too, when enabled
  • Rooms each with its own LXST codec configurable by the server. Opus for fast links, Codec2 down to 700 bps for slow ones.
  • GUI and terminal client

Installation

Requires Python 3.11 or newer, Reticulum, and LXST

git clone https://github.com/RFnexus/partyline
cd partyline
pip install .

For a system wide push to talk key, install the optional extra with:

pip install ".[hotkeys]"

This installs three commands: partyline, partyline-server and partyline-client.

Running

Start the GUI client:

partyline

Connect opens the server browser. Add a server by it's hash or use the server browser to find discovered servers from announces. Double click a room to join it. Settings has the audio devices, transmit mode, push to talk key, and UI appearance options Screenshot from 2026-09-04 07-06-15

Terminal client:

partyline-client HASH --name Bob --room Lobby

Commands are: /join, /say, /poke, /who, /mute, /deaf

Type /ptt to toggle push to talk

Or as an operator: /kick, /ban, /smute, /op and /move

Server

Start a server:

partyline-server --name "My server" --profile opus-high

The server prints its destination hash for clients and with dial in enabled the number rnphone users call if configured for rooms. For rooms, access lists, operators, a server password and dial in, copy server_example.json and start with:

partyline-server --config server.json

Install as a systemd unit

To install as a systemd unit find the server command with which partyline-server then create /etc/systemd/system/partyline.service:

[Unit]
Description=Partyline voice server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=partyline
ExecStart=/usr/local/bin/partyline-server --config /home/partyline/server.json
Restart=on-failure

[Install]
WantedBy=multi-user.target

Then:

sudo systemctl daemon-reload
sudo systemctl enable --now partyline

Credits

About

A group voice application for Reticulum, built on LXST

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages