这里是文章模块栏目内容页
windows开发signal客户端pc端的开发环境搭建和运行调试

Signal 是面向全球的开源即时通讯聊天工具,主要特点是加密信息传输,保证聊天消息不被监听和破解记录;受到全球很多重视聊天私密性能的用户青睐。本文主要介绍Signal的服务器端和pc端,并记录Signal_PC客户端的本地开发环境搭建。


Signal服务器端的部署,需要具备intel最新硬件加密的cpu支持,sgx组件。sgx是

采用硬件加密,并且不留后门的技术,Signal的消息加密和联系人关系服务器部署在

这样一台服务器上。除啦这个服务器支持外,还需要有语音视频通话服务器,附件存储

服务器S3,消息队列服务器等几个重要服务器,因此要架设一套完整的Signal服务器

环境,需要安装部署好几种类型的服务。当然这些服务可以运行在多台服务器上,

也可以运行在一台服务器上。按具体应用规模考虑部署的规模。


Signal客户端已经涵盖了Pc端,android端,ios的pc和ipad端,完全是一套完整的工具;

但是这些开源软件的特点是国外属性特别浓,并不适合国内用户,例如它的联系人是和手机

的通讯录绑定起来的,即手机里的电话联系人,可以直接导入到Signal的联系人列表。

新建联系人也是需要先加到手机的电话联系人,这一点特别不能理解。相信国内的用户都

习惯了微信的方式,微信好友就是单纯的微信好友,和手机联系人没关系。


Signal的PC端采用nodejs+electron+react的框架,完全typescript开发模式。

特别适合前端的全栈工程师用来学习分析代码研究用。所以便撸了一下文档,开始在本地

部署它的开发 环境。

Signal的源码地址在github官网: https://github.com/signalapp/Signal-Desktop

部署教程写在CONTRIBUTING.md里面。按照这个文档基本可以完成环境搭建。


首先需要安装nodejs,这个node版本需要和signal的对应,通过https://github.com/signalapp/Signal-Desktop/blob/development/.nvmrc

查看signal的当前源码需要的node版本,例如这里的版本显示是 12.13.0 ,所以必须安装nodejs

的12.13.0版本。node的安装,要选择全局安装,并把node添加到环境变量path中;

通过cmd运行 node -v 能显示出当前版本号,即表示安装成功。


安装windows的vs .net环境 npm install --vs2015 --global --production --add-python-to-path windows-build-tools


signal采用yarn管理包依赖。接下来按步骤执行下面:

获取源码

git clone https://github.com/signalapp/Signal-Desktop.git

解压源码并cd到根目录

cd Signal-Desktop

安装yarn管理工具

npm install --global yarn      # (only if you don’t already have `yarn`)

通过yarn安装依赖包,这需要比较长时间,大约40分钟。

yarn install --frozen-lockfile # Install and build dependencies (this will take a while)

yarn grunt                     # Generate final JS and CSS assets

yarn build:webpack             # Build parts of the app that use webpack (Sticker Creator)

运行测试

yarn test                      # A good idea to make sure tests run first

启动编译运行signal本地调试

yarn start                     # Start Signal!


以上即可在本地调试signal的pc端源码了。采用vscode 的源码编辑器管理本地代码,用vscode的terminal 命令行运行。