[Spark] 基于浏览器的开源跨平台远程控制 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
summer2019
V2EX    分享创造

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

  •  2
     
  •   summer2019 2022-03-16 17:38:19 +08:00 3657 次点击
    这是一个创建于 1310 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    欢迎各位大佬的 star

    为什么要造轮子

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

    有什么特性

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

    截图

    总览 文件管理 进程管理 终端管理

    16 条回复    2022-03-21 09:06:23 +08:00
    gps949
        1
    gps949  
       2022-03-16 17:59:43 +08:00
    jumpserver 、next-terminal 、wgcloud……

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

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

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

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

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

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



    另外终端不能输入中文,不知道是 bug 还是 feature 了
    summer2019
        16
    summer2019  
    OP
       2022-03-21 09:06:23 +08:00
    @hbtech 因为当初就是用 windows 编写的,所以对 windows 支持比较好。
    linux 系统下基于兼容性考虑,默认用的 /bin/sh ,所以不显示用户名和当前目录。
    至于中文乱码,这是当初用 windows 开发,windows 里面中文是 gbk 编码,终端在传输数据的时候直接进行了转码,所以可能在 linux 下中文出错。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2886 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 14:10 PVG 22:10 LAX 07:10 JFK 10:10
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86