From bb16bf8fb544e915e56af30d047b6c0ac8b466f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=88=9A=28noham=29=C2=B2?= <100566912+NohamR@users.noreply.github.com> Date: Wed, 26 Aug 2026 00:02:52 +0200 Subject: [PATCH] Update README.md --- README.md | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 2d41be2..3d71aca 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,12 @@ A Windows port of [RMHook](https://github.com/NohamR/RMHook) for the reMarkable RMHook-Win intercepts the reMarkable Desktop app's Qt networking layer and patches outgoing requests to the configured host and port. It is designed for the Windows reMarkable Desktop client and uses a DLL proxy for `paho-mqtt3as.dll`. +## Other platforms + +- **[RMHook](https://github.com/NohamR/RMHook)**: macOS Desktop +- **[RMHook-iOS](https://github.com/NohamR/RMHook-iOS)**: iOS +- **[RMHook-Android](https://github.com/NohamR/RMHook-Android)**: Android + ## Features - Network request interception and redirection @@ -24,7 +30,7 @@ RMHook-Win intercepts the reMarkable Desktop app's Qt networking layer and patch ## Installation and usage -⚠️ **For legal reasons, this repository does not include a pre-patched reMarkable app.** However, the latest compiled dylib is available in the [Releases](https://github.com/NohamR/RMHook-Win/releases/latest) section. +⚠️ **For legal reasons, this repository does not include a pre-patched reMarkable app.** However, the latest compiled DLL is available in the [Releases](https://github.com/NohamR/RMHook-Win/releases/latest) section. ### Auto installation @@ -72,12 +78,14 @@ To remove the proxy and restore the original `paho-mqtt3as.dll`: ``` ## Configuration -When you pair the app the first time, the in-app browser will open `my.remarkable.com` to fetch a one-time pairing code, close the browser and enter the code from `rmfakecloud` direclty into the app prompt. + +When you pair the app the first time, the in-app browser will open `my.remarkable.com` to fetch a one-time pairing code, close the browser and enter the code from `rmfakecloud` directly into the app prompt. Config path: ```text %LOCALAPPDATA%\RMHook\config.json ``` + The config is loaded on app startup and changes require a restart to take effect. It specifies the host and port for redirecting reMarkable cloud traffic. Example config: @@ -90,6 +98,10 @@ Example config: If the config file does not exist, it will be created automatically with default values on first launch. +## How it works + +The project builds a proxy DLL for `paho-mqtt3as.dll` that re-exports all original functions. It hooks specific Qt network functions (`QNetworkAccessManager::createRequest`, `QWebSocket::open` and `MQTTAsync_createWithOptions`) to intercept and modify outgoing requests from the reMarkable Desktop app. The hooks redirect traffic to the configured host and port, allowing the app to communicate with a self-hosted rmfakecloud server instead of the official reMarkable cloud. + ## Troubleshooting ### Hook install fails @@ -102,9 +114,6 @@ If the config file does not exist, it will be created automatically with default - Check the config file for valid JSON - Make sure the `host` and `port` values point to a reachable rmfakecloud server -## How it works -The project builds a proxy DLL for `paho-mqtt3as.dll` that re-exports all original functions. It hooks specific Qt network functions (`QNetworkAccessManager::createRequest`, `QWebSocket::open` and `MQTTAsync_createWithOptions`) to intercept and modify outgoing requests from the reMarkable Desktop app. The hooks redirect traffic to the configured host and port, allowing the app to communicate with a self-hosted rmfakecloud server instead of the official reMarkable cloud. - ## Credits - MinHook: [TsudaKageyu/minhook](https://github.com/TsudaKageyu/minhook) - API hooking framework used by the project @@ -125,4 +134,4 @@ This project is not affiliated with, endorsed by, or sponsored by reMarkable AS. ## Contributing -Contributions are welcome! Please feel free to submit issues or pull requests. \ No newline at end of file +Contributions are welcome! Please feel free to submit issues or pull requests.