The whole thing, honestly described
No feature here is a plan somebody has for next year. This is what the product does today, and where a limit exists it is written down rather than left out.
The picture
Capture built for what is actually on the screen
A desktop is mostly still, and then suddenly it is not. DeskTunnel encodes those two cases differently instead of pretending they are the same.
Dirty rectangles, not whole frames
The capture layer asks the GPU what actually changed and sends that. A cursor moving over a static page costs almost nothing.
Adaptive quality
Quality follows the link rather than a fixed guess. The slider you set is the ceiling, not the target, so a good network is used and a poor one is not flooded.
The pointer is drawn into the picture
Windows hands the cursor out separately from the pixels, so it is composited in before encoding. That is why it is visible on every codec path rather than only some of them.
Multiple monitors
Pick a screen, or take them all. Resolution and layout follow the remote machine.
The link
Direct when it can be, encrypted either way
Three transports are tried in order, and the first one that works is the one you get. Most sessions never touch our servers with anything but the introduction.
QUIC first
Its own ALPN, a six-second budget, separate streams for control and video so a large frame never delays a keystroke.
TLS 1.3 over TCP next
Each session mints its own certificate and both ends pin the other. Session resumption is switched off deliberately: a resumed handshake would skip the pinning check.
A relay only as a last resort
If neither direct transport gets through, a TURN relay carries the bytes — still encrypted end to end, so the relay is a pipe and not an audience.
Inspection is detected and refused
A middlebox that re-signs the traffic fails the pin. The session is refused and the issuer is written to the event log, which is usually how people discover their antivirus does this.
Unattended
Machines that answer when nobody is there
Two separate routes can allow it, and they are deliberately kept apart so neither can be turned on by accident.
Your organization says so
A device is marked unattended and the access grants decide who may call it. The device polls that policy and decides locally, so an unreachable server never locks an estate out.
Or the machine itself says so
Its own switch and a list of permitted addresses. This is the free path, and the key screen says in as many words that an empty list means anyone who knows the address.
The password never travels
It is stored as a PBKDF2-SHA256 hash with a per-device salt, and the caller proves knowledge with an HMAC bound to the session and both addresses.
Three wrong tries and that network waits
Five minutes, then fifteen, then twenty-four hours. The ladder is remembered between locks and keyed on the address the relay observed, never on one the caller claimed.
In the session
Everything you reach for, where you expect it
Permissions are granted by the person at the machine and can be taken back mid-session.
File transfer
Browse, drag and drop, resume. Transfers are logged on both ends so there is a record of what moved.
Clipboard, including images and files
Text, PNG images and files up to 8 MB. The controller decides which kinds travel, and the controlled machine honours exactly that and nothing wider.
Remote sound
Opus at 48 kHz in 20 ms frames. Digital silence is not encoded at all, and the first packet after a gap is flagged so the player re-primes instead of concealing a loss that never happened.
Elevation and the lock screen
UAC prompts need a separate elevated input channel, started only once the person at the far end has allowed it.
Chat
A text channel alongside the session, for when talking through the screen is easier.
Lock the remote input
Blank the remote screen and lock its keyboard while you work, if that is what the situation needs.
Game mode
For when 30 frames a second is not a remote desktop
A per-session switch on the controlling device. The controlled machine honours it whether or not its own switch is on, because the cost is the controller’s to ask for.
Hardware H.264 when the GPU allows it
Hardware H.264 encoding is tried first and software H.264 is the fallback. Both produce the same stream, so the controller decodes either without being told which.
Intra refresh instead of keyframe stutter
Periodic IDR frames are what you see as a hitch every couple of seconds. Game mode refreshes gradually instead, and only sends a real keyframe when something asks for one.
A real controller at the far end
Gamepad input is replayed on a virtual Xbox 360 pad through ViGEmBus, so the remote game sees a driver-level device rather than synthesised keystrokes.
Never frame-rate throttled
Halving the frame rate is the one change a game would actually notice, so it is never done — on any plan.
Pro management
When the machines start outnumbering you
Everything below is scoped to one organization. A query that could cross that boundary is the bug we care most about.
Devices, groups and an address book
Nested device groups, owners, favourites, bulk actions and enrolment by access key.
Users, roles and permissions
Roles are built from a catalogue of granular permission keys rather than three fixed levels.
Access control that resolves predictably
A deny beats an allow, lower priority wins, then the more specific target. No guessing which rule applied.
Session policies
What a session may do at all — a ceiling that cannot be raised mid-session, checked by the service before forwarding a grant and again by the helper before acting on one.
Connect grants
A short-lived signed statement that a named person, signed in at that moment, may open this session on that device. Verified offline by the device.
Reports and an audit log
Session history, user activity, errors, and an export when somebody asks for evidence.
See it on your own machines
The free version is the same engine. Install it, connect once, and judge the picture and the latency for yourself before anybody talks about a plan.