signald can use any server desired. Signal’s production and staging servers are pre-loaded, but additional servers can be added via the client protocol.
register request types have a
field, which (if set) will be used to select a server by UUID.
These servers come pre-loaded in signald:
- Signal Production (
6e2eb5a8-5706-45d0-8377-127a816411a4) default unless changed at build time
- Signal Staging (
97c17f0c-e53b-426f-8ffa-c052d4183f83) preferred for testing. Signal states that it has lower rate limits.
There are two ways to add a new server:
All of the server parameters can also be specified during compile time by setting environment variables. The full list can be found
build.gradle. Make sure to set environment variable
DEFAULT_SERVER_UUID to a UUID that is not currently in use by any server. The build time server will only be used if the specified
DEFAULT_SERVER_UUID if unspecified) is not found in the database. When that happens, the values will be copied into the database.