Signal-Server README

The project's README from github.com/signalapp/Signal-Server. As one markdown file: README.md.

Signal-Server

Documentation

Looking for protocol documentation? Check out the website!

https://signal.org/docs/

How to Build

This project uses FoundationDB and requires the FoundationDB client library to be installed on the host system. With that in place, the server can be built and tested with:

$ ./mvnw clean test

Security

Security issues should be sent to [email protected].

Help

We cannot provide direct technical support. Get help running this software in your own environment in our unofficial community forum.

Cryptography Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See https://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

License

Copyright 2013 Signal Messenger, LLC

Licensed under the GNU AGPLv3: https://www.gnu.org/licenses/agpl-3.0.html

Signal-Server (signalapp/Signal-Server)

cryptography
Searching Database…

What is this?This is the server-side backend that powers Signal Private Messenger, handling the server logic that the official Android, Desktop, and iOS Signal apps connect to.
Is this a messaging app or just the backend server?It's purely the server-side code, written in Java — the backend that Signal's official apps talk to over the network, not a chat client you install and open yourself.
How do I build and run it?The server is built and tested from source using the project's Gradle setup, but FoundationDB must already be installed on the host before that will work.
Does it need a database like FoundationDB first?Yes — the server is built directly against FoundationDB and won't run without the FoundationDB client library installed on the host system.
What happens if I run into trouble self-hosting this?Signal does not offer direct technical support for self-hosters; you're limited to asking in an unofficial community forum.
Why does it need FoundationDB instead of a normal SQL database?The server is built directly on FoundationDB, a distributed transactional key-value store, which gives Signal the scale and consistency guarantees its backend needs.
Is this the exact code running Signal's production servers?Yes — this is the real server software behind the official Signal Private Messenger apps on Android, Desktop, and iOS, not a reimplementation or demo.
Creator
signalapp
Size
24.7 MB
Stars
10.7K
Updated
CommitOct 15
Age
12y
Commits · 90 Days