Ylianst / MeshAgent

MeshAgent used along with MeshCentral to remotely manage computers. Many variations of the background management agent are included as binaries in the MeshCentral project.
https://meshcentral.com
211 stars 82 forks source link

FEATURE REQUEST: Location Tracking (automatic) #243

Open jtfeatures opened 3 months ago

jtfeatures commented 3 months ago

I have enabled GeoLocation and now need a way for the devices to report their location back when checking into MC. I have read everything I can and I see that this was never implemented (in an automated way). This is a huge deal for me and I want to help but I am still in the VERY early stages of learning programming and this beautiful program is far above me. But, I wrote a PowerShell program that reports the devices location every 3 seconds and I would live to add that to the meshcentral installer so that the device (at least windows for now) will report its location or at least a close location with IP decoding if the GPS is not implemented. How can I/We help get this option implemented?

si458 commented 3 months ago

this is already partly possible with the web ui but its console based you go into the console tab of a device and run location and it will return a JSON array from ipinfo.io of data ALSO you can enable geoLocation in your config.json like below, and it might be helpful too

{
  "domains": {
    "": {
      "geoLocation": true,
      "iplocation": true
    }
  }
}

DONT USE GEOLOCATION AS IT DOESNT WORK!

si458 commented 3 months ago

ive fixed the geoLocation and ipLocation in the latest docker master image. can you share ur powershell script? the is already code built into the web ui for gpsLoc i just dont have a device with a physical GPS attached to it

var markers = [], types = ['iploc', 'wifiloc', 'gpsloc', 'userloc'], boundingBox = null;

if (node.iploc) { loc = node.iploc; t = 1; }
if (node.wifiloc) { loc = node.wifiloc; t = 2; }
if (node.gpsloc) { loc = node.gpsloc; t = 3; }
if (node.userloc) { loc = node.userloc; t = 4; }