Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ericfjl/Signal-Server

 
 

Repository files navigation

Signal-Server

Documentation

Installation Guide

Prerequisites

To be sure to have the latest version of the programmes.

$ sudo apt-get update 

Install Java oracle-java8

$ sudo add-apt-repository ppa:webupd8team/java
$ apt-get update
$ sudo apt-get install oracle-java8-installer
$ sudo apt-get install oracle-java8-set-default

Install Redis

$ sudo apt-get install -y redis-server

Install database

$ sudo apt-get install postgresql postgresql-contrib -y
$ sudo -u postgres psql
postgres=# alter user postgres password 'pwd123';
$ psql -U postgres -h localhost
Password for user postgres: 
postgres=# create database abusedb   owner postgres;
postgres=# create database accountdb owner postgres;
postgres=# create database messagedb owner postgres;

Install Private Contact Discovery Service

Install Signal-Server

get code

$ git clone https://github.com/ericfjl/Signal-Server.git

Building the service

$ cd Signal-server
$ mvn install -DskipTests

init database

$ java -jar target/TextSecureServer-2.26.jar abusedb   migrate config/signal_local.yml
$ java -jar target/TextSecureServer-2.26.jar accountdb migrate config/signal_local.yml
$ java -jar target/TextSecureServer-2.26.jar messagedb migrate config/signal_local.yml

Install coturn

$ apt-get install coturn

config :
    编辑配置文件turnserver.conf:(只需启用和修改下面几项)

    external-ip=54.249.95.226/172.31.43.68 (前者为服务器公网ip,后者为内网IP)

    fingerprint (开启指纹)

    lt-cred-mech (开启长期验证机制)

    use-auth-secret  (开启secret形式授权 )

    static-auth-secret=12345(# 设置secret,这个和signal服务配置文件里的turnserver的secret要一致,最好复杂点,注意最后别留空格)

    signal 服务器配置文件中的相关配置:

    turn: # TURN server configuration
      secret: 12345 # TURN server secret
      uris: 
        - stun:54.249.95.226:3478
        - stun:54.249.95.226:5349 # 5349是tls的,相当于443
        - turn:54.249.95.226:3478?transport=udp
        - turn:54.249.95.226:5349?transport=udp

Running the service

$ java -jar target/TextSecureServer-2.26.jar server config/signal_local.yml

fix bug(can't run for Certificate)org.whispersystems.textsecuregcm.storage.DirectoryReconciliationClient)

// PEMReader       reader      = new PEMReader(new InputStreamReader(new ByteArrayInputStream(caCertificatePem.getBytes())));
final Reader filereader = new FileReader(caCertificatePem);
final PEMReader reader = new PEMReader(filereader);

fix bug(package javax.xml.bind.annotation.adapters does not exist) pom.xml stackoverflow

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.3.0</version>
</dependency>

License

Copyright 2019-2019 Open Whisper Systems

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.4%
  • Other 0.6%