Code Monkey home page Code Monkey logo

meshcentralassistant's People

Contributors

buckybytes avatar meichthys avatar nicrame avatar volkans80 avatar ylianst avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

meshcentralassistant's Issues

Invalid URI exception

Windows7 64bit Home Edition client application crashes. Meshagent already installed and connected.
Exception detail is as follows:

UnhandledExceptionEventSink: System.UriFormatException: Invalid URI: The format of the URI could not be determined.
at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
at System.Uri..ctor(String uriString)
at MeshAssistant.MeshAgent.ReadPipe(IAsyncResult r)
at System.IO.Pipes.PipeStream.AsyncPSCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

Meshcentral Assistant No request send

Application Meshcentral Assistant creates debug file with content below when I make the Request Help
My Meshcentral version 1.0.95.

ExceptionSink: System.NullReferenceException: Object reference not set to an instance of an object.
at System.Resources.ResourceReader.TypeLimitingDeserializationBinder.BindToType(String assemblyName, String typeName)
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Bind(String assemblyString, String typeString)
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType(BinaryAssemblyInfo assemblyInfo, String name)
at System.Runtime.Serialization.Formatters.Binary.ObjectMap..ctor(String objectName, String[] memberNames, BinaryTypeEnum[] binaryTypeEnumA, Object[] typeInformationA, Int32[] memberAssemIds, ObjectReader objectReader, Int32 objectId, BinaryAssemblyInfo assemblyInfo, SizedArray assemIdToAssemblyTable)
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.ReadObjectWithMapTyped(BinaryObjectWithMapTyped record)
at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
at System.Resources.ResourceReader.DeserializeObject(Int32 typeIndex)
at System.Resources.ResourceReader.LoadObjectV2(Int32 pos, ResourceTypeCode& typeCode)
at System.Resources.RuntimeResourceSet.GetObject(String key, Boolean ignoreCase, Boolean isString)
at System.Resources.ResourceManager.GetObject(String name, CultureInfo culture, Boolean wrapUnmanagedMemStream)
at MeshAssistant.Properties.Resources.get_Green()
at MeshAssistant.RequestHelpForm.InitializeComponent()
at MeshAssistant.RequestHelpForm..ctor(MainForm parent)
at MeshAssistant.MainForm.requestHelpButton_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

MeshCentralAssistant

Hi, how does it work the tray icon?
We can't open requests (if I click on Request Help nothing happens)
Is it normal?

Launch Assistant for multiple calls

I'm going to send help request directly from (Windows-)application.
With Parameters -visible -connect -help:"test" it does work on first invocation.
But, on further invocations, no further request is sent until the user does explicitly close Assistant.

How can that be solved?

Install and start assistent through agent (console)

It would be very nice if the assistant can be installed through an agent console command.
And make sure the assistent will be started again at reboot of the remote machine and users login when it is installed as systray.

Crash of Mesh Assistent

Describe the bug
Meshagent is working. Mash Assistent, Can be Startet, Connecting works. Call for Help Works. But when Connecting From The Server to the Client the Mesh Assistent Crashes
with following in debug.log

