推荐一个 GitHub 开源项目 XZB-1248/Spark,该项目在 GitHub 有超过 600 Star,用一句话介绍该项目就是:“✨Spark is a web-based, cross-platform and full-featured Remote Administration Tool (RAT) written in Go that allows you control all your devices anywhere. Spark是一个 Go 编写的,网页UI、跨平台以及多功能的远程控制和监控工具,可以随时随地监控和控制所有设备。”。

  • 基于 web,只要是现代浏览器,基本上都能跑
  • 提供 API,可以让你自己远程控制设备
  • 全平台支持,目前支持 macOS ,linux ,windows
  • 私有化部署,不会有任何数据传输到外网,服务端不包含自动更新
  • 支持 web shell,也是支持全平台(不是 Guacamole !)
  • 文件管理,文件上传,打包下载,文本编辑,代码高亮,图片查看
  • 系统信息,MAC ,WAN ,LAN ,内存,CPU ,磁盘,带宽吞吐等
  • 基本功能,关机、重启、注销、睡眠,均由系统 API 实现,不是运行命令
  • 设备截屏( windows 下需要用户权限,计划任务或者服务没法用)
  • 进程管理,目前只有结束进程,查看进程和进程 PID 等功能
  • All in one,go 编写,不需要安装任何环境

以下是 Spark 项目的部分使用页面。

1、设备列表及操作列表

跨平台多功能远程控制和监控工具 - 图1

2、登录机器 Shell 执行命令

跨平台多功能远程控制和监控工具 - 图2

3、桌面远程访问

跨平台多功能远程控制和监控工具 - 图3

4、远程设备的进程管理

跨平台多功能远程控制和监控工具 - 图4

5、远程设备文件管理

跨平台多功能远程控制和监控工具 - 图5

Spark 完全基于浏览器 UI 进行管理,所以在任何的设备上安装对应的 Agent 就可以通过浏览器进行远程的控制和管理。

以下是该项目 Star 趋势图(代表项目的活跃程度):

跨平台多功能远程控制和监控工具 - 图6

通过下载二进制的文件即可快速开始试用:

  • 下载服务端,按照配置文件说明,设置好配置文件。
  • 运行服务端,访问IP:端口,例如 http://localhost:8000/
  • 在管理页面中生成客户端,并部署到设备上。

跨平台多功能远程控制和监控工具 - 图7

配置文件
在服务端的根目录下,创建config.json文件,按照以下格式填写:
  1. {
  2. "listen": ":8000",
  3. "salt": "123456abcdef",
  4. "auth": {
  5. "username": "password"
  6. },
  7. "log": {
  8. "level": "info",
  9. "path": "./logs",
  10. "days": 7
  11. }
  12. }
  • listen 必填,格式为 IP:端口
  • salt 必填,修改后需要重新部署客户端,长度不大于24
  • auth 选填,格式为 用户名:密码 - 密码强烈建议使用hash加密 - 格式为$算法$密文,例如$sha256$11223344556677AABBCCDDEEFF - 支持的算法有:sha256sha512bcrypt - 如果不按照格式填写,将会被视为明文密码
  • log 选填,日志配置 - level 选填,可选值:disable, fatal, error, warn, info, debug - path 选填,默认为./logs - days 选填,默认为7

目前 Spark 支持主流的三个系统 Windows、Linux、MacOS,功能基本在三个系统上都支持,有部分差异。功能列表如下图:

跨平台多功能远程控制和监控工具 - 图8

更多项目详情请查看如下链接。 开源项目地址:https://github.com/XZB-1248/Spark 开源项目作者:XZB-1248