VNC Server & Client : Source Code For Sale

sfsameer

Well-Known Member
Licensed User
Longtime User
Hello everyone :)

*Stating off by thanking @Erel for making this possible for every single one of us ♥

We were requested numerous times to create VNC server & client in B4X technology, so here we are :)

In exactly 2 weeks the project will be ready and released (17-05-2021 11:00 PM GMT 3+).

System overview :

The Server side setup the server IP and port (Usually 5900 but changeable) and allow the incoming and outgoing connections requests.
The Client side enters the Server IP and Port and the connection will start right away.
Once the connection has been established, the client is able to full control the server side (host) by transmitting the Keyboard, Mouse, Screen Capture, etc...

Yup, as simple as that.

Why this is more powerful than the Teamviewer Alternative :
1-Each session data is real time, meaning unlike Teamviewer alternative project there won't be any database, JRDC2, etc...
2-No extra setup and complicated steps, just open the port and you are ready to go.
3-Faster Connections because there won't be any extra tunneling (JRDC2 and MS SQL)
4-Full HD
5-and the list goes on...

Future Updates :
1- B4A Client, the android client will be able to fully control the server side (host) Done :)
2- File Transfer
3- Able to use any VNC viewer to view the Server side (Host) Done :)
4- Hidden Mode/Stealth Mode
5- B4A VNC Server Done :)

Technology used:
Purely developed in B4J, no external software and external SDKs

Future Technology will be used is B4A which will also be purely developed in B4A only.

Notes :
-For the past 48 hours we have developed the proof of concept and it's working great, full HD, fast, and does what it should which is controlling the remote server side (Host)
-Also we have tested it using RealVNC viewer and it connected to the B4J VNC Server

*If you would like to add any feature please write in this post and we will add them in the next update :)



If you would like to use a small demo of B4J Server & B4J Client please use the below download link (Copy & Paste the URL in your browser) :

Demo notes :
1- B4J Server : We have connected to it using B4J Client + UltraVNC viewer
2- B4J Client : We have connected to B4J Server + UltraVNC Server


B4A VNC Server ! :

B4A VNC Viewer :

To purchase the source codes :

*If you have any question or you need help please contact us @ : [email protected] or @ : [email protected] and we will get back to you right away.

As always, Thank You,
Saif
 
Last edited:

Xfood

Expert
Licensed User
brilliant idea, and for a while I felt the need for a similar product, then made by you, it will be excellent and professional as always, Thanks Saif
 

sfsameer

Well-Known Member
Licensed User
Longtime User
brilliant idea, and for a while I felt the need for a similar product, then made by you, it will be excellent and professional as always, Thanks Saif
A lot of members requested this project so here it is 😊

After using VNC (Thanks to you for convincing me 😂 ) i found out that it's 100% more powerful than teamviewer or anydesk, it's faster, Full HD, and most importantly there are no servers required :)
 

Xfood

Expert
Licensed User
this product responds well to my needs, and also to the needs of many others here in the group, including @udg , had asked for such a thing, then with the sources you can apply all the functions and customize what you want, really a good idea
 

vecino

Well-Known Member
Licensed User
Longtime User
Hi, if I understand correctly, the "server" is me, and the "client" is my client.
The client must connect to the server, and it is the server that controls the client. In other words, I can manage my clients' android devices from my computer. Is that so?
Thank you.
 

sfsameer

Well-Known Member
Licensed User
Longtime User
Hi, if I understand correctly, the "server" is me, and the "client" is my client.
The client must connect to the server, and it is the server that controls the client. In other words, I can manage my clients' android devices from my computer. Is that so?
Thank you.
Hello,

The server is the host (PC), meaning the client connects to the host to control his/her PC/Android

Also it's one software, the client and the server are in the same software, so the software is able to connect to clients or have clients connect to him.

Exactly like RealVNC, TightVNC, etc...

Thank you,
Saif
 

vecino

Well-Known Member
Licensed User
Longtime User
Hello,
The server is the host (PC), meaning the client connects to the host to control his/her PC/Android
Also it's one software, the client and the server are in the same software, so the software is able to connect to clients or have clients connect to him.
Exactly like RealVNC, TightVNC, etc...
Thank you,
Saif
I have used ultravnc a lot, I guess it will be the same as the ones you mention.
So, in short, I can run this software on my computer to manage my clients' android devices.
If so, I want it :)
 

sfsameer

Well-Known Member
Licensed User
Longtime User
I have used ultravnc a lot, I guess it will be the same as the ones you mention.
So, in short, I can run this software on my computer to manage my clients' android devices.
If so, I want it :)
Hello,

Yes, this project enables you to control :
1- PC
2- Android - Future Update after the release
3- IOS - Future Update after the release
4- Any other VNC Server as well and not just the B4J VNC Server, meaning you can control UltraVNC or RealVNC, etc...

Thank you,
Saif
 

josejad

Expert
Licensed User
Longtime User
Hi sfsameer:

Sorry, this is still not clear for me.

I can run this software on my computer to manage my clients' android devices.
Yes, this project enables you to control :
1- PC
2- Android - Future Update after the release
Future Updates :
1- B4A Client, the android client will be able to fully control the server side (host)

So... Will be a B4A server in a next updated you can run in an Android device to act as host, and you could control the Android device from your PC?

Thanks¡¡
 

sfsameer

Well-Known Member
Licensed User
Longtime User
Hi sfsameer:

Sorry, this is still not clear for me.





So... Will be a B4A server in a next updated you can run in an Android device to act as host, and you could control the Android device from your PC?

Thanks¡¡
Hello,

The Android will act as a client to connect and control the host (server)

