Share My Creation Remote Administration via MQTT

msupport.jpg


Hi there...

as IT using a lot Remote Administration Utilities to remote control Windows PCs... but I thought why not creating mine? I will be sure for security, i will not have to pay anyone.... Hey... Where is my "TOOL"... here it is... B4X... (b4j for those who know).

Before some years Saif (sfsameer) shared a project called TeamViewer Alternative - was very good... and the weird... that already thought it (1 year before), with the same way (ffmpeg)...

But the whole idea... wasn't so simple.... need a Server, with SQL... need setup... and a lot of bandwidth... also need to open ports and think how will pass the firewalls... Also was using ffmpeg libs.. make it difficult to understand it.

So I ve think it a lot... how to make a Remote Administration Utility as simple is possible - to understand it everyone with little knowledge and work everywhere !
Remote Administration: PC to PC (one will be Host, one will be Client) - View screen remotely and control with mouse and keyboard...
See the Features...
See new Features here (19/9/2022) - (27/9/2022 newer version at same links) and some screenshots...

Well the solution was in front of me - all - the time... MQTT / capture screen and publish... so simple... from the other client just subscribe and show pictures... simple ???

No extra libs(now-because of features added need some libs), no databases, no special setup, as easy as possible ! You can create your MQTT Server, or use a ready one (for example: https://www.hivemq.com/)!

* Caution: is not the same code with Saif's - I am not having any relationship with sfsameer.

New Video Demonstration of mSupport... (28/9/2022)

OLD Video Demonstration (Playing 200% faster - to not be boring):

Here the Demo executable (needs Windows 7,8,10,11 - 64bit):

Download from Here!!! (OLD)
Go at this post for new one...
Install it.. run it as Administrator (right click - properties - advance - check Run as Admin)..
Caution! this is only for demo purposes... may be you expose your data (using free open mqtt broker) or codes without using the full-source-code and replacing with your MQTT server and credentials... using full source code gives you the option to replace all with SSL protection!

Why "not" giving an Android solution ? - Not giving Android Solution, yet ! (higher level of difficulty)

difficulty-high.png
You must know B4X well...

If you wanna share it with you...

You can "Support" me with 49€
(10% will go at B4X)


btn_donateCC_LG.gif


Support and give your Transaction-ID here in thread with post...
I will send the full-source-code via email, PM...

For the moment only B4J code is available.
 
Last edited:

Magma

Expert
Licensed User
Longtime User
Yes.. source is ready... clearing some thousands Rem.. and sending soon

At demo not having FFMpeg capture.. at source I will have with rems... is too heavy.. as you will see at exe you will have also jna directx capture included at exe...

Also some extra settings can make it faster..
 

Magma

Expert
Licensed User
Longtime User
19 Sept. 2022... Email with updates Sent... check incoming and then spam folder if not there...

Hope you like my code... Thanks all for your support...

I can tell now that is a Full working Software Solution... what do you think ?
 

Magma

Expert
Licensed User
Longtime User
Talking about features... and what is IT-Technician mode...

Well sometimes is difficult for users "tell/read" their ID... it is easier to write their name or a nickname and just give their password...

If someone has the "right" version... the IT Technician (have the right option Show all Server Connections)...

I think is a cool feature ! (included at the update sent)


ps: Check the refresh button-icon beside the minimze and close button... this help to refresh the list of connected clients to server/channel...
ps2: How I am getting list of Clients connected to any server (check the code - that is a secret)....


msupport-feature-01.jpg


...other feature...
Sometimes when the host has bigger resolution let's say has 1920x1080 and our resolution/client is 1366x768... then automatically the received capture screen ~resized at our client-resolution and ofcourse give us the option to make it smaller or bigger by just resizing the window !!!!

Resize can also be at host side... and make it use lower bandwidth !!!

Quality, compression, capture methods make it faster or slower... is your option

------------------------------------------------------------------------------------------------------------------------------------------------

...other feature... Executing Remote Commands...

msupport-feature-02.jpg

ps: Show Temperaturs... using 3rd party app - included as zip into assets (small so i ve added)... it gives you an idea how unzip and use it...


------------------------------------------------------------------------------------------------------------------------------------------------

Host Mode (2)... is for the clients want only taking support - not want to use it to connect at other hosts !

1663573052851.png


------------------------------------------------------------------------------------------------------------------------------------------------

1663573131220.png


1663573206793.png
1663573241022.png

1663573266852.png
1663573285805.png

1663573313019.png
1663573333411.png


Features:

- You can Remote Administation a Windows System (See the Screen and move mouse and use keyboard of it)
- You can turn on/off monitor (sleep it) from remote... and work silent at remote pc...
- You can file transfer... (folders...files)
- You can chat webcam-audio
- You can receive audio of System (if had stereo mix enabled or from def audio in for ex. microphone)
- You can send your audio to the remote (like you microphone - so you can guide a user)
- You can executre remote commands to the remote system.

Capture Methods:
Robot - slow - but sure that works (linux, windows, macos)
JNA DirectX - about 2 to 3 times faster from Robot
FFMpeg - faster from any - but very heavy

Compression Methods
Uncompressed
jpeg
Zlib
jpeg/Zlib

Some Settings:
Jpeg Quality Set
Resizing of Screen Capture - low bandwidth
Full Frame Capture / or automatically windows capture (4/5)
Waiting for Client View the Captured screen or not
Specifc Set of ms (if fast MQTT)

3 Free MQTT Servers can use
Option to Set custom settings for MQTT server... your or third party...

Auto-Updating... (you can setup it easily)
 
Last edited:

amorosik

Expert
Licensed User
19 Sept. 2022... Email with updates Sent... check incoming and then spam folder if not there...

Hope you like my code... Thanks all for your support...

I can tell now that is a Full working Software Solution... what do you think ?

Is a real 'great program'
The performances are not yet at the level of commercial systems, but perhaps the comparison is improper
The project was born recently and certainly has ample room for improvement
The first of which is connectivity with Android ...
... and we are working on this
 

Magma

Expert
Licensed User
Longtime User

Magma

Expert
Licensed User
Longtime User
Because the msupport.exe (or the exe) must have elevated priveleges - is safer (that will run after boot) to use the following snippet and not the registry lib include it... if it your exe using runas Admin or installed with Admin Rights.

Also if you have your custom broker (or a broker that may be using different charsets or crypto) with your SSL and can't connect to it your credentials - must add a "line" at Main as Erel Suggests here:
 

amorosik

Expert
Licensed User
Using mSupport with Mosquitto installed on a pc in lan, does it require special Mosquitto configurations?
I am using 2.0.14 32bit version (on Windows 10 pro 64bit), can you tell us what version are you using?
 

Magma

Expert
Licensed User
Longtime User
Using mSupport with Mosquitto installed on a pc in lan, does it require special Mosquitto configurations?
I am using 2.0.14 32bit version (on Windows 10 pro 64bit), can you tell us what version are you using?
I think Mosquitto v3.1.1 (at Debian), i have installed it on a VPS. But the configuration is the same... not anything special.
 

amorosik

Expert
Licensed User
What tool to use to 'see' the communications that go through the mqtt broker used?
Is there any program that allows you to monitor communications arriving and departing from the broker?
And then why is it called 'broker mqtt' instead of the classic 'mqtt server'?
 

amorosik

Expert
Licensed User
I think Mosquitto v3.1.1 (at Debian), i have installed it on a VPS. But the configuration is the same... not anything special.

So on the mosquitto.conf file supplied as standard, with the exception of the communication port, you have not changed anything?
 

Magma

Expert
Licensed User
Longtime User
And then why is it called 'broker mqtt' instead of the classic 'mqtt server'?
An MQTT broker is a server that receives all messages from the clients and then routes the messages to the appropriate destination clients.
I think, because Messaging brokers mediate between a number of clients, rather than "serving" a single client in a request response pattern.
Broker or Server... for me is a Server..

You can check... my conf. from this post:
 

Magma

Expert
Licensed User
Longtime User
What tool to use to 'see' the communications that go through the mqtt broker used?
Subscribing to # gives you a subscription to everything except for topics that start with a $ (these are normally control topics anyway).
It is better to know what you are subscribing to first though, of course, and note that some broker configurations may disallow subscribing to #

If you want to check low level a network communication - there are plenty tools MinM... but theoreticaly are hacker's tools (ethical).. whireshark, ip packet sniffers...

ps: subscribing... I mean with MQTT by using jMQTT from B4X...

ps2: Also subscribing to # at a public MQTT Server, if allowed - it is a mistake because of millions of channels will get !!!!
 

ViMeAv ICT

Member
Licensed User
Longtime User
cursor.png


Great new program!

Question :
when i put the cursor here (white pointer) Word gets activated.
it seems there's a problem with positioning.
I installed on one computer host, on the other host_client.
But after startup, it says updating, and both version look totally the same.
What do I do wrong?
 

Magma

Expert
Licensed User
Longtime User
View attachment 133931

Great new program!

Question :
when i put the cursor here (white pointer) Word gets activated.
it seems there's a problem with positioning.
I installed on one computer host, on the other host_client.
But after startup, it says updating, and both version look totally the same.
What do I do wrong?
A)which is the host screen resolution?? Is it a tablet?

B)update will always show it's window.. I have it like this... if has update will do it..

Host_client or host is the same for host... host version is only shows host id..

Ps: it is not... what are u doing wrong... is what I am doing... ? Heh..
 
Top