Skip to content

Latest commit

 

History

History
70 lines (51 loc) · 2.51 KB

README.md

File metadata and controls

70 lines (51 loc) · 2.51 KB

rsRPC

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

Features

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

Building

Requirements

Testing it out

  1. Download a binary from releases, GitHub Actions or build it yourself below!
  2. If you just want to use the default detectable list, just run the binary!
  3. If you want to use your own detectable list, place a detectable.json file in the same directory as the binary (you can use the arRPC one as an example), then 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", tag = "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();
}