文章首发于个人公众号:「阿拉平平」
screego [1] 是一个由 Golang 开发的屏幕共享工具,我实际测试下来发现显示效果非常好,和大家分享下。
安装
screego 目前最新的版本为 v1.0.7,选择并下载系统对应的安装包:
[root@localhost ~]# wget https://github.com/screego/server/releases/download/v1.0.7/screego_1.0.7_linux_amd64.tar.gz
解压后可以得到二进制文件以及示例文件 screego.config.example
,将示例文件命名为 screego.config
。目前目录文件如下:
screego-demo
├── LICENSE
├── README.md
├── screego
└── screego.config
配置
出于安全考虑,screego 会要求以 HTTPS 协议进行访问,所以在修改配置前,需要先生成下证书。
生成 HTTPS 证书
执行以下命令生成密钥 server.key
,过程中会要求设置密码,按提示输入即可。
[root@localhost screego-demo]# openssl genrsa -des3 -out server.key 2048
接下来执行以下命令去除刚刚设置的密码:
[root@localhost screego-demo]# openssl rsa -in server.key -out server.key
为什么要去除密码呢?我测试过配置带有密码的密钥,结果服务无法正常启动,提示如下:
FTL http server error="tls: failed to parse private key"
使用密钥创建服务器证书的申请文件 server.csr
,过程中会要求输入一些信息,不填也可。
[root@localhost screego-demo]# openssl req -new -key server.key -out server.csr
创建 CA 证书 ca.crt
:
[root@localhost screego-demo]# openssl req -new -x509 -key server.key -out ca.crt -days 3650
创建服务器证书 server.crt
:
[root@localhost screego-demo]# openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
目前目录文件如下:
screego-demo
├── ca.crt
├── ca.srl
├── LICENSE
├── README.md
├── screego
├── screego.config
├── server.crt
├── server.csr
└── server.key
密钥 server.key
和服务器证书 server.crt
已经创建,接下来就可以修改配置了。
修改配置
编辑配置文件 screego.config
,这里仅列出我修改的配置项。
SCREEGO_EXTERNAL_IP=192.168.128.128
SCREEGO_SERVER_TLS=true
SCREEGO_TLS_CERT_FILE=/root/screego-demo/server.crt
SCREEGO_TLS_KEY_FILE=/root/screego-demo/server.key
说明:
- SCREEGO_EXTERNAL_IP:访问地址,配置服务器的 IP 地址,以实际为准。
- SCREEGO_SERVER_TLS:TLS 开关。由于之前已配置了 HTTPS 的证书,这里改为 true。
- SCREEGO_TLS_CERT_FILE:指定证书。
- SCREEGO_TLS_KEY_FILE:指定密钥。
修改以上配置项后,服务就可以启动了。如果需要了解更多细节,可以查阅官方文档 [2] 获取帮助。
启动
运行以下命令启动 screego:
root@localhost screego-demo]# ./screego serve
没有报错的话,访问 https://192.168.128.128:5050
就可以看到建房页面了,如下图所示。这里的 IP 是我虚拟机的地址,大家以自己实际配置的为准。
点击 CREATE ROOM
按钮创建房间,再点击 Start Presentation
,其他人通过访问相同的 URL 就可以看到共享的屏幕了。
总结
+ 开源的多用户屏幕共享工具,安装方便,使用简单
+ 实测效果不错,屏幕显示清晰,无卡顿延迟现象
+ 安全性
- 暂不支持快捷键操作
References
[1] screego: https://github.com/screego/server
[2] 文档:https://screego.net/#/
有疑问加站长微信联系(非本文作者)