SpikeHD / rsRPC

Rust implementation of the Discord RPC server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rsRPC

Discord RPC server binary and library, lovingly written in Rust using the core research from arRPC (love you guys đź’•)

Features

  • Basic process detection
  • Socket-based RPC detection
  • Add new processes on the fly
  • Manually trigger scans

Building

Requirements

Testing it out

  1. Download a binary from actions or build it yourself below!
  2. Place a detectable.json file in the same directory as the binary (you can use the arRPC one as an example)
  3. Run the binary with ./rsrpc -d ./detectable.json

Building the binary

  1. Clone the repository
  2. Place a detectable.json file in the root folder (you can use the arRPC one as an example)
  3. If you wanna try it out, run cargo run --features binary -- -d ./detectable.json in the root directory
  4. If you want to make a build, run cargo build --features binary in the root directory
  5. The binary will be in target/release/rsrpc

Using as a library

  1. Add the following to your Cargo.toml file:
[dependencies]
rsrpc = { git = "https://www.github.com/SpikeHD/rsRPC", branch = "VERSION_NUMBER_HERE" }
  1. Use the library in your code:
use rsrpc::RPCServer;

fn main() {
  let mut server = RPCServer::from_file("./detectable.json");
  server.start();
}

You can also grab the detectable.json programmatically and pass it via string:

fn main() {
  let detectable = reqwest::blocking::get("https://raw.githubusercontent.com/OpenAsar/arrpc/main/src/process/detectable.json").unwrap().text().unwrap();

  // This accepts both a `&str` or a `String`
  let mut server = RPCServer::from_json_str(detectable);

  server.start();
}

About

Rust implementation of the Discord RPC server

License:MIT License


Languages

Language:Rust 100.0%