Unsolved A call for supporting Andama, the open source remote desktop application.
-
@Charby Great! We can discuss about it when you have some spare time.
-
@Yianni I can get myself available one day starting from next week to have a try.
What were your reasons no to fork UltraVNC GPL project, creating a Qt branch for instance ? -
@mrjj Yes there are some similarities, but there are some important differences to:
- It is free and open source.
- You can connect to a remote computer for as long as you want.
- You can connect to multiple remote computers at the same time.
- You can host the AndamaProxy on your own server for increased speed and security.
- All data will be encrypted using client-side encryption. The encryption key will be the password of the remote computer (This is what I am considering implementing).
- You can inspect the source code of the program to be sure that everything is implemented as described.
-
@Charby UltraVNC contains C code written maybe 10+ years before and it is very difficult to follow the logic.
I wanted to know exactly what every bit of code is doing. Also I used C++ and RAII to minimise the possibility of memory leaks.
The philosophy of VNC in general is to connect to an other computer using it's IP address and setting up port forwarding rules on the router.Maybe I took the hard road to implement everything from the beginning but at the end I managed to create a solution with much less code that runs pretty fast and contains modern C++ code. The current implementation with the proxy has a latency between 500ms-1000ms when doing something on the remote computer. It will be much faster with direct connections.
-
Hi and welcome to devnet,
Looks very promising :)
-
@SGaist Thank you for the warm welcome
-
Hi, good idea of supporting a proxy, for connecting to some of my customers (because they are doctors inside of a hospital firewall) I have to pay for proprietary solutions like www.gotomypc.com, which gives you a proxy connection. But it's sloooow for console windows.
So if Andama (αντάμα right?) would offer a good proxy that would be great!
BTW: I looked at your source code on GitHub, consider switching commenting in Greek to commenting in English, remember the English people have a saying: it's all Greek to me :-)
-
@hskoglund Yes, Andama is αντάμα. I am planning to do plenty of refactoring to the current code and I will also try to translate all the comments from Greek to English.
Have you tried Andama inside the hospital? How was your experience?
-
About trying Andama: not yet, the hospital is 600 km away, but I'll go there in a couple of weeks, should be interesting to try (i know things like FTP or chat programs doesn't work inside the hospital's firewall).
-
Do you already have a design documentation and a bug tracker in place?
I would like to work on Andama next Wednesday to switch to Qt Quick and integrate localisation with Qt linguist. As for issues : I have noticed that keyboard local settings are not handle (typing 'a' on a french kb will result with a 'q')
It is already satisfactory (congrats!) but It would be even better to compare frames and send incremental changes only... -
@Charby I have not created a design documentation yet, only code comments in Greek language. I will start translating these comments in English.
For issues we can use the issue tracker on github.
Next Wednesday is ok for me. We can arrange a meeting and start working on it. In the meantime I will upload in github some UI prototypes for the mobile devices I have created.
I suggest to start with the mobile UI because it is a little bit simpler to implement compared to the Desktop OS UI.Andama is already sending only incremental desktop image changes. When a client is connected to a host, the host sends the whole desktop image to the client. After that, it sends only the changes to the previous desktop image.
This is implemented in screenshotsworker.cpp > void screenshotsWorker::prepareAndSendScreenshotDiff().
The lag that we experience now is because all traffic is routed through the proxy located on a linux VPS in Germany. When direct connection functionality is implemented everything will be much faster.