Spark 是一个免费、安全、开源、基于网页、跨平台且功能丰富的远程管理工具,可以让你通过浏览器,随时随地管理设备。
本项目不收集你的任何信息,无论是服务端或是客户端。因此,服务端永远不会自动更新,客户端永远只会与服务端通信。
本项目及其源代码和发行版,旨在用于学习和交流。
禁止用于任何非法用途!
使用本项目所带来的风险由使用者本人承担。
作者和开发者不会对你错误使用而造成的损害承担任何责任。
数据无价,在点击任何按钮、输入任何命令之前,请三思。
IP:端口,例如 http://localhost:8000/ 。在服务端的根目录下,创建config.json文件,按照以下格式填写:
json
{
"listen": ":8000",
"salt": "123456abcdefg",
"auth": {
"username": "password"
},
"log": {
"level": "info",
"path": "./logs",
"days": 7
}
}
listen 必填,格式为 IP:端口salt 必填,修改后需要重新部署客户端,长度不大于24auth 选填,格式为 用户名:密码$算法$密文,例如$sha256$123456abcdefgsha256,sha512和bcryptlog 选填,日志配置level 选填,可选值:disable, fatal, error, warn, info, debugpath 选填,默认为./logsdays 选填,默认为7| 特性/OS | Windows | Linux | MacOS |
|---|---|---|---|
| 进程管理 | ✔ | ✔ | ✔ |
| 结束进程 | ✔ | ✔ | ✔ |
| 网络状态 | ✔ | ✔ | ✔ |
| 文件浏览 | ✔ | ✔ | ✔ |
| 文件传输 | ✔ | ✔ | ✔ |
| 文件编辑 | ✔ | ✔ | ✔ |
| 删除文件 | ✔ | ✔ | ✔ |
| 代码高亮 | ✔ | ✔ | ✔ |
| 屏幕监控 | ✔ | ✔ | ✔ |
| 屏幕快照 | ✔ | ✔ | ✔ |
| 系统信息 | ✔ | ✔ | ✔ |
| 远程终端 | ✔ | ✔ | ✔ |
| * 关机 | ✔ | ✔ | ✔ |
| * 重启 | ✔ | ✔ | ✔ |
| * 注销 | ✔ | ❌ | ✔ |
| * 睡眠 | ✔ | ❌ | ✔ |
| * 休眠 | ✔ | ❌ | ❌ |
| * 锁屏 | ✔ | ❌ | ❌ |







本项目由三个部分组成,你必须把它们都编译一下。
如果你不想陷入无止尽的安装、配置的过程,建议去 快速开始 。
如果要让客户端支持除了Linux和Windows之外的系统,你必须要安装对应的C交叉编译工具链。
例如,如果要给Android系统编译客户端,那就必须安装 Android NDK 。
# Clone该项目。
$ git clone https://github.com/XZB-1248/Spark
$ cd ./Spark
# 开始编译前端页面。
$ cd ./web
# 安装所有的依赖,然后编译。
$ npm install
$ npm run build-prod
# 通过statik,将前端文件嵌入到服务端里。
$ cd ..
$ go install github.com/rakyll/statik
$ statik -m -src="https://github.com/XZB-1248/Spark/raw/v0.2.1/web/dist" -f -dest="./server/embed" -p web -ns web
# 开始编译客户端。
# 在使用类Unix系统时,运行以下命令。
$ mkdir ./built
$ go mod tidy
$ go mod download
$ ./scripts/build.client.sh
# 最终开始编译服务端。
$ mkdir ./releases
$ ./scripts/build.server.sh
另外新建一个目录,将releases目录中对应的服务端版本复制进去。
回到项目目录,把整个built目录复制到新建的目录中。
最后,把开头提到的配置文件也复制进去,即可运行服务端。
Spark使用了许多第三方的开源项目。
依赖列表可以在 go.mod 和 package.json 里面找到。
一些主要的依赖项如下列所示。
gin-gonic/gin (MIT License)
imroc/req (MIT License)
kbinani/screenshot (MIT License)
gorilla/websocket (BSD-2-Clause License)
olahol/melody (BSD-2-Clause License)
orcaman/concurrent-map (MIT License)
React (MIT License)
Ant-Design (MIT License)
axios (MIT License)
xterm.js (MIT License)
crypto-js (MIT License)
本项目基于 BSD-2 协议 。
$ claude mcp add Spark \
-- python -m otcore.mcp_server <graph>