字节笔记本

2026年2月22日

Spark - 开源跨平台远程管理工具

Spark 是一个免费、安全、开源、基于网页、跨平台且功能丰富的远程管理工具,使用 Go 语言和 React 开发。它允许你通过浏览器随时随地管理设备,支持进程管理、文件传输、屏幕监控、远程终端等多种功能。

项目简介

Spark 是一款开源的远程设备管理解决方案,由 XZB-1248 开发维护。该项目在 GitHub 上已获得超过 2.3k stars,采用 BSD-2 协议开源。

与其他远程管理工具不同,Spark 具有以下核心优势:

  • 不收集数据:Spark 不会收集任何用户数据
  • 不自动更新:服务端不会在任何情况下进行自动更新
  • 直接通信:客户端永远只会和你的服务器通信,隐私优先
  • 跨平台支持:支持 Windows、Linux、macOS 三大主流操作系统

核心特性

Spark 提供了丰富的远程管理功能:

特性WindowsLinuxmacOS
进程管理
结束进程
网络状态
文件浏览
文件传输
文件编辑
代码高亮
屏幕监控
屏幕快照
系统信息
远程终端
关机/重启/注销部分支持部分支持

注意:带星号的功能(关机、重启、注销、睡眠、休眠、锁屏)可能需要管理员或 root 权限才能使用。

技术栈

后端

  • Go - 主要编程语言
  • Gin - Web 框架
  • WebSocket - 实时通信
  • screenshot - 屏幕截图
  • gopsutil - 系统信息获取

前端

  • React - UI 框架
  • Ant Design - 组件库
  • xterm.js - 终端模拟器
  • axios - HTTP 客户端

快速开始

二进制运行(推荐)

  1. GitHub Releases 下载对应平台的二进制文件
  2. 创建配置文件 config.json
  3. 运行服务端并访问管理界面
  4. 生成客户端并部署到目标设备

配置文件示例

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 值并重新部署客户端

项目链接

开源协议

本项目基于 BSD-2 协议 开源。

分享: