Update: UltraVNC 1.4.3.6 and UltraVNC SC 1.4.3.6: viewtopic.php?t=37885
Important: Please update to latest version before to create a reply, a topic or an issue: viewtopic.php?t=37864

Join us on social networks and share our announcements:
- Website: https://uvnc.com/
- GitHub: https://github.com/ultravnc
- Mastodon: https://mastodon.social/@ultravnc
- Facebook: https://www.facebook.com/ultravnc1
- X/Twitter: https://twitter.com/ultravnc1
- Reddit community: https://www.reddit.com/r/ultravnc
- OpenHub: https://openhub.net/p/ultravnc

Beta 1002

User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Beta 1002

Post by Rudi De Vos »

Download link
http://www.uvnc.eu/download/setup_server.zip
http://www.uvnc.eu/download/setup_viewer.zip

How is the connection established?

Server discovery.
The viewer and Server belong to a group ( sample: MySupportOrganistion)
The server also has a hostname or custom name ( accesscode)
Viewer send groupname to "access server".
Server send groupname + hostname to "access server"
The access server send a list of servers belonging to the same group back the Viewer.

Server viewer connection.
When the viewer request a connection, the access server send the origin of the viewer connection
to the server and from the server to viewer. Using this information, the server and viewer establish
a direct connection. Data goes direct from server to viewer, no data bouncing like with the repeater.

Encryption:
Once a direct link between server and viewer is made, the stream is encrypted (AES 256bit).
The encryption key is auto exchanged using DH ( like ssl), each time you make a connection
a new key is used. The key is then merged with the local passwd and this merged key is used
as encryption key.
1) server and Viewer are 100% local, data never get transmitted over the net, if password are wrong
decryption fail and connection quit.
2) Groupname and Hostname are exchanged between "access servers" viewer and server.
This data is not encrypted and need to be considered as public.
Even when the "access servers" get hacked, they can't do nothing with that info without knowing the
local passwords. Keeping a part of the encryption key local, even a third man attack fail.


modules:
1) Chat
The Chat module allow you to talk and to transfer files.
To transfer a file, drag/drop a file on the chat gui.

2) SendMessage
Send a fast message

3) Desktop access
Video and keyboard access to a remote desktop.
Ctrl-alt-del if server is running as service
You can connect to the console session or an active RDP session


The modules run as seperate exe, it's normal that you see the exe multiple times in the taskmanager
when the modules are active.


Server modes

*Started by user
When PCHelpWare is started by the user (as application) you always need to enter a password and
accesscode. It doesn't require special user priveledge, just keep in mind that UAC elevated windows
can't be controled nor can you switch desktops.
Group is taken from ini file
Tray icon allow to quit.

*Runing as service
Running as service, passwd/group/name are extracted from the ini file.
You need to use the service manager to start/stop the service. The Tray icon
indicate that the desktop module is running. The module is under service control,
manual closing the module via the systray cause the server to restart it...
*settings:
You can only set the settings of the server via a seperate application.
This app just populate the ini file, changes take effect after the server is restarted.


Quick start
STEP 1 setup GROUP and viewer access protection by running the pchelpwareviewerV2.exe
(settings , except password are saved in pchelpware.ini)
Image

STEP 2 create pchelpwareS.ini ( file used by server) by running setting.exe
Only set password and group, group need to be the same as the viewer one, don't run it as service yet else firewall accept is inviable.
Custom Hostname can be used to overwrite hostname
Image

STEP3 Copy pchelpwaV2.exe schook.dll and pchelpwareS.ini in a folder on the pc you want to control and run pchelpwareV2.exe
You now start pchelpware in Application mode, running application mode you always need to enter password and accesscode, only
running as service the pchelpwareS.ini saved value's are used.
If all goes well, the viewer should display the server name ( red round)

STEP4 Set the same password for this server on the viewer site, password is save with aes256 encryption to the ini file
Image

STEP4 press setup P2P, this create an encrypted channel between viewer and server
When all goes well, the icon become green
red (X) wrong passwd
Sometimes you need to refresh and try again, special if you are playing and server is started stoped
faster then the access servers can process it.
If all goes well, you get something like this.
Image


