Spark
✨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、跨平台以及多功能的远程控制和监控工具,你可以随时随地监控和控制所有设备。
**[Spark](https://github.com/XZB-1248/Spark)** is a free, safe, open-source, web-based, cross-platform, and full-featured RAT (Remote Administration Tool) that allows you to control all your devices via browser anywhere. The project is written primarily in Go, distributed under the BSD 2-Clause "Simplified" License license, first published in 2022. It has gained significant community traction with 2,364 stars and 582 forks on GitHub. Key topics include: dashboard, go, golang, rat, remote-access-tool.
[English] [中文] [API Document] [API文档]
<h1> <img src="./docs/logo.png" alt="Spark" width="60" align="absmiddle"/> Spark </h1>
Spark is a free, safe, open-source, web-based, cross-platform, and full-featured RAT (Remote Administration Tool) that allows you to control all your devices via browser anywhere.
✅ No data collection: Spark does not collect any user information.
✅ No auto-updates: The server will not update itself.
✅ Direct communication: Clients communicate exclusively with your server.
⚠️ Disclaimer
THIS PROJECT, ITS SOURCE CODE, AND RELEASES SHOULD ONLY BE USED FOR EDUCATIONAL PURPOSES.
❌ Illegal usage is strictly prohibited.
❌ Authors and developers are not responsible for any misuse.
✅ Use it at your own risk.
If you find security vulnerabilities, do not open an issue. Contact me immediately via email.
🚀 Quick Start
Binary Execution
- Download the executable from the releases page.
- Follow the Configuration instructions.
- Run the executable and access the web interface at
http://IP:Port. - Generate a client and run it on the target device.
- Start managing your devices!
⚙️ Configuration
The configuration file config.json should be in the same directory as the executable.
Example:
json{ "listen": ":8000", "salt": "123456abcdef123456", "auth": { "username": "password" }, "log": { "level": "info", "path": "./logs", "days": 7 } }
Main Parameters:
listen(required): FormatIP:Port.salt(required): Max length 24 characters. After modification, all clients need to be regenerated.auth(optional): Authentication credentials (username:password).- Hashed passwords are recommended (
$algorithm$hashed-password). - Supported algorithms:
sha256,sha512,bcrypt.
- Hashed passwords are recommended (
log(optional): Logging configuration.level:disable,fatal,error,warn,info,debug.path: Log directory (default:./logs).days: Log retention days (default:7).
🛠️ Features
| Feature/OS | Windows | Linux | MacOS |
|---|---|---|---|
| Process Manager | ✔ | ✔ | ✔ |
| Kill Process | ✔ | ✔ | ✔ |
| Network Traffic | ✔ | ✔ | ✔ |
| File Explorer | ✔ | ✔ | ✔ |
| File Transfer | ✔ | ✔ | ✔ |
| File Editor | ✔ | ✔ | ✔ |
| Delete File | ✔ | ✔ | ✔ |
| Code Highlighting | ✔ | ✔ | ✔ |
| Desktop Monitor | ✔ | ✔ | ✔ |
| Screenshot | ✔ | ✔ | ✔ |
| OS Info | ✔ | ✔ | ✔ |
| Remote Terminal | ✔ | ✔ | ✔ |
| * Shutdown | ✔ | ✔ | ✔ |
| * Reboot | ✔ | ✔ | ✔ |
| * Log Off | ✔ | ❌ | ✔ |
| * Sleep | ✔ | ❌ | ✔ |
| * Hibernate | ✔ | ❌ | ❌ |
| * Lock Screen | ✔ | ❌ | ❌ |
🚨 Functions marked with * may require administrator/root privileges.
📸 Screenshots







🔧 Development
Components
This project consists of three main components:
- Client
- Server
- Front-end
For OS support beyond Linux and Windows, additional C compilers may be required. For example, to support Android, install Android NDK.
Build Guide
bash# Clone the repository git clone https://github.com/XZB-1248/Spark cd ./Spark # Build the front-end cd ./web npm install npm run build-prod # Embed static resources cd .. go install github.com/rakyll/statik statik -m -src="./web/dist" -f -dest="./server/embed" -p web -ns web # Build the client mkdir ./built go mod tidy go mod download ./scripts/build.client.sh # Build the server mkdir ./releases ./scripts/build.server.sh
Custom Features
If you need to customize some features, please contact me via i@1248.ink.
Dependencies
Spark contains many third-party open-source projects.
Lists of dependencies can be found at go.mod and package.json.
Some major dependencies are listed below.
Back-end
-
gin-gonic/gin (MIT License)
-
imroc/req (MIT License)
-
kbinani/screenshot (MIT License)
-
gorilla/websocket (BSD-2-Clause License)
-
orcaman/concurrent-map (MIT License)
Front-end
-
React (MIT License)
-
Ant-Design (MIT License)
-
axios (MIT License)
-
xterm.js (MIT License)
-
crypto-js (MIT License)
Acknowledgements
- natpass (MIT License)
Stargazers over time
📜 License
Distributed under the BSD-2 License.
Contributors
Showing top 1 contributor by commit count.

