Skip to content

just-stuff-tm/mesh-utility

 
 

Repository files navigation

Mesh Utility (Flutter)

Obtainium Buy Me A Coffee

Native Flutter client for Mesh Utility with BLE radio scanning, local cache, and Cloudflare Worker sync.

Live Web App

Supported Targets

  • Android
  • iOS
  • Linux
  • macOS
  • Windows
  • Web

How The App Works

  • Connect to a radio over BLE from Settings → Connections.
  • Start map scanning with the scan control on the map overlay.
  • App sends node-discover frames, collects responses, and stores scans locally with location data.
  • Smart-scan skips recently covered zones and resumes scanning when moving into stale/unscanned/dead zones.
  • Local scans are uploaded/synced with the worker on Sync now and on a periodic interval.
  • Periodic sync interval is user-configurable from 30 minutes to 24 hours and is anchored to server/internet time.

Settings (Current Behavior)

  • Scan Interval: auto-scan cadence.
  • Smart Scan + freshness days: skip recent-coverage zones.
  • Cloud History: worker history window.
  • Deadzone Retrieval: deadzone fetch window.
  • Update radio position: for radios without GPS, sets observer radio coordinates to current OS location so mesh peers can see position; this only updates radio coordinates.
  • Offline map tiles: cache viewed tiles + download/clear local tile cache around current location.
  • Units: imperial/metric.
  • Stats Radius: bottom stats filter radius (0 = all visible data).
  • Upload Interval: periodic worker sync interval (30..1440 minutes).
  • Online/Offline Mode: force offline disables worker sync/upload.
  • Delete radio data: signed delete flow for connected radio.

Run Locally

cd /home/chris/Projects/mesh-utility
flutter pub get
flutter run

Linux Installer (Latest Release)

ASSET_URL="$(curl -fsSL https://api.github.com/repos/mesh-utility/mesh-utility/releases/latest \
  | jq -r '.assets[] | select(.name=="mesh-utility-install-linux.sh") | .browser_download_url')"

curl -fL -o install_mesh_utility.sh "$ASSET_URL"
chmod +x install_mesh_utility.sh
./install_mesh_utility.sh

If jq is not installed, use this fallback:

curl -fsSL https://raw.githubusercontent.com/mesh-utility/mesh-utility/main/tool/install_linux.sh -o install_mesh_utility.sh
chmod +x install_mesh_utility.sh
./install_mesh_utility.sh

Contributing Docs

About

Mesh Utility Flutter client

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Dart 79.4%
  • TypeScript 11.1%
  • C++ 4.2%
  • CMake 3.2%
  • Shell 0.6%
  • Swift 0.4%
  • Other 1.1%