Curses-backed terminal interface for Signal using signal-cli and npyscreen.
On Debian-based systems, make install
should properly set up the required dependencies.
- Install signal-cli (see Installation). Because signal-curses depends on JSON output features, only versions of signal-cli >= 0.6.1 will work.
- Install libunixsocket-java (see DBus service)
- Install pydbus dependencies, if needed (see Requirements)
- Install python deps with
pipenv install
. If pipenv is not installed, runpip3 install pipenv
. - Run with
python3 main.py -u '+12345678901'
, giving your Signal phone number with country code (e.g. +1) - If signal-cli has not been run before, you will be prompted to link your phone with your computer. Scan the given terminal QR code in the Signal app under Settings > Linked Devices, and restart signal-curses. Your contacts and groups should appear, and you should be able to send messages.
Setup dialog
Link dialog
Setup finished message
User and group list
In-message UI
Ctrl-X menu