XZB-1248/Spark
XZB-1248/Spark has 2,409 GitHub stars and 583 forks. GitHot measured -1 stars in 24 hours. Last checked 2026-11-08 20:18 UTC. Last push 2026-03-16.
✨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、跨平台以及多功能的远程控制和监控工具,你可以随时随地监控和控制所有设备。
可以做什么
- Process Manager - ✔ - ✔ - ✔
- Kill Process - ✔ - ✔ - ✔
- Network Traffic - ✔ - ✔ - ✔
- File Explorer - ✔ - ✔ - ✔
实测星标增长
- 24小时
- -1
- 7天
- 正在收集历史
- 15天
- 正在收集历史
- 1个月
- 正在收集历史
各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。
README.ZH.md
原文[English] [中文] [API Document] [API文档]
Spark
Spark 是一个免费、安全、开源、基于网页、跨平台且功能丰富的远程管理工具,可以让你通过浏览器,随时随地管理设备。
✅ 不收集数据: Spark不会收集任何用户数据。
✅ 不自动更新: 服务端不会在任何情况下进行自动更新。
✅ 直接通信: 客户端永远只会和你的服务器通信,隐私优先。
⚠️ 免责声明
本项目及其源代码和发行版,旨在用于学习和交流。
❌ 禁止用于任何非法用途!
❌ 使用本项目所带来的风险由使用者本人承担。
✅ 作者和开发者不会对你错误使用而造成的损害承担任何责任。
如果你发现了任何安全问题,请不要发布issue,并立即联系我。
🚀 快速开始
二进制运行
- 在releases中下载二进制文件。
- 按照配置文件说明,设置好配置文件。
- 运行服务端,访问
IP:端口,例如http://localhost:8000/。 - 在管理页面中生成客户端,并部署到目标设备上。
- 开始控制目标设备。
⚙️ 配置文件
在服务端的根目录下,创建config.json文件,按照以下格式填写:
{
"listen": ":8000",
"salt": "123456abcdef",
"auth": {
"username": "password"
},
"log": {
"level": "info",
"path": "./logs",
"days": 7
}
}
listen(必填),格式为IP:端口salt(必填),长度不大于24的随机字符串,修改后需要重新部署所有客户端auth(选填),格式为用户名:密码- 密码强烈建议使用hash加密(格式为
$算法$密文,例如$sha256$11223344556677AABBCCDDEEFF) - 支持的算法有:
sha256,sha512和bcrypt
- 密码强烈建议使用hash加密(格式为
log(选填),日志配置level日志等级,可选值:disable,fatal,error,warn,info,debugpath日志保存目录(默认为./logs)days日志保存天数(默认为7)
🛠️ 特性
| 特性/OS | Windows | Linux | MacOS |
|---|---|---|---|
| 进程管理 | ✔ | ✔ | ✔ |
| 结束进程 | ✔ | ✔ | ✔ |
| 网络状态 | ✔ | ✔ | ✔ |
| 文件浏览 | ✔ | ✔ | ✔ |
| 文件传输 | ✔ | ✔ | ✔ |
| 文件编辑 | ✔ | ✔ | ✔ |
| 删除文件 | ✔ | ✔ | ✔ |
| 代码高亮 | ✔ | ✔ | ✔ |
| 屏幕监控 | ✔ | ✔ | ✔ |
| 屏幕快照 | ✔ | ✔ | ✔ |
| 系统信息 | ✔ | ✔ | ✔ |
| 远程终端 | ✔ | ✔ | ✔ |
| * 关机 | ✔ | ✔ | ✔ |
| * 重启 | ✔ | ✔ | ✔ |
| * 注销 | ✔ | ❌ | ✔ |
| * 睡眠 | ✔ | ❌ | ✔ |
| * 休眠 | ✔ | ❌ | ❌ |
| * 锁屏 | ✔ | ❌ | ❌ |
🚨 星号代表该功能可能需要管理员或root权限才能使用。
📸 截图







🔧 开发
组件
本项目由三个部分组成:
- 客户端
- 服务端
- 前端
如果要让客户端支持除了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
# 服务端嵌入静态资源
$ 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
功能定制
如果需要二次开发/功能定制,请联系[email protected]。
项目依赖
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)
感谢
- natpass (MIT License)
- 图像差异部分参考了natpass项目的有关逻辑。
Star趋势
📜 开源协议
本项目基于 BSD-2 协议 。