UnhandledExceptionEventSink: System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei MeshAssistant.MeshCentralAgent.processServerJsonData(String data)
bei MeshAssistant.MeshCentralAgent.WebSocket_onBinaryData(webSocketClient sender, Byte[] data, Int32 off, Int32 len, Int32 orglen)
bei MeshAssistant.webSocketClient.ProcessWsBuffer(Byte[] data, Int32 offset, Int32 len, Int32 op)
bei MeshAssistant.webSocketClient.ProcessBuffer(Byte[] buffer, Int32 offset, Int32 len)
bei MeshAssistant.webSocketClient.OnTlsDataSink(IAsyncResult ar)
bei System.Net.LazyAsyncResult.Complete(IntPtr userToken)
bei System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
bei System.Net.Security._SslStream.ProcessFrameBody(Int32 readBytes, Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
bei System.Net.Security._SslStream.ReadFrameCallback(AsyncProtocolRequest asyncRequest)
bei System.Net.AsyncProtocolRequest.CompleteRequest(Int32 result)
bei System.Net.FixedSizeReader.CheckCompletionBeforeNextRead(Int32 bytes)
bei System.Net.FixedSizeReader.ReadCallback(IAsyncResult transportResult)
bei System.Net.LazyAsyncResult.Complete(IntPtr userToken)
bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Net.ContextAwareResult.Complete(IntPtr userToken)
bei System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
bei System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
bei System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

Server Software (please complete the following information):

  • OS: [e.g. Ubuntu]
  • Virtualization: [e.g. Docker]
  • Network: [e.g. LAN/WAN, reverse proxy, cloudflare, ssl offload, etc...]
  • Version: [e.g. 1.0.43]
  • Node: [e.g. 18.4.0]

Client Device (please complete the following information):

  • Device: PC, and Virtual Mashine
  • OS: PC Windows11, Virtual Machine Windows10,
  • Network: Clients Local Connection via IPV4 over WAN (Nat)
  • Browser: Chrome Or Firefox

Mesh Assistant switches don't work

Hi,
First of all, thank you for your great application.
I just started using Mesh Central, all things are OK, but when I want to use Mesh Assistant switches from CMD, they don't work.
I there any mistake I have done.

command like this :
MeshAssistant -help:"Sample help request" -agentname:"Computer1" -connect

Unauthorized file access causes crash

Accessing a file which the user does not have permission, via MeshCentral file explorer, causes the application to close forcefully. Contents of debug.log file:

UnhandledExceptionEventSink: System.UnauthorizedAccessException: Access to the path 'C:\Recovery' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileSystemEnumerableIterator`1.CommonInit()
   at System.IO.FileSystemEnumerableIterator`1..ctor(String path, String originalUserPath, String searchPattern, SearchOption searchOption, SearchResultHandler`1 resultHandler, Boolean checkHost)
   at System.IO.Directory.EnumerateDirectories(String path)
   at MeshAssistant.MeshCentralTunnel.ParseFilesCommand(String data)
   at MeshAssistant.MeshCentralTunnel.WebSocket_onBinaryData(webSocketClient sender, Byte[] data, Int32 off, Int32 len, Int32 orglen)
   at MeshAssistant.webSocketClient.ProcessWsBuffer(Byte[] data, Int32 offset, Int32 len, Int32 op)
   at MeshAssistant.webSocketClient.ProcessBuffer(Byte[] buffer, Int32 offset, Int32 len)
   at MeshAssistant.webSocketClient.OnTlsDataSink(IAsyncResult ar)
   at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
   at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
   at System.Net.Security._SslStream.ProcessFrameBody(Int32 readBytes, Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security._SslStream.ReadFrameCallback(AsyncProtocolRequest asyncRequest)
   at System.Net.AsyncProtocolRequest.CompleteRequest(Int32 result)
   at System.Net.FixedSizeReader.CheckCompletionBeforeNextRead(Int32 bytes)
   at System.Net.FixedSizeReader.ReadCallback(IAsyncResult transportResult)
   at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
   at System.Net.ContextAwareResult.CompleteCallback(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Net.ContextAwareResult.Complete(IntPtr userToken)
   at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
   at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
   at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

Meshcentral assistant new feature

Hello, I want to request a new feature. Can the client select the user groups defined on the server side when sending a help request. Accordingly, the client will select department or help type, and users under that department will only receive notification.

Thank you.

Send mail MeshCentral Assistant

Good evening, testing the MeshCentral Assistant I am looking for a way that when the user needs assistance, in addition to the alert on the platform the system sends an email to a particular mailbox.
This would be a solution to later link it with a ticket system and have more direct statistics of the services performed.

Thank you very much

Unable to download Assistant

Hi,
Files Tab :- Clicking the file name h-link not able to download files. Assistant version is 0.9.46

Thanks & Regards,
Easwar

Mouse Cursor

If I start remote maintenance and want to help someone in MS Excel, for example, only my mouse cursor is shown to me. Enlarging columns or selecting a column is not displayed. This is also the case in Windows Explorer. Is it possible to show the mouse cursor of the remote machine? When the user moves his mouse you can't see it.

Another question. Do you plan to create a Meshcentral assistant for Linux as well?
Thanks...

Can't execute meshcentral assistant in system tray ,always connected

I download meshcentral assistant the "system tray ,always connected" then execute it,
But it not work, and create a txt file .....

debug.txt

UnhandledExceptionEventSink: System.ArgumentException: An item with the same key has already been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at MeshAssistant.MeshCentralAgent.checkMshStr(String mshstr)
at MeshAssistant.MainForm..ctor(String[] args)
at MeshAssistant.Program.Main(String[] args)

Feature request: Link to MeshCentral chat feature

Love the utility of this! I do wish there were a bit more feedback for the user when they submit a request for help. I think a great way to provide that feedback would be to pre-emptively open a chat window with some kind of default message to the user such as "Your request has been submitted. Watch this window for a response from the next available agent." or similar. I would expect that the agent would have a link inside the MeshCentral web interface to connect to that help request chat window and begin a conversation with the user.

I'm not a developer, but it seems this would be relatively straightforward to tie into the existing chat feature in MeshCentral.

Thanks!

Incomplete translation

I'm using German translation.
The grant-access dialog is only partly translated:
Title and Buttons are translated, The Main Question and the checkbox-label are not.

How can I fix that?

Random connection from the assistant

Hello,

With the last MeshCentral server (1.0.23) installed on linux, the agent works perfectly, but not the assistant.
When I launch the assistant, it only connects 1 time out of 10 (approximately), the others end up giving the following error :
meshassistant

If I cancel the help request and reload it, it will eventually works and connect to the server.
I can't see anything wrong on the reverse, and I don't know where to look on the meshcentral server itself.

Thank you for the tool !
Regards

Default connection

Assistent is at startup always a direct connection. Why not detecting there is already an agent active and select this one as default?

Problem capturing UAC windows with MashCentralAssistant

Hello everyone !

Translated by Google from French :D

To begin, thank you for this immense and excellent work.

I installed Meshcentral out of curiosity, now I don't plan on not working with it!!

This is not really an issue, but rather a feature request.

I have browsed github, reddit, it seems to me that my request would be appreciated.

When using the MeshCentral Assistant, there may be problems with administrator access and capturing UAC windows.
I recompiled meshassistant by modifying manifest.app with:

That solves the first problem because it requires the user to accept the elevation to start assistance. However, capturing UAC windows still doesn't work and that's a real problem in my situation. you must always ask the user to click "yes", even to install a simple print driver...

Previously I was using a lightweight agent from anydesk, it did this just fine without installation.

Is it possible to add an option to change this behavior ?

Thanks a lot !

Signing a customised assistant makes it unusable

When code-signing a customised assistant, the newly signed exe does not recognise the (embedded) msh file anymore and thus cannot connect to my server.

Debug output:

17:13:.7140: ***** Starting MeshCentral Assistant *****
17:13:.7172: Version 0.1.8175.21599
17:13:.7182: Set TLS 1.2
17:13:.7196: InitializeComponent()
17:13:.7961: Checking for embedded MSH file
17:13:.8266: Check for built-in agent
17:13:.8306: Get list of background agents
17:13:.8612: MainForm_Load()
17:13:.9161: connectToAgent 
17:13:.9230: Agent: ConnectPipe()
17:13:.9262: Agent: ConnectPipe() - failed
17:13:.9176: Agent: ConnectPipe()
17:13:.9199: Agent: ConnectPipe() - failed

It kind of works with an external msh file, but since I could only find an agent msh file, the assistant now lost the custom icon and name and is residing in the tray.

Great work!!! Enhancement request

I downloaded, compiled and tested with latest 0.6.62 MC server version.
Amazing idea!!!!!
Also tested it and really like the "?" mark on the list with computers :)
Can this be added to MeshAgent as an option, also controlled from MC server, let's say on device to have an option for MeshAssistant to start automatically with MeshAgent or not.
Possibly will be more ideas, but at the moment optional start with MeshAgent is the main :)
THANKS again!!!!

Open Site ... Opens an agent port link, not the site itself ....

When click on "Open SIte ..." it opens URL remote.domain.com:449 and cannot get to it.
Actually port 449 is only for my agents to connect.
Probably another line in MeshAgent.msh have to be added to point to real URL or other server configurable URL, so MeshAssintant can get the option from there.

Unable to download or edit files

Using MeshCentral file explorer to download or edit files is not possible with MeshCentralAssistant, it shows an empty modal for the editor and no feedback when trying to download a file.

No Connect for support to other LAN

I like to give some support to a user in a company LAN.

There is a problem to connect to my Meshserver with the Assistant.
With Teamviewer and Anydesk is it no problem.

The company use a Proxy behind a firewall. Need also time to connect with TV and Anydesk.
But it runs. I have test it with agent and assistant.
The assistant will be nice because they can not install the agent without admin rights.
Meshcentral server runs on 0.9.1

assistant debug:

`5:28:.2069: ***** Starting MeshCentral Assistant *****

15:28:.3006: Version 0.1.7875.23361
15:28:.3788: Set TLS 1.2
15:28:.4722: InitializeComponent()
15:28:.9968: Checking for embedded MSH file
15:28:.1218: Check for built-in agent
15:28:.2016: Starting built-in agent
15:28:.4192: MCAgent: LoadAgentCertificate() - Loaded existing certificate from registry.
15:28:.4976: MCAgent: MSH MeshID: 0x4A69D66FCCFB532AD2D066B4CCB85B0043A69ED321D7A4AAD8F7CF443CC4E4C737D806660DEB097A2A10503309F288A6
15:28:.5910: MCAgent: MSH ServerID: 7C425635A3FAFC86B893B2B52FB38D1C3265EBF7501D250B9FBCC23E4604FF5410DE069964F43AC84E8D6F960096B1FB
15:28:.6707: MCAgent: MSH MeshServer: wss://xxxx.ddnss.de/agent.ashx
15:28:.7691: MainForm_Load()
15:28:.8627: connectToAgent ~
15:29:.2817: requestHelpButton_Click ~
15:29:.3544: RequestHelp ~, "Hello"
15:29:.4274: MCAgent: connect()
15:29:.4904: MCAgent: Attempting connection to wss://xxxx.ddnss.de/agent.ashx
15:29:.5693: MCAgent: WebSocket_onStateChanged: Connecting
15:29:.6322: Mcagent_onStateChanged 1
15:29:.7424: WebSocket: Websocket Start, URL=wss://xxxx.ddnss.de/agent.ashx
15:29:.8389: WebSocket: Websocket proxyUri: http://192.168.6.16:8080/
15:29:.9719: WebSocket: Proxy connection failed: HTTP/1.1 407 Proxy Authorization Required
Proxy-Authenticate: NTLM
Date: Sat, 07 Aug 2021 13:29:51 GMT
Cache-Control: no-cache
Pragma: no-cache
Content-Type: text/html; charset="UTF-8"
Content-Length: 2515
Proxy-Connection: keep-alive
`

MeshCentral Assistant Custom Logo

I was doing some testing with the MeshCentral Assistant today and when downloading the Connect on Request application, I see a random logo on the app that definitely should not be associated with it. I'm honestly not even sure how the logo got associated with MeshCentral.

Could you point me towards the config file that needs to be modified to adjust this?

Strange mouse behavior.

I use a translator, I apologize if it is not clear.

After double-clicking with the left mouse button, further left-clicks work like right-clicks or don't work at all. To start working correctly again, you need to click on the right mouse button.
I observe this behavior when running the Assistant on Windows Server 2008r2 in the RDP session and Windows 10.

Guest Sharing crashing the MeshCentral server

The error:

/opt/meshcentral/node_modules/meshcentral/meshrelay.js:978
const command = { nodeid: node._id, action: 'msg', type: 'tunnel', value: '*/' + xdomain + 'meshrelay.ashx?p=' + obj.req.query.p + '&id=' + obj.id + '&rauth=' + rcookie + '&nodeid=' + node._id, soptions: {}, rights: cookie.r, guestuserid: user._id, guestname: cookie.gn, consent: cookie.cf, remoteaddr: cleanRemoteAddr(obj.req.clientIp) };
^

TypeError: Cannot read properties of null (reading '_id')
at /opt/meshcentral/node_modules/meshcentral/meshrelay.js:978:261
at /opt/meshcentral/node_modules/meshcentral/db.js:2250:29
at /opt/meshcentral/node_modules/mongodb/lib/utils.js:371:9
at /opt/meshcentral/node_modules/mongodb/lib/cursor/abstract_cursor.js:260:32
at /opt/meshcentral/node_modules/mongodb/lib/cursor/abstract_cursor.js:510:55
at /opt/meshcentral/node_modules/mongodb/lib/utils.js:371:9
at /opt/meshcentral/node_modules/mongodb/lib/sessions.js:136:24
at maybePromise (/opt/meshcentral/node_modules/mongodb/lib/utils.js:357:5)
at ClientSession.endSession (/opt/meshcentral/node_modules/mongodb/lib/sessions.js:133:41)
at cleanupCursor (/opt/meshcentral/node_modules/mongodb/lib/cursor/abstract_cursor.js:557:32)

assistant (through agent) crashed when remote desktop session is started through agent.

I've a custom agent in group 1.
When I start on the same remote windows machine an assistent from group 2 then it will shown them in the correct groups. Only you can not see the difference between these two (both are marked as Agent in the devices views). Only difference is that the assistent does not have properties like OS, IP, Current User, etc. In detail view of the assistant on the MC webUI, it is showing it as an assistent.

When I select the agent in assistent to be used as connection. Then in group 2 it will be "disconnected" and "connected" again. I expect only to see the Agent in group 1 to be online. Not both.

When I start a remote desktop sessions through the agent, then the assistent will crash.

Service mode for Assistant

The Assistant is very useful for remote support, end users do not require elevated privileges to run the application, but there'll be some cases that running an program with admin rights or switching between users will trigger UAC, blocking the interaction with the remote screen. That means that Assistant require some privileges to bypass the UAC, but the problem still happens when running it with admin rights. This problem can be circumvented by having MeshAgent installed and running as service, this means having the agent available all the time, even not being needed, that is the pros of using Assistant for remote support.

My request is the addition of an service mode for the Assistant, allowing it to bypass the UAC, and uninstalling the service automatically after closing the application. Since installing a service requires elevated privileges, the Assistant must run as service only when requested.

The process of accessing an remote machine and running Assistant on service mode would be like:

  1. End user, without elevated privileges, downloads the Assistant and runs it on user mode.
  2. The operator connects to the user machine and requests the Assistant to run on service mode.
  3. The Assistant requests admin credentials and uses runas to run it on service mode.
  4. The operator can now run programs without UAC blocking the desktop.
  5. The operator ends the session by closing the Assistant and the service is uninstalled from the machine.

This could also fix Ylianst/MeshCentral#1885

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.