Skip to content
Christian Beier edited this page Feb 17, 2016 · 9 revisions

VeNCrypt support

There has been some work to support encryption via VeNCrypt on the server side (LibVNCClient already has support for that for some time), but it was never finished. Tasks to be done:

  • verify that OpenSSL-based LibVNCServer supports VeNCrypt alright
  • test GNU TLS-based LibVNCServer support
  • add tests using our very own LibVNCClient's VeNCrypt support
  • verify that other VNC clients can communicate with the server via VeNCrypt (and possibly fix)
Difficulty
8 (of 10)
Importance
8 (of 10)
Potential mentors
@dscho
Experience needed
C, encryption, OpenSSL, GNU TLS
See also
https://sourceforge.net/projects/vencrypt/

Finalise MulticastVNC

A proof of concept implementation of VNC-over-multicast exists and there is extensive benchmarking and documentation available. The implementation awaits integration into our upstream source tree since a while. Some things on the TODO list are:

  • Implement Multicast vs Unicast statistics inside LibVNC
  • Implement a server-push mechanism.
  • Implement additional encodings.
  • Inspect some possible error corner cases.
Difficulty
8 (of 10)
Importance
5 (of 10)
Potential mentors
@bk138
Experience needed
some decent knowledge of C, Unix Network Programming
See also
https://github.com/bk138/libvncserver, http://edoc.hu-berlin.de/master/beier-christian-2011-07-19/PDF/beier.pdf

Java Bindings

A nice and straightforward project that would allow using LibVNC in Java/(Android!) applications much more easily. This includes reading up about the fundamentals of JNI, checking the automation utilities that exist out there, and finally creating Java bindings for LibVNC[Server|Client].

Difficulty
4 (of 10)
Importance
6 (of 10)
Potential mentors
@bk138
Experience needed
Java, C, JNI
See also
https://en.wikipedia.org/wiki/Java_Native_Interface

foobar project

Summary

Difficulty
1 (of 10)
Importance
1 (of 10)
Potential mentors
x@y.net
Experience needed
x86 assembler, C
See also
Clone this wiki locally