Getting Started
This article assumes that signald is installed and running. click here for installation instructions.
Users that have not selected a signald client will want to consult the list of clients. Some clients have their own documentation that includes account creation. This documentation primarily demonstrates how to use signaldctl, which may be needed in addition to whatever client you’re using if your client doesn’t guide you through registration.
If you are running signald with a non-standard socket path, you may also want to configure that:
signaldctl config set socketpath /path/to/signald.sock
Some clients (such as the Signal Matrix Bridge) require registration occur through the client!
If this is the case, follow your client’s documentation.
signald accounts can be created two different ways:
- linking to an existing Signal account (like the official Signal Desktop client)
- registering a new Signal account with a phone number you can receive SMS or voice calls to (like the official Signal mobile clients)
Choose the one that works best for you and proceed:
To link to an existing Signal account:
signaldctl account link
a QR code will be displayed on screen. In the Signal app on your mobile device navigate to Settings, select linked devices and select the + (Android) or “Link New Device” (iOS). Scan the code with the mobile device and wait a few seconds. When signaldctl exits your account has been set up.
To register a new account, first request an SMS verification code:
signaldctl account register [phone number]
You may need to complete a captcha and pass the token with the--captcha
flag
A voice verification code may also be requested with the--voice
flag.
The phone number must be provided in E.164 format, starting with a +
. Once verification code has been received, submit it to
complete account setup:
signaldctl account verify [phone number] [code]
the code may be submitted with or without the -
as it is formatted in SMS.
After setting up your account, you probably want to tell signaldctl to use it by default:
signaldctl config set defaultaccount +12024561414
To send a message from local account +12025555555
to +12026666666
:
signaldctl message send -a +12025555555 +12026666666 "hello, joe"
req := v1.SendRequest{
Username: "+12025555555",
MessageBody: "hello, joe",
RecipientAddress: &v1.JsonAddress{Number: "+12026666666"},
}
resp, err := req.Submit(signaldConn)
{
"username": "+12025555555",
"recipientAddress": {"number": "+12026666666"},
"messageBody": "hello, joe"
}
To send a message from local account +12025555555
to group EdSqI90cS0UomDpgUXOlCoObWvQOXlH5G3Z2d3f4ayE=
:
signaldctl message send -a +12025555555 EdSqI90cS0UomDpgUXOlCoObWvQOXlH5G3Z2d3f4ayE= "hello, everyone"
req := v1.SendRequest{
Username: "+12025555555",
MessageBody: "hello, everyone",
RecipientGroupID: "EdSqI90cS0UomDpgUXOlCoObWvQOXlH5G3Z2d3f4ayE=",
}
resp, err := req.Submit(signaldConn)
{
"username": "+12025555555",
"recipientGroupId": "EdSqI90cS0UomDpgUXOlCoObWvQOXlH5G3Z2d3f4ayE=",
"messageBody": "hello, everyone"
}