WebSocket Proxy - C Implementation

24 views
Skip to first unread message

Karsten Pedersen

unread,
Sep 10, 2024, 1:13:55 PM9/10/24
to TigerVNC Developer Discussion
Hi all,

I am in the process of developing an easy VNC access system for a small cohort of students for a local university. Potentially looking at i.e noVNC for web access.

The current situation is this:


I want to avoid Python, numpy and all the rest of the "dependency first" cruft it will pull in. There is a C implementation here:


However it looks like it is a prestandard websocket implementation (hybi?).

I have written my own implementation of a websocket proxy in C a while back here:


It uses an experimental "safety" library which would likely need to be re-engineered before use. However, would there be any interest for me to attempt to integrate it with TigerVNC itself?

Many thanks,

Karsten

Pierre Ossman

unread,
Sep 16, 2024, 6:59:21 AM9/16/24
to Karsten Pedersen, TigerVNC Developer Discussion
On 10/09/2024 19:13, Karsten Pedersen wrote:
>
> I have written my own implementation of a websocket proxy in C a while back
> here:
>
> https://www.thamessoftware.co.uk/forge?repo=wsstent
>
> It uses an experimental "safety" library which would likely need to be
> re-engineered before use. However, would there be any interest for me to
> attempt to integrate it with TigerVNC itself?
>

We probably want something that fits with the existing system. So likely
interacts with the stream system we have in place.

We also already use GnuTLS for TLS, so we probably don't want to also
have OpenSSL.

Feel free to play around and add a draft pull request if you'd like some
feedback.

Regards,
--
Pierre Ossman Software Development
Cendio AB https://cendio.com
Teknikringen 8 https://twitter.com/ThinLinc
583 30 Linköping https://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?

Karsten Pedersen

unread,
Sep 19, 2024, 5:56:54 PM9/19/24
to TigerVNC Developer Discussion
We probably want something that fits with the existing system. So likely
interacts with the stream system we have in place.
 
Ah I see. Thats fair.  So to avoid the additional overhead of a separate socket and program.

Feel free to play around and add a draft pull request if you'd like some
feedback.
 
OK, I will take a look through the code and see if there is a straight forward path to integrate it with the existing code.

Thanks,

Karsten
Reply all
Reply to author
Forward
0 new messages