Native Windows client in C# WPF to receive notifications from a Gotify server.
- ✅ WebSocket connection to Gotify
- ✅ Real-time notification reception
- ✅ Native Windows notifications (balloon tips)
- ✅ System tray icon
- ✅ Automatic minimize-to-tray
- ✅ Received message list
- ✅ Automatic configuration persistence
- Windows 10/11
- .NET 6.0 Runtime or SDK
- A Gotify server with a client token
- Install the .NET 6.0 SDK
- Open a terminal in the project directory
- Build the project:
dotnet build -c ReleaseThe executable will be in: bin/Release/net6.0-windows/GotifyClient.exe
To create a standalone executable that does not require .NET to be installed:
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=trueThe executable will be in: bin/Release/net6.0-windows/win-x64/publish/GotifyClient.exe
- Launch
GotifyClient.exe - Configure the connection:
- Server URL: The URL of your Gotify server (e.g.
https://gotify.example.com) - Client Token: Your client application token (create it in the Gotify UI)
- Server URL: The URL of your Gotify server (e.g.
- Click "Connect"
- The app connects and starts receiving notifications
- Sign in to your Gotify web UI
- Go to Applications
- Create a new application
- Copy the generated token
- Paste it into the "Client Token" field in the app
The configuration (server URL and token) is saved automatically to gotify_config.json in the same folder as the executable.
- Minimize to tray: Enable this option to minimize the app to the system tray instead of the taskbar
- Double-click the tray icon: Restores the window
- Right-click the tray icon: Shows the context menu (Open/Quit)
- Clear messages: Removes the displayed message history (does not delete messages on the server)
- Ensure the server URL is correct (including
https://orhttp://) - Verify the token is valid
- Confirm the Gotify server is reachable from your network
- Ensure the WebSocket port is open (usually the same as HTTP/HTTPS)
- Confirm Windows notifications are enabled in system settings
- Test by sending a message from the Gotify web UI
If you use a self-signed certificate, you may need to update the code to accept invalid certificates (not recommended for production).
- C# / .NET 6
- WPF (Windows Presentation Foundation)
- WebSocket for real-time connectivity
- System.Windows.Forms for the tray icon
MIT License - Free to use and modify
To report a bug or request a feature, open an issue on the GitHub repository.