Signald

From NixOS Wiki
Revision as of 08:20, 10 July 2023 by imported>Onny (Add configuration section)

Signald is a program that enables users to send and receive end-to-end encrypted messages using the Signal protocol. It serves as a bridge between the Signal messaging app and other applications or services, allowing developers to integrate secure messaging capabilities into their own projects.

Installation

Enable signald daemon, running as the user myuser which should be equivalent to the user who should interact with signald

/etc/nixos/configuration.nix
services.signald = {
  enable = true;
  user = "myuser";
};

environment.systemPackages = [ pkgs.signaldctl ];

Registration

Connect and register a phone number of an existing Signal account using following command. It will print a QR code which you can scan on your mobile device. Navigate to "Settings -> Linked devices" on your mobile app.

# signaldctl account link

Alternativley register a new real phone number or a virtual disposable one which can be bought with services like sms-man.com.

# signaldctl account register [phone number]

Sometimes you'll have to generate and supply a captcha verification code to this command by using the --captcha parameter. The registration process described here might be currently broken, please refer the troubleshooting section here for a workaround.

In the last step, enter the verification number you received via SMS using this command

# signaldctl account verify [phone number] [code]

Usage

Configuration

Set profile name of account +12025555555

# signaldctl account set-profile -a +12025555555 "my signal user"

Messaging

Send a message to the recipient number +12026666666 using the account +12025555555

# signaldctl message send -a +12025555555 +12026666666 "hello, joe"

Send message to a group

# signaldctl message send -a +12025555555 EdSqI90cS0UomDpgUXOlCoObWvQOXlH5G3Z2d3f4ayE= "hello, everyone"