Image

If this works you can close the server, run setting.exe and install as service, start service to get full
control (ctrl-alt-del) session switches, logon/logoff...

FT: IS part of the Chat module ( drag and rop files on the window to copy remote)
Running as application, it show all session, only the one that's running the server work (bug: session info need to be restricted to local session)
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

Reuploaded,

Fixed viewer error for non directx systems.
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

bug1: Running the server as application, it also announce the non user sessions
bug2: settings.exe need to create a file pchelpwareS.ini ( S=server) but create the file pchelpware.ini
workaround: manual rename the pchelpware.ini to pchelpwareS.ini after creating him with setting.exe
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

Reuploaded files with corrected bug1 and bug2.

Also it include a version for windows8 developer preview...
The new capture engine of win8 makes it realy fast, but the engine also use a lot of mem and cpu, special when you
use it for HD video.

Have fun
sleepwalker
Posts: 1
Joined: 2011-12-21 09:46

Re: Beta 1002

Post by sleepwalker »

Can not open setting.exe
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

Reuploaded zip with a non dll dependency version (setting.exe), else you need to install the full redist of VS2010
garfin
Posts: 3
Joined: 2011-12-22 12:27

Re: Beta 1002

Post by garfin »

Hi Rudi,

all straight forward through to STEP 3 .. but ..now ..

I'm stuck at STEP 4 ..

the Server shows up with a red dot , but i cant get the 'Set Password' menu to appear when i click (doubleclick, right click, or press enter..)
also , i am unable to see TCP 5500 as a LISTENING port with 'NETSTAT -anob' on the viewer machine.. , i do see a UDP port 3349 , owned by the listener.exe , but thats all. (i saw somewhere that i would need to open 5500 in the router if viewer is NAT. i therefore assume i should see it LISTENING when the viewer .exe is running..)

Regards Gary
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

Passwd is set via right click...it should always be there, it's a gui thing.

We don't use tcp but udp...one port is used to send/receive data from "access server"; the other port
is activated when a p2p connection is made, in total, 2 udp ports are used.

You don't need to make any router changes this works without port forwarding. Both server and viewer
use outgoing connections.
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

Right click, you need to click on the name, not the red round.
Some people seems to be testing with a "" name, then natural you can't click on it :)

Check pchelpwareS.ini for a empty parameter
Hostname=
Or when using as application, set something in the accesscode field
beq
Posts: 5
Joined: 2011-12-22 20:44

Re: Beta 1002

Post by beq »

hi Rudi,
i was fiddling with it last night and i also have the same issue [as @garfin] with right clicking the name.. no menu shows up.
i check the server ini file and it does contain a hostname, however the pcHelpWare app shows the server computer as the group id name, and NOT the hostname specified..

the client is running on a x64 windows 7, and i tried the server on x64 and 86 windows 7. both give the same result.

any more tests i could run?
all the best
bequ
garfin
Posts: 3
Joined: 2011-12-22 12:27

Re: Beta 1002

Post by garfin »

Ahh got it , that'll teach me for following instructions ...
Rudi De Vos wrote:Only set password and group, group need to be the same as the viewer one
:oops:

So it now works, or should i say , i can chat and 'watch' the remote session, but i cant control /take control of it ... :surprise:
garfin
Posts: 3
Joined: 2011-12-22 12:27

Re: Beta 1002

Post by garfin »

Hi Beq,

The 'access code' and the 'password' that the user enters on their machine when they run the .exe should be something of their own choosing , not the same as what YOU used when you set up the Group , password etc in the Viewer & settings.exe

eg you give a self extracting zip file to the 'user' with the v2.exe , .dll and .ini in it .. they run it , and set their own access code and password, and then tell it to YOU... their machine will 'appear' (red dot) ..as the 'access code' they chose... and then you need to know the password they chose, so you can 'vnc' in ..
beq
Posts: 5
Joined: 2011-12-22 20:44

Re: Beta 1002

Post by beq »

