[English] [中文] [API Document] [API文档]
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.
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.
- 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!
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
}
}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).
| 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.
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.
# 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.shIf you need to customize some features, please contact me via i@1248.ink.
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.
-
gin-gonic/gin (MIT License)
-
imroc/req (MIT License)
-
kbinani/screenshot (MIT License)
-
gorilla/websocket (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)
- Image difference algorithm inspired by natpass.
Distributed under the BSD-2 License.








