项目作者: iamdatvt94

项目描述 :
Signal Installation Tour: all of steps for build Signal on premise: Signal server, Signal CDS, Signal Android, Signal IOS and Signal destop
高级语言:
项目地址: git://github.com/iamdatvt94/Signal-Installation-Tour.git
创建时间: 2019-09-04T02:34:32Z
项目社区:https://github.com/iamdatvt94/Signal-Installation-Tour

开源协议:

下载


Signal-Installation-Tour

Finally, after one month from zero, I succeed in building the Signal on premise system and custom it as I want.

https://drive.google.com/file/d/1-2sAoFejfpsEkw3vVBiKmEPoOwKRgybQ/view

1. Signal Server

  1. a. First you must setup CDS at step 2 and run it
  2. b. Signal service config file
  3. https://github.com/iamdatvt94/Signal-Installation-Tour/blob/master/signal-service-config.yml
  4. - Twilio: you must create twilio account and use it if you want to send sms
  5. - All redis config: you should setup 3 nodes cluster
  6. - CDS replication endpoint base url: https url of CDS.
  7. replicationPassword you can set anything and replicationCaCertificate you must get it from https cds url
  8. - attachments and profiles: you need create s3 bucket in amazon
  9. - database, messageStore and abuseDatabase: you must set up Postgresql and create three databases:
  10. accountdb, messagedb, abusedb and grant all roles for account in your config.
  11. -> you must run config to initial Signal db:
  12. ~~java -jar ../jars/Signal-version.jar accountdb migrate ../config/config.yml~~
  13. ~~java -jar ../jars/Signal-version.jar messagedb migrate ../config/config.yml~~
  14. ~~java -jar ../jars/Signal-version.jar abusedb migrate ../config/config.yml~~
  15. - Now, just start it by command java -jar ..... and check logs

2. Signal Contact Discovery Service

  1. a. **Intel SGX**
  2. - Link github: https://github.com/intel/linux-sgx.git
  3. - Before install, you need to check your hardware, it need to support SGX2 by the tool:
  4. https://github.com/ayeks/SGX-hardware
  5. - You can use *MS Azure cloud*, Ubuntu 18.04, it supports SGX2 and now , I'm using it for my product.
  6. - If your hardware support SGX, install Intel SGX by steps:
  7. . Install SGX Driver: https://github.com/intel/linux-sgx-driver (Note: check out branch sgx2)
  8. . Install SGX PSW
  9. . ECDSA attestation and SGX SDK you do not need to.
  10. b. **CDS installation**
  11. - Git clone https://github.com/signalapp/ContactDiscoveryService.git
  12. - make -C enclave (Or you can run with sudo)
  13. - The most important thing is change .yml config file
  14. # Config CDS file
  15. https://github.com/iamdatvt94/Signal-Installation-Tour/blob/master/CDS-config.yml
  16. - You need to subscribe Intel® SGX Attestation Service Utilizing Enhanced Privacy ID
  17. https://api.portal.trustedservices.intel.com/
  18. -> go to Development Access (unlinkable)
  19. -> you can get spid and iasSecretKey
  20. - *mrenclave*:
  21. . after run command make -C enclave. you cd to folder: service/src/main/resource/enclave/ and can get *.so file
  22. -> file's name is mrenclave value
  23. - *redis config*: you setup redis (cluster 3 nodes) and setup sentinel
  24. Ex: https://www.inovex.de/blog/redis-sentinel-make-your-dataset-highly-available/
  25. - *sqs*:
  26. . Set up you sqs in amazon , note it must be fifo type
  27. - Start CDS service
  28. . CDS will running on port 8000
  29. . Signal service only using CDS with https url
  30. . Your must be set url to https and get it's certificate for using in Signal service and Client (android, ios,...)

3. Signal Android

4. Signal IOS

5. Signal Desktop