AND after the official release of the project we will develop the Android to act as the server (host) as well to be able to be controlled by the PC/Android clients.

Thank you,
Saif
 

hwatech

Member
Licensed User
Longtime User
I'm in (sent my payment)

Ultimately all of the products you mention (TeamViewer, AnyDesk, etc) stem from VNC in some way or at least from the remote frame buffer protocol (RFB). Since I'm an old timer and I worked amidst these companies at the time, I can offer some history. Virtual Network Computing was a concept developed Olivetti Research Lab (I was at Battelle Research Lab at the time and we shared developers, however I did not contribute to the RFB or VNC code) which was later acquired by AT&T Corporation and became AT&T Laboratories. AT&T is often given credit for the development but really they just bought it.

Anyway, nothing you couldn't find on wikipedia...
 

sfsameer

Well-Known Member
Licensed User
Longtime User
I'm in (sent my payment)

Ultimately all of the products you mention (TeamViewer, AnyDesk, etc) stem from VNC in some way or at least from the remote frame buffer protocol (RFB). Since I'm an old timer and I worked amidst these companies at the time, I can offer some history. Virtual Network Computing was a concept developed Olivetti Research Lab (I was at Battelle Research Lab at the time and we shared developers, however I did not contribute to the RFB or VNC code) which was later acquired by AT&T Corporation and became AT&T Laboratories. AT&T is often given credit for the development but really they just bought it.

Anyway, nothing you couldn't find on wikipedia...
Hello dear,

Payment received, thank you very much for your purchase.

The VNC technology is really amazing and they way the host is displayed and the speed of the connection and most important feature which is there is no need to have a middle server.

The above are just truly amazing, 48 hours ago I was shown the power of VNC by my dear brother @Xfood and I was shocked by the fact that it took me 5 seconds to connect to host, control it, upload files and fully manage it.

We are more than excited to release this project and keep developing it until it's better than any RFB/VNC solution out there

:)
 

HansEman

Member
Licensed User
Longtime User
I paid for this tool's source, look promising.
How secure will connections be? Poor security has been a problem with other VNC tools.
 

sfsameer

Well-Known Member
Licensed User
Longtime User
I paid for this tool's source, look promising.
How secure will connections be? Poor security has been a problem with other VNC tools.
Payment received, thank you very much for your purchase.

We will implement the security/encrypted handshake in the future updates :)
 

JohnC

Expert
Licensed User
Longtime User
I would like to make a few suggestions for this new version, as well as help explain a few things that may not be clear:

With VNC you have a "host" and "viewer".

- The "Host" is the device that you want to view/control, so it is acting like a webserver. You could connect to the host like a browser connects to a webserver and the "Host" generate the screenshots like a webserver would generate webpages.

- The VNC "Viewer" is like a browser in the above example, you direct the vnc viewer to connect to a vnc host and then the viewer will show you the streaming screenshots from the host (and allow you to send keystrokes and mouse movement to the host device).

Typically to connect to a host, you just need the host's IP address and port number and password - that's is. You would then enter this info into the viewer and the viewer would connect to the host and then allow the viewer to see and control the host.

Often the host would be your client's PC or wireless device. However, their device might be behind a firewall or a cellphone network who's IP address often changes (and a lot of cellular companies don't allow "incoming" connections to cell phones). In these situations, it's not possible for the viewer to connect "to" the host.

Below are two problem scenarios (like the one just mentioned above) and my suggestions for addressing them that I hope sfsameer could consider for this next version:

1) "Variable" Host, "Fixed" viewer:

The "Host" (the client) is behind a firewall, or is running on a device with a changing IP (cell phone) and/or doesn't allow for incoming connections.

The "Viewer" (the support company, ie "Me") is a desktop PC with a fixed IP address and a firewall/router that can be configured to route incoming connections to the PC's viewer app.

Solution: Allow for the host and viewer apps to perform a "reverse connection". This way, the "viewer" on my PC would be configured to "listen" for an incoming connection from a host. Since my PC is at a fixed IP address, I can provide that address and the configured/forwarded port to the client so that they can enter it into their "host" app. The host app would make a connection into my viewer app and then I could see and control the client's device from my PC. This method eliminates the problem in which the host app can not accept incoming connections, but the viewer app can.

2) "Variable" Host, "Variable" Viewer:

The "Host" (the client) is behind a firewall, or the host is on a device with a changing IP (cell phone) and/or doesn't allow for incoming connections.

The "Viewer" is also behind a firewall, or running on a device who's IP address changes and/or doesn't allow incoming connection.

Solution: Setup a "Proxy" to connect the two to each other.

For this scenario, a proxy would be run on a cloud server and below is my suggestion on how it would work:

1) The "host" app would be designed to make short repeating connections every 5 second or so to this "proxy", basically telling the proxy that this particular host is ready for a connection.
2) The "Viewer" app would then connect to this proxy and the proxy will return a list of hosts that are ready for a connection to the viewer app. When I select a host from the list, the proxy will then return an IP address and port number that the viewer app will then use to connect to tat host. The proxy will then act as a true proxy and reroute all the packets from the viewer app to the host app and visa versa using the IP address and port number the proxy setup to do this exchange. It should route these packets directly between the input and output sockets without the use of a database - this way throughput will be maximum and server load be minimum.

By utilizing a "proxy" for this scenario, it would allow the client to run the host app on their smartphone over a cellular network, and then allow me to control (offer remote support) the client's device from my smartphone which is also operating over a cellular network.

I hope all this makes sense and I look forward to any comments on this.
 
Last edited:

JohnC

Expert
Licensed User
Longtime User
I just sent my paypal payment :)
 
Top