Home

Awesome

<div align=center> <h1>rsRPC</h1> <div align="center"> <img src="https://img.shields.io/github/actions/workflow/status/SpikeHD/rsRPC/build.yml" /> <img src="https://img.shields.io/github/actions/workflow/status/SpikeHD/rsRPC/code_quality.yml?label=code quality" /> <img src="https://img.shields.io/github/repo-size/SpikeHD/rsRPC" /> </div> <p>Discord RPC server binary and library, lovingly written in Rust using the core research from <a href="https://github.com/OpenAsar/arRPC">arRPC</a> <sup>(love you guys 💕)</sup></p> </div>

Features

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();
}