Skip to content
/ Spark Public

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

License

Notifications You must be signed in to change notification settings

XZB-1248/Spark

Repository files navigation


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.


GitHub repo size GitHub issues GitHub closed issues
GitHub downloads GitHub 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:

{
    "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/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

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

# 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 [email protected].


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

  • natpass (MIT License)
  • Image difference algorithm inspired by natpass.

Stargazers over time

Stargazers over time


📜 License

Distributed under the BSD-2 License.

About

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

Topics

Resources

License

Stars

Watchers

Forks