Skip to content

Latest commit

 

History

History
218 lines (147 loc) · 7.15 KB

README.md

File metadata and controls

218 lines (147 loc) · 7.15 KB

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.