hmmm! a bit of naming confusion on my part i guess..?

i have 3 more questions though..
i've been using SC before, and i see that PcHelpWare is suppose to be compatible with helpdesk.txt [and the customization] but i dont see how. do i have to upload it to SC and get new files? or is there something to specify in the ini file?

question 2 is about the password. if i use less than 16 chars, i get an alert about it, but the service still runs - however i cannot connect to the server. i had to quit, and rerun it with a longer password. i think you should either enforce 16 chars, or enable shorter passwords as well

3 is about the file transfer. i have the buttons, but all they do is say file has been transferred, but i didnt get a chance to select a file at all...


would help if asked
b
beq
Posts: 5
Joined: 2011-12-22 20:44

Re: Beta 1002

Post by beq »

i just solved my question number 3 by reading again.... but i couldnt update the post.. sorry =\
beq
Posts: 5
Joined: 2011-12-22 20:44

Re: Beta 1002

Post by beq »

oh and one more thing....

the settings.exe registers the service as

Code: Select all

path\pchelpwareII.exe
instaead of

Code: Select all

path\pchelpwareV2.exe
and so it cant run...
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

pchelpware V2 is a complete rebuild... not compatible with any previous version nor with the helpdesk.tx
It's the first public beta test...to get feedback.
I thought all was clear, but it seems that it is still to complicate

def:
SC= server started manual
accesscode=hostname

The problem is that the Server can be used as SC and as service.
Runing as service, the ini file is used for group, hostname, password,accept settings.
Runnning as SC, the ini file is used for group. Gui ask accesscode and password, accept is always ON.

The reason for this was that accesscode and password is for single use running SC and people need to enter there own
password and tell it to you.

The master password you enter on the Viewer has nothing to do with the server passwords.
It's only used to save the server/passwd pairs.

beq
This is a complete rewrite, not compatible !!!!
There is no 16 char check, just a warning, but if service is running the new password is only accepted after restart.
Thanks for the bug, seems the filename changes are not yet in the source :(
drew
Posts: 7
Joined: 2011-05-24 13:43

Re: Beta 1002

Post by drew »

Hi

After my first start of the viewer it always run into Group -> offline
After I disable my outgoing Firewall (Endian) it comes up
Which UDP Ports should I open?

Now Server and Viewer runs...
But the grafic is very poor .. I play with the encoder but im not happy with the result... some tuning posibilitys?
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

Reuploaded files.
http://www.uvnc.eu/download/setup_server.zip
http://www.uvnc.eu/download/setup_viewer.zip

changes
1) fix setting.exe to use the correct exe name for installing as service ( reported bug)
2) in SC mode it use the pchelpwareS.ini for default accesscode(hostname) and password
This allow you to preset it, or leave it empty. The user still can overwrite it.

ports used by viewer
#define MANAGMENTPORT 5351
This used to get the (server info, red round)
#define PUSHPORT 5670
This is used to make a hole in the nat
RANDOM PORT: This is the portnummer of the outgoing connection of the server
The router translate the default 5352 in a random port.

ports used by server
#define MANAGMENTPORT 5351
#define PUSHPORT 5352
RANDOM PORT:This is the portnummer of the outgoing connection of the viewer

I don't think it will work proper with a firewall that only allow specific outgoing ports.
The server and viewer connect with a random port, set by the natrouter internet site.


Quality:
The problem is that all is scaled. WE keep the aspect ratio.
Using a tabbed viewer we already loose some space... test it on a server with a smaller resolutuion then the viewer Pc
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

The goal of this beta is to test the funcionality.
Later customization need to be added, logs etc....
All sugestions are welcome.
beq
Posts: 5
Joined: 2011-12-22 20:44

Re: Beta 1002

Post by beq »

how about a "run as service / install" button inside the interface, so people dont have to have the settings exe inorder to install the service?
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

update
viewer
* fullscreen
* session recording, for later replay.
( create file .pchw, drag and drop on included player to view)

server
* access logging to file ( auth,desktop,chat: open/close)
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

