A Windows desktop application to monitor blood glucose levels using the LibreLinkUp API.
- ✅ Widget Mode: Compact always-on-top display for continuous monitoring without window switching
- ✅ Modern UI: Clean, easy-to-read interface displaying current glucose readings
- ✅ Auto-Update: Automatic refresh of glucose data at configurable intervals (default: 5 minutes)
- ✅ Secure Credential Storage: Encrypted storage of login credentials using Windows Data Protection API
- ✅ Auto-Login: Automatically log in on application start with saved credentials
- ✅ Historical Data: View recent glucose readings with trend indicators
- ✅ Target Ranges: Display target high/low thresholds
- ✅ Trend Arrows: Visual indicators showing glucose trends (rising, falling, stable)
- ✅ Configurable Settings: Customize update intervals, server region, and alert thresholds
- Pre-built Windows executable
- No installation required
- .NET 8.0 Runtime required (or use self-contained version)
For all releases, visit the Releases page.
The application starts with a secure login screen where you can enter your LibreLinkUp credentials.
The main dashboard displays:
- Current blood glucose level
- Trend arrow (↑↑ rising rapidly, ↑ rising, → stable, ↓ falling, ↓↓ falling rapidly)
- Status indicator (Normal, High, Low)
- Target high/low ranges
- Last update timestamp
- Patient name
- Recent history of glucose readings
- Windows 10 or later
- .NET 8.0 Runtime
- LibreLinkUp account with access to patient data
- Download the latest release from the Releases page
- Extract the ZIP file to a folder of your choice
- Run
LibreLinkConnector.exe
Note: Requires .NET 8.0 Runtime (or download the self-contained version which includes the runtime)
- Install .NET 8.0 SDK
- Clone or download this repository
- Open a terminal in the project directory
- Run the following commands:
dotnet restore
dotnet build
dotnet rundotnet publish -c Release -r win-x64 --self-contained falseThe executable will be in bin\Release\net8.0-windows\win-x64\publish\
- Launch the application
- Enter your LibreLinkUp email and password
- Check "Remember me" if you want to save your credentials for auto-login
- Click "Login"
- The application automatically refreshes glucose data every 5 minutes (configurable)
- You can manually refresh by clicking the "↻ Refresh" button
Click the "⚙ Settings" button to configure:
- Update Interval: Set how often to check for new readings (1-30 minutes)
- Server Region: Choose between European or Global LibreView server
- Notifications: Enable/disable notifications (future feature)
- Thresholds: Set custom high/low glucose alert thresholds
- Credentials are encrypted using Windows Data Protection API
- Stored securely in:
%APPDATA%\LibreLinkConnector\credentials.dat - Only accessible by the current Windows user
- Can be deleted on logout
This application uses the LibreLinkUp API to retrieve glucose data:
- European Server:
https://api-eu.libreview.io - Global Server:
https://api.libreview.io
product: llu.android
version: 4.2.1
- Login → Get JWT Token
- Get Connections → Retrieve Patient ID
- Get Graph Data → Fetch glucose readings
The application stores configuration in:
- Credentials:
%APPDATA%\LibreLinkConnector\credentials.dat(encrypted) - Settings:
%APPDATA%\LibreLinkConnector\settings.json
- All credentials are encrypted using Windows Data Protection API
- No data is sent to third parties
- Direct communication with official LibreView API only
- JWT tokens are stored securely and automatically refreshed
- Verify your LibreLinkUp credentials
- Check your internet connection
- Try switching server region in Settings
- Check Settings → Update Interval is set correctly
- Ensure the application remains open
- Check if you have active internet connection
- Try logging out and logging in again
- Delete saved credentials via Logout → Yes
LibreLinkConnector/
├── Models/
│ ├── LoginModels.cs # Login request/response models
│ ├── ConnectionModels.cs # Patient connection models
│ ├── GraphModels.cs # Glucose data models
│ ├── GlucoseData.cs # Glucose data processing
│ ├── AppState.cs # Application state
│ └── UserSession.cs # User session management
├── Services/
│ ├── LibreLinkApiClient.cs # API client implementation
│ ├── CredentialManager.cs # Secure credential storage
│ ├── ApiLogger.cs # API logging
│ └── ThemeManager.cs # Theme management
├── Views/
│ ├── LoginView.xaml # Login view UI
│ ├── SettingsView.xaml # Settings view UI
│ ├── ForecastView.xaml # Forecast view UI
│ └── WidgetView.xaml # Widget view UI
├── Presenters/
│ ├── LoginPresenter.cs # Login business logic
│ ├── SettingsPresenter.cs # Settings business logic
│ └── ForecastPresenter.cs # Forecast business logic
├── Themes/
│ ├── DarkTheme.xaml # Dark theme resources
│ └── LightTheme.xaml # Light theme resources
├── MainWindow.xaml # Main UI
├── MainWindow.xaml.cs # Main logic & auto-update
├── AppSettings.cs # Application settings
├── App.xaml # Application resources & styles
└── App.xaml.cs # Application entry point
- WPF (Windows Presentation Foundation) for UI
- .NET 8.0 for runtime
- Newtonsoft.Json (v13.0.3) for JSON serialization
- HttpClient for API communication
- Windows Data Protection API for credential encryption
See BUILD.md for detailed build instructions.
dotnet restore
dotnet build
dotnet rundotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=trueContributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Supports only one patient connection at a time
- Requires active internet connection
- Windows-only application
See CHANGELOG.md for planned features and version history.
- Toast notifications for high/low glucose alerts
- Multiple patient support
- Data export to CSV/Excel
- Enhanced glucose charts and trends
- System tray support
- Alarm sounds for critical values
This project is licensed under the MIT License - see the LICENSE file for details.
- Based on LibreLinkUp HTTP API documentation by Selcuk Kekec
- Built with .NET 8.0 and WPF
- This is an independent, open-source project
- Use at your own risk
- Always consult your healthcare provider for medical decisions
- Please respect LibreView's Terms of Service and API usage policies
For issues, questions, or feature requests:
- Check the Troubleshooting Guide
- Review Quick Start Guide
- Open an Issue on GitHub
Current version: 1.0.0-beta
See CHANGELOG.md for version history and release notes.