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
I ve updated the stand-alone packages links with new versions ! Caution! I ve disabled at Host version the auto-update - because was updating/downloading to "Host/Client" version - need some changes with auto-update. So for now you can auto-update only the Stand-Alone Package of Host/Client Version.
* Also remove FFMpeg Option (as not doing anything in those versions), Added the line Erel's suggested for custom-servers-brokers, also added the Add to Startup - working for elevated exe/lnk.
 

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?
After a lot of search it seems... its is this setting of Windows:


1663954469967.png

"Change the size of text, apps, and other items"
the Default is 100%

You must have other selected...

Try to set it 100% and tell me...
ofcourse this must (msupport) working with other scales too - but I have to check the code... and fix... how to do it...
 
Last edited:

Magma

Expert
Licensed User
Longtime User
...Well just fixed... the DPI Scale Problem, also include some other bug fixes...

Links for Executable Full Demo updated !


Do not forget running the app with Administrator Rights !

Soon, I will send emails with new source - code including more updates.
 
Last edited:

Magma

Expert
Licensed User
Longtime User
Well, I ve just sent the emails to everyone donated (I hope)...

* * * * * * * * * * * * * * * * * * * * * * * * * * *
So check incoming or spam folders... if you don't get anything until Monday - please tell me here in this thread (do not PM me) if not got it... and then i will PM you :)
* * * * * * * * * * * * * * * * * * * * * * * * * * *

1/10/2022
* * * * * * * * *
This version can do more than u think...
Many bugs.. fixed
Cycle servers as client if not found the host in selected server... after asking...
Cycle servers as host if fail
Some extra remote commands added...
Also new autoupdate fixes some problems...

IT Technician version (setting "0" - check readme.txt):
You can run it second, third, fourth time and connect at other host simultaneously !!
Also in Show All Server you can now select the server you want and search there for your host... (caution.. you must wait everytime changing server)
And many other things... you will search and seee...

Well I ve started as simple way using MQTT to control a pc and seems that this is going to a big Software-Solution... but I ll keep the donation-contribute as low I can - because I believe that will help new members and the community to understand the power and the simplicity of B4X... Ofcourse I will be happy for those will Donate more without expecting something new ! Sometimes those "funds" need for Coffee, energy drinks to work better and faster !

The code need more optimization... I am open to new Ideas... also I am excepting from other members have this piece of code exchange ideas or send me new code parts or at least show us what their achieved.

Executable demos need to reinstalled... autoupdating wasn't so succesful due bugs... now fixed (I think)

* * * * * * * * *
 

Magma

Expert
Licensed User
Longtime User
Hi there...

after one month, testing and searching found some things (ofcourse with the help of other members) that may be speed up the things... a little more 1.5x :)

You can update the StandAlone msupport Apps to version 0.089 at least at host side and check the difference at speed capturing (JNA Capture method)...

I am not sending any source code yet... because of tests... but in a while you will receive...

In this point I must Special Thanks @OliverA... because his snippets and his ideas saved me "Months"..
ofcourse @kimstudio and "as always" @Erel - because of the B4X flexibility !

Coming soon...
 
Last edited:

Magma

Expert
Licensed User
Longtime User
Let's make a limited XMAS discount... you can support me with 35$ until 5/1/2023, and get Remote Administration / mSupport MQTT Source Code !
to have a Happy new Year... all of us !

*@ 1/10/2022 I said will send a new version... but I am searching it a little more to make it much better (I hope)... you ll have to wait for the latest version little more.. hope not long...
 
Last edited:

Magma

Expert
Licensed User
Longtime User
How can we get source code for this project?
Hi there... thanks for interesting !
if you read first post:


You must know B4X well...

If you wanna share it with you...

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



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.
You can use my signature too:
⭐ Do you think I've helped "you" ? - You can support me here
 

imbault

Well-Known Member
Licensed User
Longtime User
Sorry @Magma , when I run msupport by doing a release on B4J, I have got the App window coming then the window disappears
(Using Windows 11)

Here are the Logs with B4XPages.GetManager.LogEvents = True and TypeOfMode =0

B4X:
*** mainpage: B4XPage_Created
*** remote admin: B4XPage_Created
*** remote admin: B4XPage_Appear
Ready false
Ready true
Control count 0
Ready true
Control count 0
*** mainpage: B4XPage_Appear [remote admin]
*** mainpage: B4XPage_Resize [remote admin, mainpage]
*** remote admin: B4XPage_Resize [remote admin, mainpage]
*** remote admin: B4XPage_Disappear [remote admin, mainpage]
b4xmainpage$ResumableSub_B4XPage_Created.resume (java line: 660)
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    at java.util.ArrayList.rangeCheck(ArrayList.java:659)
    at java.util.ArrayList.get(ArrayList.java:435)
    at anywheresoftware.b4a.objects.collections.List.Get(List.java:122)
    at b4j.example.b4xmainpage$ResumableSub_B4XPage_Created.resume(b4xmainpage.java:660)
    at anywheresoftware.b4a.BA.checkAndRunWaitForEvent(BA.java:156)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:105)
    at anywheresoftware.b4a.BA.raiseEvent(BA.java:98)
    at anywheresoftware.b4a.keywords.Common$3.run(Common.java:1119)
    at com.sun.javafx.application.PlatformImpl.lambda$null$5(PlatformImpl.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$6(PlatformImpl.java:294)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$null$4(WinApplication.java:185)
    at java.lang.Thread.run(Thread.java:750)

Can you help?

Thanks
 
Last edited:

Magma

Expert
Licensed User
Longtime User
@imbault ...hmmm... may be it has to do with sound card... (may be)... (more specific indexing the audio in sources)

also, What System Language do you have ?

* Because I ve already tested in Greek, English, Italian...

ps: At debug mode working ok ?
 
Last edited:

Magma

Expert
Licensed User
Longtime User
....I am not sure if have in the version you got the following options - check and tell me:


Hi there....

put this in Class_Globals

B4X:
   Dim haveaudio As Boolean=False

I think you have it... now as False... right ?


This is in sub defaudioin ?
and this if before this and ofcourse an end if after it's end if

B4X:
   If haveaudio=True Then 'add this too...
If Main.Devices.Size>0 Then
....
        Main.newselectedaudio=Main.selectedaudio
   
   
End If
end if 'add this too
 

Magma

Expert
Licensed User
Longtime User
@amorosik Hi there and ofcourse hi to all !

I have some "changes" at my brain... but can't work many hours on it... ofcourse this project has special position at my heart and I hope soon fix "myself" to continue it...

by the way, you said: first version...
but actually the project start shared at July 4th 2022... and there was 3 to 4 updates until the end of October.... the truth is that have an update didn't share it at December - but the reason is because never fix some problems had at the december-version + because "personal" problems that made me sad (again, a lost, my brother) for almost 5-6 months....

in other words... hope to find some time to make the extra changes i want...

The biggest problem... is that we are humans :) - And problems never stop... You must face them and always come winner...

* but I would like to hear your opinion and in general everyone's opinion on how they find my application and how much it is worth to make it even better, to get strength...
* the source code helped you ?

ps: I remember that you wanted do some changes for android, did you make them... did you have any success ?
 
Top