{"id":49600588,"url":"https://github.com/valeriansaliou/datahawk","last_synced_at":"2026-05-04T09:05:36.388Z","repository":{"id":354983591,"uuid":"1222381279","full_name":"valeriansaliou/datahawk","owner":"valeriansaliou","description":"📶 Tiny macOS app to show status of 5G hotspot in the menu bar","archived":false,"fork":false,"pushed_at":"2026-05-01T10:14:54.000Z","size":175,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-01T10:24:03.256Z","etag":null,"topics":["hotspot","macos","netgear"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/valeriansaliou.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-27T10:03:52.000Z","updated_at":"2026-05-01T10:14:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/valeriansaliou/datahawk","commit_stats":null,"previous_names":["valeriansaliou/datahawk"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/valeriansaliou/datahawk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valeriansaliou%2Fdatahawk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valeriansaliou%2Fdatahawk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valeriansaliou%2Fdatahawk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valeriansaliou%2Fdatahawk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/valeriansaliou","download_url":"https://codeload.github.com/valeriansaliou/datahawk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/valeriansaliou%2Fdatahawk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32600968,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"online","status_checked_at":"2026-05-04T02:00:06.625Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hotspot","macos","netgear"],"created_at":"2026-05-04T09:05:34.847Z","updated_at":"2026-05-04T09:05:36.382Z","avatar_url":"https://github.com/valeriansaliou.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📶 DataHawk\n\n**DataHawk** is a lightweight macOS menu bar app that monitors your 5G mobile hotspot in real time.\n\nIt sits quietly in the status bar and displays live cellular metrics — signal strength, data usage, battery level, and more — fetched directly from your router's admin API. There's no Dock icon — _DataHawk is a pure status bar utility_.\n\n⬇️ **[Download DataHawk for macOS](https://github.com/valeriansaliou/datahawk/releases/latest/download/DataHawk.dmg)**\n\n## Supported hotspots\n\n| Vendor | Supported Models | Feature Support |\n|---|---|---|\n| NETGEAR | Nighthawk M3, M6, M6 Pro | Full |\n\n_💡 Want to [add a hotspot vendor](./Sources/Providers)? We accept PRs!_\n\n## Screenshots\n\n![DataHawk app menu](https://github.com/user-attachments/assets/07978787-c3e6-49d0-ab6a-0268f4e76c67)\n_DataHawk appears in your menu bar. It periodically polls the status of your hotspot, if it detects you are connected to it._\n\n---\n\n\u003cdiv align=\"center\"\u003e⬇️ DataHawk connects to the router HTTP API on your private WiFi LAN...\u003c/div\u003e\n\n---\n\n![NETGEAR Nighthawk router](https://github.com/user-attachments/assets/4afd8954-360d-4d45-9776-a215029505b2)\n_A NETGEAR Nighthawk M3. DataHawk is extensible, you can easily add support for new hotspot vendors._\n\n## Features\n\n- ✅ **Hotspot auto-detection** — connects automatically when your Mac joins a known hotspot's WiFi network\n- ✅ **Live cellular metrics** in the popover:\n  - Cellular generation (5G / 4G / 3G / 2G / 1G / No Signal)\n  - Signal strength (0–5 bars)\n  - Carrier name\n  - Connection status\n  - Roaming indicator\n  - Data used / Data limit / Data remaining\n  - Battery level and charging state\n  - WiFi network name and connected client count\n  - Firmware update notification\n- ✅ **Status bar icon** reflects the current state at a glance:\n  - Text badge (`5G`, `4G`, …) when connected\n  - Orange badge when data usage is high\n  - Red badge when battery is low\n  - Faded antenna when no hotspot is detected\n  - Faded cellular bars when signal is lost\n  - Blinking antenna while the first router metrics fetch is in progress\n- ✅ **Notifications** — opt-in alerts for important events (disabled by default):\n  - Low battery warning when the router battery crosses the low threshold\n  - Cellular signal lost when the hotspot drops to no signal\n- ✅ **WiFi QR share** — Option-click the icon (or use the QR button) to show a scannable QR code for joining the router's WiFi\n\n## Install\n\nDownload the latest release from [GitHub Releases](https://github.com/valeriansaliou/datahawk/releases) and drag **DataHawk.app** into your Applications folder.\n\n### Hotspot setup procedure\n\n1. Launch DataHawk — the antenna icon appears in the menu bar.\n2. Grant **Location Services** permission when prompted (needed for WiFi BSSID detection).\n3. Click the icon → **Settings** → **Hotspots** tab → **Add Hotspot**.\n4. Fill in the details for your router:\n\n| Field | Description |\n|---|---|\n| **Name** | A label you'll recognise, eg. \"Office M6 Pro\" |\n| **BSSID** | The MAC address of the router's WiFi |\n| **Vendor** | Router manufacturer (eg. NETGEAR) |\n| **Username** | Router admin username |\n| **Password** | Router admin password |\n| **Admin URL** *(optional)* | Override the auto-detected admin URL |\n\n5. Connect your Mac to that router's WiFi — DataHawk will now show the information from your router in your macOS menu bar.\n\n### Finding your WiFi BSSID\n\nThe BSSID is the MAC address of the router's WiFi access point. When DataHawk is running but no hotspot is configured, the popover shows the **detected BSSID** of the current network with a copy button — paste it directly into the settings form.\n\nDataHawk uses the BSSID as a means to securely know when you are connected to a known hotspot. DataHawk only attempts to login to the router's administrator area for known BSSIDs, meaning your credentials are not sent to other WiFi routers (eg. your home fiber router, a public coffee shop, etc.).\n\n⚠️ **Note that the WiFi BSSID is different for your 5GHz network and your 2.4GHz network**. When your MacBook gets far away from your router, then you might roam from 5GHz to 2.4GHz, therefore your BSSID will change. **You will need to configure a second BSSID in DataHawk** with the same credentials for your metrics to show properly on both 5GHz and 2.4GHz.\n\n![2 hotspots for 5GHz and 2.4GHz WiFi](https://github.com/user-attachments/assets/880173d6-6e13-472d-b2ef-9d55cb20b1e5)\n_You will need to add 2 separate hotspots to support both 5GHz WiFi and 2.4GHz._\n\n## Uninstall\n\n1. Quit DataHawk from the menu bar.\n2. Delete **DataHawk.app** from your Applications folder.\n3. Remove the login item in **System Settings → General → Login Items** if you had enabled it.\n\n## Build from source\n\nRequires Xcode Command Line Tools (`xcode-select --install`). No third-party dependencies.\n\n```bash\n# Clone the repo\ngit clone https://github.com/valeriansaliou/datahawk.git\ncd datahawk\n\n# Build DataHawk.app in the project root\nmake app\n\n# Build and launch immediately (kills any running instance first, used for development)\nmake app-dev\n\n# Clean all build artefacts\nmake clean\n```\n\n### Release \u0026 notarize\n\n👉 This procedure is only used by repository maintainers to release new versions of DataHawk.\n\n1. Prior to distributing a release, create a new Git tag so that the new version is picked up during build. Tags should be formatted as such: `v1.0.0`.\n\n2. Once tagged, you can build `DataHawk.app`:\n\n```bash\nmake app\n```\n\n3. Finally, it needs to be packaged and notarized into `DataHawk.dmg` as such:\n\n```bash\nmake release\n```\n\n4. When the final DMG has been packaged and notarized, simply draft a new release on [DataHawk/releases](https://github.com/valeriansaliou/datahawk/releases) and upload `DataHawk.dmg`.\n\n👉 The website does not need to be updated, since the download button points to the `DataHawk.dmg` file from the latest release.\n\n👉 You can configure your signing key by creating a `local.env` file with eg.:\n\n```bash\nexport SIGN_ID=Developer ID Application: Your Developer Name (IDENTIFIER_HERE)\n```\n\n## Available shortcuts\n\n| Action | Result |\n|---|---|\n| **Click** the icon | Open / close the metrics popover |\n| **Click ↻** in the popover | Force a refresh of metrics |\n| **Option-click ↻** | Force full refresh of metrics (re-authenticates) |\n| **Option-click** the icon | Show WiFi QR code share window |\n| **Click QR button** | Show WiFi QR code share window |\n| **Click Settings** | Open the hotspot and options configuration window |\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaleriansaliou%2Fdatahawk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaleriansaliou%2Fdatahawk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaleriansaliou%2Fdatahawk/lists"}