[Spark] 基于浏览器的开源跨平台远程控制

2022-03-16 17:38:19 +08:00
 summer2019

首先先贴一下链接:https://github.com/XZB-1248/Spark

欢迎各位大佬的 star

为什么要造轮子

之所以重复造轮子,主要是为了方便自己的使用,传统的远控大都只能 C/S ,但是本人就稀罕浏览器,无奈支持浏览器的远程工具又太少,不符合自己的预期。 造轮子之前为了能够远程控制电脑,自己写了一个 server 版的远程工具,但是这么一来就必须依赖内网穿透,所以当时就一直想要做一个能够连接服务器,摆脱内网穿透的远程工具。

有什么特性

支持远程终端、设备快照截图、支持远程浏览、下载和删除设备中的文件,支持进程管理,支持常规的关机、重启、注销、锁屏、睡眠之类的功能。 此外,可以直接通过 API 来控制设备,获取设备基本信息,可以通过 API 来拓展一下用途。 最主要的是,可以随时通过浏览器来控制设备。

截图

2905 次点击
所在节点    分享创造
16 条回复
gps949
2022-03-16 17:59:43 +08:00
jumpserver 、next-terminal 、wgcloud……

只能说 Guacamole 养活了一批 web 终端工具
tyzrj766
2022-03-16 18:07:02 +08:00
撞头像了,我还以为我什么时候可以发技术贴子😂
summer2019
2022-03-16 18:08:53 +08:00
@gps949 其实你看一下就会发现,我没有用这些家伙。
这个远程终端,说实话就是远程让客户端调用 cmd 或者 sh ,所以不需要依赖这些。

唯一用的烂大街的东西,大概就是 xterm.js 和 antdesign 了吧
qwq11
2022-03-16 19:20:42 +08:00
我超!万叶!
chunyu
2022-03-16 22:24:17 +08:00
添加一个 系统监控 可以用来云监控服务器群了
summer2019
2022-03-16 23:33:41 +08:00
@qwq11
@tyzrj766
没看出来,这里还有这么多原神玩家ヾ(•ω•`)o😮
summer2019
2022-03-16 23:35:27 +08:00
@chunyu
确实可以,不过到时候得重新设计一下页面了,现在列表里已经放不下什么东西了
3dwelcome
2022-03-17 00:06:50 +08:00
看了一眼代码。不需要分协议的,个人推荐用 gRPC ,把传统的 restful post/get api 和 term websocket 封装在一起处理。

这样只需要一套逻辑代码,就可以同时对应短连接和长连接。

代码里那么多 go ,本质上还算 C/S 架构,就多了一个 web 当成 UI ,还是没把浏览器全部潜能给挖出来。
summer2019
2022-03-17 10:14:02 +08:00
@3dwelcome 当初立项的时候,考虑到既要长短连接,又要承载文件传输,首先就想到了 http+websocket ,然后就这么做下来了😂

当初首先考虑是要把 UI 做成网页以支持浏览器,没想到其他的,就简单地做了一下,所以本质上确实还是 C/S
MyFaith
2022-03-17 10:29:35 +08:00
一如既往的没有天津广播
MyFaith
2022-03-17 10:30:47 +08:00
@MyFaith 回复错帖子了 :(
ifwangs
2022-03-17 23:49:38 +08:00
看到名字想起了大数据那个 spark
weak
2022-03-18 10:03:52 +08:00
大佬 生成的客户端也需要配置文件吗? 客户端一直连不上
summer2019
2022-03-18 12:10:29 +08:00
@weak 客户端自然是不用的,可以检查一下路径之类的配置?
hbtech
2022-03-20 01:51:39 +08:00
很有意思啊,已 star

尝试在 win 本和树莓派用了一下,win 下适配得还好,树莓派( Raspberry Pi OS )下的终端感觉有点问题,首先是不会在前面显示用户名和当前目录,还有就是中文显示会乱码



另外终端不能输入中文,不知道是 bug 还是 feature 了
summer2019
2022-03-21 09:06:23 +08:00
@hbtech 因为当初就是用 windows 编写的,所以对 windows 支持比较好😂。
linux 系统下基于兼容性考虑,默认用的 /bin/sh ,所以不显示用户名和当前目录。
至于中文乱码,这是当初用 windows 开发,windows 里面中文是 gbk 编码,终端在传输数据的时候直接进行了转码,所以可能在 linux 下中文出错。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/840826

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX