GitPedia

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、跨平台以及多功能的远程控制和监控工具,你可以随时随地监控和控制所有设备。

From XZB-1248·Updated June 26, 2026·View on GitHub·

**[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.

Latest release: v0.2.1
February 1, 2023View Changelog →

[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.


GitHub repo sizeGitHub issuesGitHub closed issues
GitHub downloadsGitHub release (latest by date)

⚠️ 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

  1. Download the executable from the releases page.
  2. Follow the Configuration instructions.
  3. Run the executable and access the web interface at http://IP:Port.
  4. Generate a client and run it on the target device.
  5. 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): Format IP: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.
  • log (optional): Logging configuration.
    • level: disable, fatal, error, warn, info, debug.
    • path: Log directory (default: ./logs).
    • days: Log retention days (default: 7).

🛠️ Features

Feature/OSWindowsLinuxMacOS
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

overview
terminal
desktop
proc_mgr
explorer
overview.cpu
explorer.editor


🔧 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

Front-end

Acknowledgements

VPS.Town


Stargazers over time

Stargazers over time


📜 License

Distributed under the BSD-2 License.

Contributors

Showing top 1 contributor by commit count.

View all contributors on GitHub →

This article is auto-generated from XZB-1248/Spark via the GitHub API.Last fetched: 6/27/2026