Skip to content

SgonnovDmGit/rdp-ghost

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RDPGhost

English · Русский

Lightweight Windows utility that keeps your RDP session alive by simulating minimal user activity when the system is idle.

RDPGhost — settings window

Why this exists

When you stay connected via Remote Desktop and your local machine sits idle, the remote session can lock, the connection can drop, or your corporate VPN can disconnect. Most "mouse jiggler" tools fix this by aggressively moving the cursor (interfering with your work the second you sit back down), spawning a cmd.exe window for pings (an annoying flashing console), or relying on third-party drivers.

RDPGhost sticks to documented Win32 APIs — SendInput, IcmpSendEcho from iphlpapi.dll, SetThreadExecutionState — and stays out of the way. No subprocess, no driver, no console flash.

What it does

When the system has been idle for the configured timeout, RDPGhost fires any combination of these (each is an independent toggle):

  • Mouse nudge — moves the cursor by a few random pixels via SendInput with absolute coordinates. Multi-monitor safe (uses virtual-desktop bounds).
  • Scroll Lock pulse — presses Scroll Lock twice (toggle on, then off), so no character is emitted and the resulting key state matches the original.
  • ICMP ping — single ping to a configurable host via IcmpSendEcho in a background thread. No cmd.exe, no console window.
  • Prevent sleep — sets ES_SYSTEM_REQUIRED | ES_CONTINUOUS so Windows does not enter standby on its own.

The moment you touch the mouse or keyboard, the idle counter resets and simulation stops until the next full idle period.

The utility lives in the system tray. In Ghost mode (Stealth on) the window, its taskbar entry, and the tray icon itself are all hidden — only the background process remains. A configurable global hotkey (default Ctrl+Alt+G) brings it back.

Quick start

  1. Download RDPGhost.exe from the latest release.
  2. Run it — no install, no admin rights required.
  3. Tick the actions you want, set the idle timeout (10–3600 sec), set the ping host (default 8.8.8.8).
  4. Click Minimize to Tray — the form and its taskbar entry vanish; only the tray icon stays. Optionally enable Stealth + Autostart for a fully background experience.

Settings persist to RDPGhost.ini next to the .exe. Autostart writes a single value under HKCU\Software\Microsoft\Windows\CurrentVersion\Run (no service, no admin).

Status

v1.0.0 — public release. UI / INI / registry / CLI contracts are frozen. Anti-idle behaviour validated end-to-end on a real RDP session (3h+ uptime in a scenario where unprotected sessions drop within ~10 min). Dual-toolchain (Delphi VCL + Lazarus/FPC LCL) is maintained — both builds are drift-checked by CI on every push.

Future work, if any, follows SemVer — PATCH for bug fixes, MINOR for new optional features. The contracts above will not break in any 1.x release.

Support development

RDPGhost is free and ad-free. If it saves you a few RDP drops, consider supporting continued development:

Or use the in-app About screen — one-click links and copy-to-clipboard for the TON address.

Contributing

Bug reports, feature requests, and PRs welcome. See CONTRIBUTING.md for build prerequisites (dual-toolchain — Lazarus or Delphi works) and PR-flow. Releases follow the runbook in docs/RELEASING.md.

See Changelog.md for release history.

License

MIT © 2026 Sgonnov D.A. — see LICENSE.

About

RDP session drops when you step away? RDP Ghost holds it open with minimal Win32 input nudges — tray app, Ghost-mode, EN/RU.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

Contributors