字
字节笔记本
2026年2月22日
Spark - 开源跨平台远程管理工具
Spark 是一个免费、安全、开源、基于网页、跨平台且功能丰富的远程管理工具,使用 Go 语言和 React 开发。它允许你通过浏览器随时随地管理设备,支持进程管理、文件传输、屏幕监控、远程终端等多种功能。
项目简介
Spark 是一款开源的远程设备管理解决方案,由 XZB-1248 开发维护。该项目在 GitHub 上已获得超过 2.3k stars,采用 BSD-2 协议开源。
与其他远程管理工具不同,Spark 具有以下核心优势:
- 不收集数据:Spark 不会收集任何用户数据
- 不自动更新:服务端不会在任何情况下进行自动更新
- 直接通信:客户端永远只会和你的服务器通信,隐私优先
- 跨平台支持:支持 Windows、Linux、macOS 三大主流操作系统
核心特性
Spark 提供了丰富的远程管理功能:
| 特性 | Windows | Linux | macOS |
|---|---|---|---|
| 进程管理 | ✔ | ✔ | ✔ |
| 结束进程 | ✔ | ✔ | ✔ |
| 网络状态 | ✔ | ✔ | ✔ |
| 文件浏览 | ✔ | ✔ | ✔ |
| 文件传输 | ✔ | ✔ | ✔ |
| 文件编辑 | ✔ | ✔ | ✔ |
| 代码高亮 | ✔ | ✔ | ✔ |
| 屏幕监控 | ✔ | ✔ | ✔ |
| 屏幕快照 | ✔ | ✔ | ✔ |
| 系统信息 | ✔ | ✔ | ✔ |
| 远程终端 | ✔ | ✔ | ✔ |
| 关机/重启/注销 | ✔ | 部分支持 | 部分支持 |
注意:带星号的功能(关机、重启、注销、睡眠、休眠、锁屏)可能需要管理员或 root 权限才能使用。
技术栈
后端
- Go - 主要编程语言
- Gin - Web 框架
- WebSocket - 实时通信
- screenshot - 屏幕截图
- gopsutil - 系统信息获取
前端
- React - UI 框架
- Ant Design - 组件库
- xterm.js - 终端模拟器
- axios - HTTP 客户端
快速开始
二进制运行(推荐)
- 在 GitHub Releases 下载对应平台的二进制文件
- 创建配置文件
config.json - 运行服务端并访问管理界面
- 生成客户端并部署到目标设备
配置文件示例
json
{
"listen": ":8000",
"salt": "123456abcdef",
"auth": {
"username": "password"
},
"log": {
"level": "info",
"path": "./logs",
"days": 7
}
}配置说明:
listen(必填):监听地址,格式为IP:端口salt(必填):长度不大于 24 的随机字符串,用于加密通信auth(选填):认证信息,支持明文或哈希密码(sha256/sha512/bcrypt)log(选填):日志配置
从源码编译
bash
# 克隆项目
git clone https://github.com/XZB-1248/Spark
cd ./Spark
# 编译前端
cd ./web
npm install
npm run build-prod
# 服务端嵌入静态资源
cd ..
go install github.com/rakyll/statik
statik -m -src="./web/dist" -f -dest="./server/embed" -p web -ns web
# 编译客户端
mkdir ./built
go mod tidy
go mod download
./scripts/build.client.sh
# 编译服务端
mkdir ./releases
./scripts/build.server.sh使用场景
- 服务器运维:远程管理多台服务器,查看系统状态、进程管理
- 技术支持:远程协助客户解决问题,查看屏幕、传输文件
- 个人设备管理:统一管理个人多台电脑,跨平台操作
- 开发调试:远程查看日志、执行命令、调试程序
安全提示
⚠️ 免责声明:本项目旨在用于学习和交流,禁止用于任何非法用途。使用本项目所带来的风险由使用者本人承担。
- 建议使用强密码并启用哈希加密
- 部署在可信网络环境或使用 VPN/内网穿透
- 定期更新 salt 值并重新部署客户端
项目链接
- GitHub 仓库:https://github.com/XZB-1248/Spark
- API 文档:中文 | English
- 问题反馈:GitHub Issues
开源协议
本项目基于 BSD-2 协议 开源。
分享: