Analysis updated 2026-05-18
Call iOS DeviceCheck or App Attest functions on a real device from a server
Route requests across a pool of devices grouped for load balancing
Trigger hardware-locked signing operations through an ordinary HTTP request
Monitor connected devices and their capabilities from a web dashboard
| icloudza/r1rpc | aasixh/devgrep | aspecttaleadapter/adobe-lightroom-classic-15-3-full | |
|---|---|---|---|
| Stars | 26 | 27 | 25 |
| Language | Go | Go | Go |
| Setup difficulty | moderate | easy | easy |
| Complexity | 4/5 | 2/5 | 1/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Requires MySQL and a physical device running the client, documentation is in Chinese.
r1rpc is a server that lets you call functions on a physical device from anywhere over the internet, using a normal HTTP request. The problem it solves is that some capabilities only work on real hardware: for example, certain iOS security features like DeviceCheck and App Attest, encrypted SDK calls, or signing operations that the device manufacturer intentionally requires to run on actual hardware rather than a server. If you need those results in an automated system, you previously had to build your own bridging mechanism. The way r1rpc works is that a physical device runs a small client that connects to the central r1rpc server over a long-lived WebSocket connection. When something wants to call a function on that device, it sends an ordinary HTTP request to the server. The server routes the request to an available connected device, waits for it to execute the function, and returns the result synchronously. From the caller's perspective, it looks like calling any HTTP API. The README describes this as "remote procedure call, but the procedure runs on your physical device." Devices can be organized into groups, and when multiple devices belong to the same group, the server automatically distributes incoming requests across them in round-robin fashion. This allows running a pool of physical devices to handle higher request volumes. Authentication is handled separately at three levels: an admin dashboard login, per-group API key authentication for callers, and a device key for each physical device. Devices register their supported capabilities automatically when they connect, so the dashboard shows what each device can do without manual configuration. The server is a single binary written in Go. The web dashboard is built in React and compiled directly into the binary, so there is no separate frontend to serve. The only external dependency is MySQL. There is no Redis or other caching layer, state is kept in memory and written to MySQL. The project can be run via Docker Compose or started directly from source with Go 1.26 or later. The README and all documentation are written in Chinese.
r1rpc lets you call functions on a physical device remotely over HTTP, useful for hardware-locked operations like iOS security checks.
Mainly Go. The stack also includes Go, React, MySQL.
The README does not specify license terms for reuse of the code.
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.