导读 | Screego是一个开源的用go语言写的屏幕投影软件,可以以高质量低延迟将你的屏幕演示给其他人看,screego带有身份验证,集成了TURN服务方便NAT遍历。有了它我们可以自建一个便捷的共享屏幕服务器。共享看片,指日可待。 |
- 项目地址://github.com/screego/server
- 文档地址://screego.net/#/
Screego提供了docker、多个平台的可执行二进制文件和源码的下载。
Screego强制要求使用TLS,我这里演示使用nginx反向代理二进制文件,也可以直接在Screego内部使用,自行研究文档。
从github的releases页面下载适合centos的linux_amd64.tar.gz包
wget //github.com/screego/server/releases/download/v1.0.7/screego_1.0.7_linux_amd64.tar.gz
解压之后包含"screego","screego.config.example"这两个文件,"screego"是二进制可执行文件,"screego.config.example"是config文件配置范例。
"screego.config.example"是包含所有的参考案例。新建一个screego.config,注意不要打成screen。写入以下配置:
# 服务器公网IP SCREEGO_EXTERNAL_IP=X.X.X.X # 设置密钥,任意随机字符就行 SCREEGO_SECRET=8w6EJ183hqFieprl # 后续使用nginx反向代理,这里关闭内部的TLS,如果要使用内部的TLS,就true SCREEGO_SERVER_TLS=false # 监听端口,之后使用反向代理,这里设置监听在本地 SCREEGO_SERVER_ADDRESS=127.0.0.1:5050 # TURN监听端口 SCREEGO_TURN_ADDRESS=0.0.0.0:3478 # 使用反向代理这里必须启用 SCREEGO_TRUST_PROXY_HEADERS=true # 参数值all表示所有请求都需要身份验证。如果不需要验证,任何人都可以自由建立房间,改为true SCREEGO_AUTH_MODE=all # 修改为使用的域名,记得是https SCREEGO_CORS_ALLOWED_ORIGINS=//screego.ExampleDomainName.cn # 日志信息 SCREEGO_LOG_LEVEL=info # 用于身份验证的文件 SCREEGO_USERS_FILE=user
上面配置文件最后一行,我们使用user,touch新建一个user文件。在包含screego二进制文件里的文件夹里执行
./screego hash --name "linuxprobe" --pass "password"
对应的 linuxprobe 和 password 可以换成自定义的值。执行上述应该有类似的输出:
linuxprobe:$2a$12$9YgqeiL2MC2skKCj/ulpruOAlga5GdgXBECfubZCuapJGhGmQTuly
把输出内容写入到user文件里。
直接使用的nginx,可以编辑对应的conf配置文件,如screego.conf文件,反向代理写入以下配置,注意替换域名:
server { listen 80; server_name screego.ExampleDomainName.cn; location / { proxy_pass //127.0.0.1:5050; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_redirect // $scheme://; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto http; proxy_set_header Host $http_host; } }
如果使用宝塔,需要在站点新建反向代理到5050端口,在编辑反向代理文件,加入三条宝塔默认反向代理配置漏掉的三条:
proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_redirect // $scheme://;
Screego强制要求使用TLS,Nginx也得强制配置SSL。Nginx配置https证书都是常规操作,不在赘述。
所有配置完成之后,使用启动:
./screego serve
本文原创地址://gulass.cn/screego-create-screen.html编辑:倪家兴,审核员:逄增宝