Files
iKeyMon/README.md

2.4 KiB
Raw Blame History

🖥️ iKeyMon — macOS App for Monitoring KeyHelp Servers

iKeyMon is a native macOS app written in SwiftUI that provides live monitoring for your KeyHelp servers using the KeyHelp API.

Current Features

  • Displays key system information from your KeyHelp server via the API
  • Shows CPU load, memory usage, swap usage, and disk usage
  • Periodic ping via /api/ping endpoint to check if a server is reachable
  • Colored status indicator for each server in the list
  • Automatic updates:
    • Ping every 10 seconds
    • Server info every 60 seconds
  • Organized layout using tabs: General / Resources / Services
  • Stores API keys securely in the macOS Keychain
  • Native macOS look & feel using SwiftUI

📸 Screenshots

General Resources Services Edit Server
General Resources Services Edit

🛠️ Planned Features

  • Preferences dialog
  • macOS notifications if servers or services become unavailable
  • Optional iOS support if there is demand

🚀 How to Run

Clone the repo and open it in Xcode. You can build and run the app on macOS 14+.

git clone https://git.24unix.net/tracer/iKeyMon
cd iKeyMon
open iKeyMon.xcodeproj

Local release build

Use the helper script to produce distributables in dist/:

./scripts/build_release.sh

It cleans previous artifacts, builds the Release configuration, and drops both iKeyMon-<version>.zip and iKeyMon-<version>.dmg into the dist folder (ignored by git). To enable codesigning + notarization, copy signing.env.example to .signing.env, fill in your Developer ID identity, Apple ID, team ID, and app-specific password. The script sources that file locally (it remains gitignored) and performs signing/notarization when the values are present.

📦 License

MIT — see LICENSE for details.

You're free to build and use this app however you want, but please don't upload an unchanged version to the App Store under the same name. Once it's stable, I may release it on the App Store for a small fee (12€) to cover my Apple Developer account.

💬 Feedback

Join the discussion (in German) here: 🔗 https://community.keyhelp.de/viewtopic.php?t=13851