A minimal macOS menu bar application that monitors network connectivity by sending periodic ICMP pings or HTTP requests to selected hosts.
- Dual Protocol Monitoring: Support for both ICMP ping and HTTP monitoring
- ICMP Mode: Traditional network ping using system
/sbin/ping - HTTP Mode: HTTP HEAD requests with redirect handling and SSL validation
- ICMP Mode: Traditional network ping using system
- Per-Host Protocol Selection: Toggle between ICMP and HTTP monitoring for each host individually
- Menu bar indicator with color status:
- Green – host reachable
- Red – host unreachable
- Gray – monitoring paused
- Configurable host list with quick selection from the menu
- Add or remove hosts dynamically (most recent host appears on top)
- Monitoring Type Toggle: Click the protocol icon (EKG for ICMP, Globe for HTTP) next to each host to switch between monitoring types
- Start/Stop control for monitoring
- Adjustable ping interval (0.5s, 1s, 2s, 5s) - applies to both ICMP and HTTP monitoring
- Anti-flap stabilization (require multiple confirmations before state change)
- Optional notifications on connectivity changes
- Optional console logging
- Option to hide or show Dock icon (runtime switch, requires app relaunch)
- HTTP Features:
- Automatic redirect following (301, 302, 303, 307, 308)
- SSL certificate validation
- Configurable timeout (5 seconds)
- HTTP status code tracking and display in tooltips
- Automatic persistence of configuration to
~/Library/Application Support/Pinger/config.json - About dialog with version, author, settings file location, and description
- macOS 26.0 or newer
- For ICMP monitoring: Access to system
/sbin/ping(App Sandbox must be disabled) - For HTTP monitoring: Standard network access (works with App Sandbox enabled)
- Xcode to build from source (tested with Xcode 15+)
- No external dependencies
- Download & run Release.
- On first launch, macOS will warn because the app is from an unidentified developer. Use right-click → Open to run it.
OR
- Clone the repository:
git clone https://github.com/Venomen/Pinger.git
- Open
Pinger.xcodeprojin Xcode. - Build and run on macOS.
- After building, you can archive and distribute the
.appmanually (outside the App Store).
- Launch Pinger - it appears in the menu bar
- Click the menu bar icon to open the menu
- Add hosts using the text field at the bottom
- Select a host to monitor from the list
- Each host has a protocol icon next to it:
- EKG/Heartbeat icon (📈) = ICMP ping monitoring
- Globe icon (🌐) = HTTP monitoring
- Click the icon to toggle between ICMP and HTTP monitoring for that specific host
- The application remembers the monitoring type for each host
- ICMP hosts: Use IP addresses or hostnames (e.g.,
8.8.8.8,google.com) - HTTP hosts: Use full URLs (e.g.,
https://google.com,http://example.com) - Mixed monitoring: You can have some hosts using ICMP and others using HTTP simultaneously
- All settings (hosts, active host, interval, anti-flap, notifications, logs, dock visibility, monitoring types per host) are automatically saved to:
~/Library/Application Support/Pinger/config.json - The file is created on first launch and updated on exit or whenever settings change.
- ICMP monitoring: Relies on the system
pingbinary. Ensure/sbin/pingis available and executable. - ICMP monitoring: App Sandbox must remain disabled, otherwise ICMP packets will be blocked.
- HTTP monitoring: Works with standard network permissions and App Sandbox enabled.
- Mixed monitoring: If using both ICMP and HTTP hosts, App Sandbox must be disabled due to ICMP requirements.
- Copy/Paste from Clipboard to Host field - sometime works ;-)
- Automatic update mechanism (e.g., GitHub release check with Sparkle)
- Optional sound alerts on connectivity changes
- Advanced HTTP monitoring options (custom headers, authentication)
- Performance metrics and response time tracking
MIT License – see LICENSE for details.
Author: deregowski.net © 2025