Recently I compiled a modified version of UVNC base on 1.0.8.5 for remote support. I took away some features from the original UVNC server as I found them useless and, therefore, adding extra weight to the remote support download.
Some of the things I took away where:
- MSLogon - Cant think of a use for it during remote support, except for reboots... and even in this case if the user doesn't have admin privileges I find it useless.
- All the methods to run serviced, install service, etc... As a remote support application it should probably run as an user application.
- JAVA applets and HTTP support. I don't see the point of those on a reversed connection.
- Socket Connect. Same as above, I don't see the point of a listening socket on a reversed connection.
- "When last client disconnects" (AKA Locks). Just do nothing...
- Log to video has been removed.
- File transfer option. Has been hardcoded to TRUE.
- Disable Viewer Inputs. Has been hardcoded to FALSE.
- Allow Loopback and Loopback only removed or hardcoded.
- Forbid the user to close down WinVNC. Hardcoded to FALSE.
- Removed logging. Maybe I'll bring it back removing console logging.
When the App runs it will show a TeamViewer based GUI with a ID and a Password. The INI file is downloaded through HTTP and hterefore the IP address of the repeater may be changed on the fly. The ID is assigned by the INI file while the password is randomly generated on the application.
As I said, the application was based on UltraVNC 1.0.8.5... I'm now thinking of doing the same on 1.0.9.x or just make a new project and reuse some as much of the RFB code in it.
Since other people may be interested on something like this I'd like to receive some feedback about the feautres people find interesting for a remote support app, and which of them would only add weight to the download.
Further more, it would be nice to hear if you think there are pros or cons about making it in a new project (Mainly to make thing simpler as the application is far more simple the the whole UltraVNC Project). I thought keeping up with the original, even if the code wasn't as light would make easier updating to newer versions, but in fact it just makes it as hard going though diff files and being alert about previous changes in order not to break the code.
Well... that's about it.
Looking forward to hear from you.