{"id":48495058,"url":"https://github.com/albertgd/librelink-for-mac","last_synced_at":"2026-04-07T12:00:50.605Z","repository":{"id":349427341,"uuid":"1202287064","full_name":"albertgd/librelink-for-mac","owner":"albertgd","description":"macOS Menu Bar app that displays real-time glucose data from LibreLinkUp. Floating HUD with trend graph.","archived":false,"fork":false,"pushed_at":"2026-04-05T21:30:21.000Z","size":108,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-05T23:22:20.686Z","etag":null,"topics":["cgm","diabetes","glucose","hud","libre","librelinkup","macos","menu-bar","swift","swiftui"],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/albertgd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"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-05T21:02:57.000Z","updated_at":"2026-04-05T21:30:24.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/albertgd/librelink-for-mac","commit_stats":null,"previous_names":["albertgd/librelink-for-mac"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/albertgd/librelink-for-mac","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albertgd%2Flibrelink-for-mac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albertgd%2Flibrelink-for-mac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albertgd%2Flibrelink-for-mac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albertgd%2Flibrelink-for-mac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/albertgd","download_url":"https://codeload.github.com/albertgd/librelink-for-mac/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albertgd%2Flibrelink-for-mac/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31511784,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cgm","diabetes","glucose","hud","libre","librelinkup","macos","menu-bar","swift","swiftui"],"created_at":"2026-04-07T12:00:49.773Z","updated_at":"2026-04-07T12:00:50.594Z","avatar_url":"https://github.com/albertgd.png","language":"Swift","funding_links":["https://buymeacoffee.com/albertgd"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"logo.jpg\" width=\"180\" alt=\"LibreLink HUD for Mac\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eLibreLink HUD for Mac\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  A macOS Menu Bar application that displays real-time glucose data from the LibreLinkUp API.\u003cbr\u003e\n  Features an always-on-top floating HUD with a trend graph.\n\u003c/p\u003e\n\n## Features\n\n- **App Icon** — Custom icon (`icon.png`) bundled as `.icns` — visible in Finder, Spotlight, and the Dock\n- **Menu Bar Integration** — Current glucose value and trend arrow always visible in your menu bar\n- **Floating HUD** — Always-on-top transparent panel with large glucose display and trend graph (works over full-screen apps)\n- **Trend Graph** — Visual history of glucose readings with high/low threshold zones\n- **Resizable HUD** — Drag edges to resize, size is remembered between launches\n- **Adjustable Transparency** — HUD opacity from 1% to 100%, updates in real time\n- **Launch at Login** — Optional setting to auto-start the app when you log in to macOS\n- **About Panel** — Version, author info, and links to GitHub, X, LinkedIn, and email\n- **Configurable** — Polling interval (1-5 min), mg/dL or mmol/L, custom thresholds\n- **Secure** — Password stored in macOS Keychain, not in plain text\n- **Multi-Region** — Supports all LibreLinkUp regions (auto-detected via server redirect)\n- **Auto Token Refresh** — Re-authenticates automatically when the token expires\n- **Terms of Use Handling** — Automatically accepts LibreView TOU/PP when required\n\n## Requirements\n\n- macOS 13 (Ventura) or later\n- A LibreLinkUp account with at least one shared connection\n\n## Install\n\n### Homebrew (recommended)\n\n```bash\nbrew tap albertgd/tap\nbrew install --cask librelink-for-mac\n```\n\n### Build from source\n\n```bash\ngit clone https://github.com/albertgd/librelink-for-mac.git\ncd librelink-for-mac\n\n# Option A: Build script\n./build.sh\nopen .build/release/LibreLinkForMac.app\n\n# Option B: Make\nmake\nopen .build/release/LibreLinkForMac.app\n\n# Option C: Debug run\nswift run\n```\n\n### Create a DMG installer\n\n```bash\nmake dmg\n# Output: .build/release/LibreLinkForMac.dmg\n```\n\n## Setup\n\n1. Launch the app — the **Settings** window opens automatically on first run\n2. Enter your **LibreLinkUp email** and **password**\n3. Select your **region** (auto-corrects if the server redirects you)\n4. Click **Save \u0026 Connect**\n5. Your glucose appears in the menu bar — click it to toggle the **floating HUD**\n\n## How It Works\n\nThe app authenticates with the LibreLinkUp API following the same flow as [GlucoDataHandler](https://github.com/pachi81/GlucoDataHandler):\n\n1. **Login** (`POST /llu/auth/login`) — Handles region redirects and Terms of Use acceptance\n2. **Get Connections** (`GET /llu/connections`) — Finds your linked patient\n3. **Get Graph Data** (`GET /llu/connections/{patientId}/graph`) — Fetches current glucose + history\n\nThe token is automatically refreshed when it expires. Data is polled at your configured interval (default: 1 minute).\n\n## Trend Arrows\n\n| Value | Meaning | Icon |\n|-------|---------|------|\n| 1 | Falling Quickly | arrow.down |\n| 2 | Falling | arrow.down.right |\n| 3 | Stable | arrow.right |\n| 4 | Rising | arrow.up.right |\n| 5 | Rising Quickly | arrow.up |\n\n## CI/CD\n\nThe project includes a GitHub Action that automatically builds and creates releases:\n\n- **On tag push** (`v*`): Builds the app, creates a DMG and ZIP, and publishes a GitHub Release\n- **Manual trigger**: Use `workflow_dispatch` to build on demand\n\n```bash\ngit tag v1.5.0\ngit push origin v1.5.0\n```\n\n## Project Structure\n\n```\nSources/LibreLinkForMac/\n├── LibreLinkForMacApp.swift    # App entry point + menu bar setup\n├── Info.plist                  # App metadata (LSUIElement for menu bar)\n├── API/\n│   └── LibreLinkClient.swift   # LibreLinkUp API client (auth, connections, glucose)\n├── Models/\n│   ├── GlucoseModels.swift     # API response models, trend arrows, SHA-256 helper\n│   └── SettingsStore.swift     # Persistent settings + Keychain helper\n├── Views/\n│   ├── MenuBarView.swift       # Menu bar dropdown content\n│   ├── SettingsView.swift      # Settings window\n│   └── GlucoseGraphView.swift  # Trend graph visualization\n└── HUD/\n    └── HUDPanel.swift          # NSPanel-based floating HUD\n```\n\n## Support\n\nLibreLink HUD for Mac is free and open source. Contributing code, reporting bugs, or sharing it with others is all I ask.\n\nIf it saves you time and you'd like to support more free apps like this one, buying me a coffee helps a lot:\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://buymeacoffee.com/albertgd\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?style=for-the-badge\u0026logo=buy-me-a-coffee\u0026logoColor=black\" alt=\"Buy Me a Coffee\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://buymeacoffee.com/albertgd\"\u003e\n    \u003cimg src=\"bmc_qr.png\" width=\"160\" alt=\"Buy Me a Coffee QR code\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Author\n\n**Albert Garcia Diaz**\n\n- GitHub: [@albertgd](https://github.com/albertgd)\n- X: [@albertgd](https://x.com/albertgd)\n- LinkedIn: [albertgd](https://linkedin.com/in/albertgd)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbertgd%2Flibrelink-for-mac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falbertgd%2Flibrelink-for-mac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbertgd%2Flibrelink-for-mac/lists"}