你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Screego——一个开源的用go语言写的屏幕投影软件

[复制链接]
gaosmile 发布时间:2020-12-14 23:23
Screego是一个开源的用go语言写的屏幕投影软件,可以以高质量低延迟将你的屏幕演示给其他人看,screego带有身份验证,集成了TURN服务方便NAT遍历。有了它我们可以自建一个便捷的共享屏幕服务器。共享看片,指日可待。
项    目
Screego提供了docker、多个平台的可执行二进制文件和源码的下载。
演示说明
Screego强制要求使用TLS,我这里演示使用nginx反向代理二进制文件,也可以直接在Screego内部使用,自行研究文档。
0 G* Z+ l. G$ Z1 h2 r% S8 Q
6 {  D# R, z" K$ @; q# x
下载) P2 [# _% |  y' D, J
从github的releases页面下载适合centos的linux_amd64.tar.gz包wget https://github.com/screego/serve ... _linux_amd64.tar.gz
% x! H0 r/ u; l% J, S- V" i
<以上代码可复制粘贴,可往左滑>
" u# x# f6 l( I3 h" Q  o
解压# ^6 o. M/ |. a- Q: k5 {4 [/ o+ D
解压之后包含"screego","screego.config.example"这两个文件,"screego"是二进制可执行文件,"screego.config.example"是config文件配置范例。$ u" N7 C& n" n3 r/ u) h9 H' X
编辑配置文件/ Z6 c3 e1 M# e! E: g
"screego.config.example"是包含所有的参考案例。新建一个screego.config,注意不要打成screen。写入以下配置:# 服务器公网IP
% l! ?% G0 `  O2 o. y% [0 vSCREEGO_EXTERNAL_IP=X.X.X.X- R, f% d- i! _; v8 E; D( X
# 设置密钥,任意随机字符就行
# j6 ]! d9 V5 K2 t4 tSCREEGO_SECRET=8w6EJ183hqFieprl
# b6 `- V; [1 i/ `( b# 后续使用nginx反向代理,这里关闭内部的TLS,如果要使用内部的TLS,就true
" T6 P$ x8 M. b; CSCREEGO_SERVER_TLS=false
8 R/ \/ L2 ~5 P; m3 y, d8 I0 j# 监听端口,之后使用反向代理,这里设置监听在本地
# ?. _; a* t9 y( ~" cSCREEGO_SERVER_ADDRESS=127.0.0.1:5050( q$ U8 h5 t- c& i! q# M+ u
# TURN监听端口5 v* R- _9 j8 Z: x
SCREEGO_TURN_ADDRESS=0.0.0.0:3478
7 A0 m6 ]) y( v$ l4 K# 使用反向代理这里必须启用
% i( ?' P2 D, o5 b. _# ?" {2 zSCREEGO_TRUST_PROXY_HEADERS=true" Z+ U$ a2 r/ v  l8 G8 D4 \
# 参数值all表示所有请求都需要身份验证。如果不需要验证,任何人都可以自由建立房间,改为true
' d/ c- m( W- c, j! U5 {  cSCREEGO_AUTH_MODE=all
' d; s0 Y3 G% ~9 o$ [+ v7 s% x* O# 修改为使用的域名,记得是https
5 O9 z2 v8 B* \  C5 z( M) }, ?2 Q; USCREEGO_CORS_ALLOWED_ORIGINS=https://screego.ExampleDomainName.cn1 d# w* R% ~" Y) F* G3 U, o- [
# 日志信息  j! D! L. ?& V3 M+ z* K
SCREEGO_LOG_LEVEL=info
; X* ?) W2 ~1 b) L# 用于身份验证的文件& r% b& L6 N' [% @5 M* q
SCREEGO_USERS_FILE=user
. D" a0 X. `+ }5 p- X% |# ]- e
<以上代码可复制粘贴,可往左滑>
" r" `( n9 }2 C! W0 {- H( a) e
6 f2 ~& q6 g0 }2 B5 k

4 p7 k, ]1 |; L/ R! F建立用户) N  }2 ?* T; ~; I; h% Q$ r: S3 ]
上面配置文件最后一行,我们使用user,touch新建一个user文件。在包含screego二进制文件里的文件夹里执行./screego hash --name "linuxprobe" --pass "password". n' D: N' n/ Y5 X, T2 U9 B
<以上代码可复制粘贴,可往左滑>对应的 linuxprobe 和 password 可以换成自定义的值。执行上述命令应该有类似的输出:linuxprobe2a$12$9YgqeiL2MC2skKCj/ulpruOAlga5GdgXBECfubZCuapJGhGmQTuly. I* B* q9 M& ?4 |& j
<以上代码可复制粘贴,可往左滑>把输出内容写入到user文件里。
$ A( l9 ?$ G# m' b2 a, b+ v配置反向代理
2 F  W( b% ~1 l直接使用的nginx,可以编辑对应的conf配置文件,如screego.conf文件,反向代理写入以下配置,注意替换域名:server {' V6 D' |6 W' i7 `6 l. M
listen 80;9 W! h* U7 w8 `9 a9 x  r
server_name screego.ExampleDomainName.cn;9 A! x3 G4 D$ V+ ?7 I

: S+ R& n+ u% S, Glocation / {$ G, X& {6 W  a; c* N9 ~( K
proxy_pass http://127.0.0.1:5050;7 e5 o) d& s2 o- V( g
proxy_http_version 1.1;
/ k% W5 H% D- g# t- g9 r, lproxy_set_header Upgrade $http_upgrade;( u& K* O  t3 M; S  X5 _
proxy_set_header Connection "upgrade";
* j! }' O. n1 d- l1 t; kproxy_redirect http:// $scheme://;, Y. ^4 I% E  P
proxy_set_header X-Real-IP $remote_addr;$ ^0 t+ J9 V4 B) ]/ H
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
! j; N: y! N/ z7 Eproxy_set_header X-Forwarded-Proto http;
7 |" |! R! u+ ~7 hproxy_set_header Host $http_host;
# S6 e$ W. Q4 S5 a}
) p# }/ t, S% D' q: M4 F}
8 B  B4 E! f, T* p. F8 s
<以上代码可复制粘贴,可往左滑>如果使用宝塔,需要在站点新建反向代理到5050端口,在编辑反向代理文件,加入三条宝塔默认反向代理配置漏掉的三条:proxy_set_header Upgrade $http_upgrade;
; K! B! M" ]' G4 X6 y" Mproxy_set_header Connection "upgrade";  x8 R/ `) A9 W2 A
proxy_redirect http:// $scheme://;2 g1 |; |: d8 e
<以上代码可复制粘贴,可往左滑>
微信图片_20201214232051.png

' s0 i! u- ^4 J7 G3 M
微信图片_20201214232054.png
TLS( o: _% A* a0 M7 P8 i
Screego强制要求使用TLS,Nginx也得强制配置SSL。Nginx配置https证书都是常规操作,不在赘述。
使用
所有配置完成之后,使用命令启动:./screego serve, |2 P& v" }$ @. a$ z) ~
<以上代码可复制粘贴,可往左滑>
微信图片_20201214232056.png
访问域名
微信图片_20201214232100.png
微信图片_20201214232103.png
微信图片_20201214232106.png
微信图片_20201214232109.png
微信图片_20201214232112.png
微信图片_20201214232115.png
微信图片_20201214232118.png
微信图片_20201214232121.jpg

- x3 `; ?: l* @3 O5 S8 x! P& O
! y! [! w3 a# y: N3 ]" w3 {
赞 收藏 评论0 发布时间:2020-12-14 23:23

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版