✨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、跨平台以及多功能的远程控制和监控工具,你可以随时随地监控和控制所有设备。
[English] [[中文]](./README.ZH.md) [[API Document]](./API.md) [[API文档]](./API.ZH.md)
Spark
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:
{
"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).
$algorithm$hashed-password).
- Supported algorithms: sha256, sha512, bcrypt.
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
Build Guide
# 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.