ARD protocol support — interest?

15 views
Skip to first unread message

Peet McKinney

unread,
Feb 26, 2026, 1:35:38 PMFeb 26
to noVNC
I've built ARD (Apple Remote Desktop) protocol extensions for noVNC as an external monkey-patch layer. It supports Type 30/33 auth, session encryption, clipboard sync, quality presets, session curtain, and three ARD pixel encodings.

Everything lives on top of an untouched noVNC submodule: https://github.com/peetinc/noVNC-ARD

Would there be any interest in upstreaming any of this?

Cheers.Peet

Pierre Ossman

unread,
Feb 27, 2026, 1:22:40 AM (14 days ago) Feb 27
to no...@googlegroups.com, Peet McKinney
Definitely. We always appreciate better compatibility. Even with
non-standard servers such as Apple's.

Note that we want protocol extensions documented, not just code. So part
of the work would be improving the documentation here:

https://github.com/rfbproto/rfbproto/

Regards,
--
Pierre Ossman Software Development
Cendio AB http://cendio.com
Teknikringen 8 http://twitter.com/ThinLinc
583 30 Linköping http://facebook.com/ThinLinc
Phone: +46-13-214600

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

Peet McKinney

unread,
Feb 27, 2026, 4:28:04 PM (13 days ago) Feb 27
to Pierre Ossman, no...@googlegroups.com
Thanks Pierre. I've been working on this for you.

I have a Type 33 (RSATunnel) section ready for rfbproto, modeled after the existing Type 30 Diffie-Hellman section. That'll close rfbproto issue #52. I'll open the PR shortly.

Beyond auth types, Apple's extensions include custom encodings (1000–1002, 1011), pseudo-encodings (1100–1105), and custom message types — things like encrypted input events and session encryption. I have wire-level documentation for all of these confirmed against live macOS servers.

Before I go further though — Apple's custom message types reuse numbers already registered to other extensions (e.g., 0x09 is SetServerInput for UltraVNC but AutoFramebufferUpdate for ARD). The only disambiguator is ARD's protocol version string (003.889). How would you like these handled in rfbproto?

Cheers.Peet

Pierre Ossman

unread,
Mar 2, 2026, 3:16:10 AM (11 days ago) Mar 2
to no...@googlegroups.com, Peet McKinney
On 27/02/2026 22:27, Peet McKinney wrote:
>
> Before I go further though — Apple's custom message types reuse numbers already registered to other extensions (e.g., 0x09 is SetServerInput for UltraVNC but AutoFramebufferUpdate for ARD). The only disambiguator is ARD's protocol version string (003.889). How would you like these handled in rfbproto?
>

Those would be problematic. If it's not possible to support both
standard and non-standard things, then I'd say the standard stuff wins.

Let's start with the non-conflicting things, and we can revisit those
problematic ones later.

Regards,
--
Pierre Ossman Software Development
Cendio AB https://cendio.com
Teknikringen 8 https://twitter.com/ThinLinc
583 30 Linköping https://facebook.com/ThinLinc
Reply all
Reply to author
Forward
0 new messages