{"id":16620558,"url":"https://github.com/spikehd/rsrpc","last_synced_at":"2025-03-21T14:31:41.331Z","repository":{"id":189061876,"uuid":"679025327","full_name":"SpikeHD/rsRPC","owner":"SpikeHD","description":"Rust implementation of the Discord RPC server","archived":false,"fork":false,"pushed_at":"2025-03-12T15:53:54.000Z","size":234,"stargazers_count":22,"open_issues_count":4,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T02:12:57.264Z","etag":null,"topics":["discord","discord-rpc","rpc","rpc-server","rust","rust-lang"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SpikeHD.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-16T00:04:20.000Z","updated_at":"2025-03-12T15:53:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"dcb0801b-1a21-4869-9ef2-f47782748ed5","html_url":"https://github.com/SpikeHD/rsRPC","commit_stats":null,"previous_names":["spikehd/rsrpc"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpikeHD%2FrsRPC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpikeHD%2FrsRPC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpikeHD%2FrsRPC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpikeHD%2FrsRPC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpikeHD","download_url":"https://codeload.github.com/SpikeHD/rsRPC/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244815234,"owners_count":20514918,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["discord","discord-rpc","rpc","rpc-server","rust","rust-lang"],"created_at":"2024-10-12T02:44:34.629Z","updated_at":"2025-03-21T14:31:41.326Z","avatar_url":"https://github.com/SpikeHD.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=center\u003e\n  \u003ch1\u003ersRPC\u003c/h1\u003e\n\n  \u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/SpikeHD/rsRPC/build.yml\" /\u003e\n    \u003cimg src=\"https://img.shields.io/github/actions/workflow/status/SpikeHD/rsRPC/code_quality.yml?label=code quality\" /\u003e\n    \u003cimg src=\"https://img.shields.io/github/repo-size/SpikeHD/rsRPC\" /\u003e\n  \u003c/div\u003e\n  \u003cp\u003eAlternative Discord RPC server CLI tool and Rust library, inspired by \u003ca href=\"https://github.com/OpenAsar/arRPC\"\u003earRPC\u003c/a\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n# Features\n\n* Process detection\n* IPC/Socket-based RPC detection\n* Websocket-based RPC detection\n* `INVITE_BROWSER` support\n* Adding new processes on the fly\n* Manually triggering scans\n\n# Building\n\n## Requirements\n\n- [Cargo and Rust](https://www.rust-lang.org/)\n\n## Testing it out\n\n1. Download a binary from [releases](https://github.com/SpikeHD/rsRPC/releases), [GitHub Actions](https://www.github.com/SpikeHD/rsRPC/actions) or build it yourself below!\n2. If you just want to use the default detectable list, just run the binary!\n3. 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](https://raw.githubusercontent.com/OpenAsar/arrpc/main/src/process/detectable.json) as an example), then run the binary with `./rsrpc-cli -d ./detectable.json`\n\n## Building the binary\n\n1. Clone the repository\n2. `cargo build -p rsrpc-cli --release`\n3. Your file will be in `target/release/`\n\n## Using as a library\n\n1. Add the following to your `Cargo.toml` file:\n\n```toml\n[dependencies]\nrsrpc = { git = \"https://www.github.com/SpikeHD/rsRPC\", tag = \"VERSION_NUMBER_HERE\" }\n```\n\n2. Use the library in your code:\n\n```rust\nuse rsrpc::{RPCServer, RPCConfig};\n\nfn main() {\n  let mut server = RPCServer::from_file(\"./detectable.json\", RPCConfig::default());\n  server.start();\n}\n```\n\nYou can also grab the `detectable.json` programmatically and pass it via string:\n```rust\nuse rsrpc::{RPCServer, RPCConfig};\n\nfn main() {\n  let detectable = reqwest::blocking::get(\"https://raw.githubusercontent.com/OpenAsar/arrpc/main/src/process/detectable.json\")?.text()?;\n  let mut server = RPCServer::from_json_str(detectable, RPCConfig::default());\n\n  server.start();\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspikehd%2Frsrpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspikehd%2Frsrpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspikehd%2Frsrpc/lists"}