how about a "run as service / install" button inside the interface
1) From Vista> the service should not use a user interface as this interface run as "system"
Even a guest can use this interface to make changes.
We can impersonate the desktop user, like in uvnc, but then you lockout domain users.
The local system account doesn't have permission to impersonate a domain user...
To many exception and to hard to explain.
A seperate exe always run as desktop user, this always work.

2) If started in SC mode "install service or start service" only work for elevated admins ( runas admin)
"Start service" is even harder:
-SC is running while you start the service, this temp start 2x the same exe as you can't quit SC
before you execute the start service commands...possible ports locks and other nasty stuff.

There are just to many exceptions, a seperate exe is just a lot simpler.


This is a Beta test, normal you have some kind of installer that ask if you want to install the service
start service etc... This can be done by any software, as it are just registry changes and calling
"net start ..." system command.
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

update

changes viewer
+scroll/gdi/directx switch
scaled quality gdi is better then directx, but slower...
drew
Posts: 7
Joined: 2011-05-24 13:43

Re: Beta 1002

Post by drew »

Under witch licence terms will pchelware final released?

Would it be possible to host my own Access Server?
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

Under witch licence terms will pchelware final released?
I haven't decided it...but it will be something free to use.
Looking at the feedback on sc and uvnc source it seems that i'm the only one programming on it
and current don't see any advantage to make it opensource.
Would it be possible to host my own Access Server?
Yes, after Beta tests the "access server" part will also be available.
Current i need the multiple accesses to debug and benchmark the server part to see if it can handle
1000+ connections simultanious.

It's funny, i get more mails about the future license then actual feedback on how the product works or not.
I hope it doesn't take a release before bugs getting in...
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

UPdate
Correct mouse with scrollbars, coordinates were wrong...
Server switch to first access server that answer, sending to both cause sometime dual connections
(First answer take in account load and location: US and EU access servers)
B
800
800
Posts: 2338
Joined: 2009-09-09 14:05

Re: Beta 1002

Post by B »

Rudi De Vos wrote: It's funny, i get more mails about the future license then actual feedback on how the product works or not.
That tells us something important. Even in alpha or beta stage, many people prefer not to put time and energy into something that can limit them or disappear without warning. On the other side, those willing to use closed source or commercial software are also willing to evaluate all the various commercial offerings, and may have little interest in smaller projects or freeware.

Just as you might want to know if a potential mate is interested in children (or has venereal diseases) before committing to them, so too are some people interested in the licenses of their software. They don't want to waste their time with something they'll later regret. So it's a valid question. (As you can tell, personally I'm usually interested in more open licenses, which is why I started hanging around here to begin with.)

This is in no way meant to diminish the accomplishments with this new beta. It's very cool stuff and deserves to succeed on its own merits regardless of the licensing or costs.
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

Sourcecode: This version of pchelpware use commercial libs, even when you have the source, you can't compile it.
Opensource is fun, when it work in 2 directions. But looking at the bug fixes provided by other it looks like most
people just copy parts of it in there own projects and never give anything back.

The license of pchelpwareV2 will be a free for personal and commecial usage with some limitation that you
can't bundle it with a "non free" product. I have not problem the people making money using it, but adding
value to there own product by just including it is something else.

Current, i'm actual more interested in feedback.
*session recording usefull ?
*What need to be customizable ?
*What options are missing ?
*Bugs?
*Does it realy bypass the nat routers?

Possible bugs getting in after i call it relaese :)
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

Update
added viewer logging to keep track of connection access and timings ( format can be imported by excel)
User avatar
Rudi De Vos
Admin & Developer
Admin & Developer
Posts: 6831
Joined: 2004-04-23 10:21
Contact:

Re: Beta 1002

Post by Rudi De Vos »

No feedback... then i need to invent myself some changes :)

Added
*Multi groups viewer
*viewer animated icons,to replace rounds

Possible options
*Let viewer icons show server load ( cpu load change color server name )
*add info box with ( OS/CPU/MEM)
*reboot in save mode ( service)
*forced reboot, this avoid that some hung app prevent reboot.

Develoment will be slower after 11 Jan...
Post Reply