A lightweight OSINT tool for monitoring RustDesk peer online/offline status changes.
- Monitor multiple RustDesk peers for online/offline status changes
- Print timestamped state changes in real-time
- Optional IP address tracking via
--with-ipflag - Support for single ID or file with multiple IDs
- Configurable polling interval
- Works with public RustDesk servers or self-hosted instances
Requires V and libsodium-dev to compile:
# Install dependencies (Ubuntu/Debian)
sudo apt install libsodium-dev
# Compile
v rdmon.vrdmon [OPTIONS] <peer_id> [peer_id...]
Options:
-h, --help Show help message
-s, --server HOST RustDesk server (default: rs-ny.rustdesk.com)
-f, --file FILE Load peer IDs from file (one per line)
-i, --interval SEC Poll interval in seconds (default: 60)
-v, --verbose Enable verbose/debug output
--with-ip Enable IP address tracking
Monitor a single peer:
./rdmon 111111111Monitor multiple peers:
./rdmon 111111111 222222222 333333333Monitor peers from a file:
./rdmon -f peers.txtUse a custom server with IP tracking:
./rdmon -s myserver.com --with-ip 111111111RustDesk Monitor (rdmon)
========================
Server: rs-ny.rustdesk.com:21115
Monitoring 2 peer(s): 111111111, 222222222
IP tracking: disabled
Poll interval: 60s
------------------------
Checking initial status...
[2025-12-26 10:42:28] 111111111: ONLINE
[2025-12-26 10:42:28] 222222222: OFFLINE
[2025-12-26 10:43:15] 111111111: OFFLINE
[2025-12-26 10:45:30] 111111111: ONLINE (IP: 1.1.1.1:12345)
Create a text file with one peer ID per line:
# peers.txt
111111111
222222222
333333333
# Comments are supported
- Implements RustDesk's protobuf-based rendezvous protocol
- Connects to rendezvous server port 21115 for online status queries
- IP retrieval uses port 21116 via encrypted PunchHoleRequest (when
--with-ipenabled) - Uses RustDesk's variable-length frame encoding
- Encryption uses libsodium: crypto_box for key exchange, crypto_secretbox for messages
- The
--with-ipflag retrieves the peer's IP address when they come online - IP tracking uses encrypted communication via port 21116 (NaCl crypto_box)
- IP tracking may be detectable by the monitored peer as it triggers a connection request
- Without
--with-ip, monitoring is passive and undetectable - Requires libsodium-dev to be installed for encryption support
MIT License - see LICENSE file for details.