-
Mar 14th, 2021, 05:22 PM
#1
[VB6] Simple VNC Server using DXGI Desktop Duplication
https://github.com/wqweto/VbVncServer
A single-class VNC server for embedding in LOB applications for built-in client support.
Very much work in progress but first cut seems to work.
Based on RFC 6143 and can be used with any VNC viewer like RealVNC or any other you prefer best.
cheers,
</wqw>
-
Mar 18th, 2021, 04:27 PM
#2
Hyperactive Member
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
getting errors about missing methods
m_oZipArchive.DeflateEnd
m_oZipArchive.DeflateInit
where can i get the latest cZipArchive?
-
Mar 18th, 2021, 04:43 PM
#3
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
I missed updating the submodules on last commit, incl. the newest ZipArchive support for chunked deflate used for the zlib streams in VNC.
Fixed and force pushed, sorry about that. You might need git reset origin/master --hard to sync changes.
Originally Posted by DllHell
where can i get the latest cZipArchive?
In project's lib directory on github the submodules are linked to their original repos.
Btw, latest version supports TightVNC compressed encoding too.
cheers,
</wqw>
Last edited by wqweto; Mar 18th, 2021 at 04:53 PM.
-
Mar 18th, 2021, 07:15 PM
#4
Hyperactive Member
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
Very good project.
In Local "VNC-Viewer" works pretty well.
But connected to the mobile "VNC Viewer - Remote Desktop", the connection is lost many times, that is normal.
It would be possible to control mouse and keyboard.
regards good job
-
Mar 19th, 2021, 08:26 AM
#5
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
Originally Posted by yokesee
It would be possible to control mouse and keyboard.
I just finished implementing pointer events in commit fed6ff8 so now you can control the server with the mouse. This also fixed cursor pseudo-encoding so that server's mouse pointer shape in transferred to the client for better mouse pointing experience/responsiveness.
Is this failing mobile "VNC Viewer - Remote Desktop" an Android or iPhone app?
cheers,
</wqw>
-
Mar 19th, 2021, 10:39 AM
#6
Lively Member
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
great job, is there a possibility of creating the client in the future? I wanted to implement an "alternative teamvier", because I have a server with a valid IP
-
Mar 19th, 2021, 11:09 AM
#7
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
I was recently thinking about implementing a DirectX based one because RealVNC and TightVNC viewers are GDI based and are mightily lagging on weak video cards.
I'm comparing VNC implementations directly with AnyDesk which is using the same Desktop Duplication for the video capture but in addition its secret souce is some kind of custom DirectX video codec both on the server to encode and on the client to decode *and* display using DirectX. The viewer happens to be so much smoother and refresh rate synchronized experience.
Anyway, I'll try to complete this VNC server with keyboard, clipboard and file transfer support first which is my immediate plan as I need this for our LOB product support needs and just use TightVNC for the viewer in the meantime.
Edit: Just released version 0.0.2 of the VNC server in VB6 for download and test.
cheers,
</wqw>
Last edited by wqweto; Mar 21st, 2021 at 06:10 AM.
-
Mar 19th, 2021, 12:07 PM
#8
New Member
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
this project is really cool, thanks for posting it.
you probably know this already but libvpx is mentioned a lot. I think Chrome Remote Desktop uses it and there is some chatter online about anydesk using it too. teamviewer may be the "unnamed startup" in this x264 post
https://web.archive.org/web/20150306...x/archives/249
> I need this for our LOB product support needs and just use TightVNC for the viewer in the meantime.
how are you handling firewalls and port forwards? We have a bunch of different clients and dealing with their routers and firewalls was a nightmare. teamviewer was nice because the connections always seem to work
-
Mar 19th, 2021, 02:18 PM
#9
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
Originally Posted by strangeprob
how are you handling firewalls and port forwards? We have a bunch of different clients and dealing with their routers and firewalls was a nightmare.
The client's VNC server is listening on 127.0.0.1:5900 so it's not accessible even from their own LAN and then using plink.exe to "phone home" to an sshd server of ours and open a *reverse* TCP tunnel with something like -R 7033:127.0.0.1:5900. This way each client has an assigned port on the sshd server (e.g. 7033 in this case is for CompanyA) where it's VNC traffic is tunneled to.
We might have to automate the (dynamic) port assignment at some point with some kind of client active/inactive status tracking service (or just use XMPP) but we are not there yet.
cheers,
</wqw>
Last edited by wqweto; Mar 19th, 2021 at 02:31 PM.
-
Mar 21st, 2021, 03:58 PM
#10
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
Originally Posted by wqweto
I was recently thinking about implementing a DirectX based one because RealVNC and TightVNC viewers are GDI based and are mightily lagging on weak video cards.
UltraVNC viewer is using DirectX for the renderer and this viewer is what I'm currently aiming/testing with the VNC server.
Just implemented JPEG Compression (for Tight Encoding) in commit 6148a09 using h/w accelerated and/or SIMD optimized WIC and the difference is noticable. Watching a real-time youtube video over VNC peaks at 1-2% CPU usage while the server is running being debugged in the VB6 IDE.
cheers,
</wqw>
-
Mar 22nd, 2021, 11:58 AM
#11
Lively Member
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
just thinking about it, would it be possible to restrict the capture to a window?
-
Mar 22nd, 2021, 12:11 PM
#12
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
Originally Posted by germano.barbosa
just thinking about it, would it be possible to restrict the capture to a window?
This actually makes a lot of sense to monitor our target LOB application windows only.
There are enough encodings in the VNC protocol for dynamic desktop sizing (targeted at when server is switching screen resolutions) and multi-monitor support which can be used to dynamicly size capture on a specific window or several ones in a target LOB application.
Unfortunately there are other priorities first and this research will have to wait until everything planned is complete I suppose.
cheers,
</wqw>
-
Apr 23rd, 2021, 02:57 AM
#13
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
-
Apr 23rd, 2021, 10:21 AM
#14
Hyperactive Member
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
very good job
What little proven, works great
regards
-
Apr 23rd, 2021, 01:39 PM
#15
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
Nice project wqweto!
Looking forward for new releases!
-
Apr 25th, 2021, 10:22 AM
#16
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
Originally Posted by wqweto
how to show remote desktop ,only show one exe? like abc.exe? remote app?
for use only one exe on remote pc from client pc
-
Apr 26th, 2021, 04:44 PM
#17
Lively Member
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
Would you like to make a proxy server, to make a reverse connection with a central server that is listening, and on that same server connect a vncview by ID? I wanted to do an "alternative teamvier"
-
Apr 27th, 2021, 01:17 AM
#18
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
Originally Posted by germano.barbosa
Would you like to make a proxy server, to make a reverse connection with a central server that is listening, and on that same server connect a vncview by ID? I wanted to do an "alternative teamvier"
Something like this?
cheers,
</wqw>
-
Apr 27th, 2021, 06:52 AM
#19
Lively Member
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
-
May 11th, 2021, 01:18 PM
#20
Lively Member
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
Originally Posted by wqweto
Something like this?
cheers,
</wqw>
I would have to connect to this repeater, I tried here anyway and it doesn't connect, I suspect that I also have to put an ID
-
Apr 16th, 2023, 06:49 PM
#21
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
Have you undergone long-term testing, usage, and stability? Do you have a very small vnc client software?
Last edited by xiaoyao; Apr 17th, 2023 at 07:07 AM.
-
Apr 17th, 2023, 06:57 AM
#22
Re: [VB6] Simple VNC Server using DXGI Desktop Duplication
Originally Posted by xiaoyao
Have you undergone long-term testing, usage, and stability? Do you have a very small client?
This and everything open-source under MIT comes with absolutely no warranties. This server might crash and/or leak passwords and files from client PCs. Use at your own risk, you are warned!
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|