Skip to content

smorrel1/HowOnline-Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HowOnline-Python

A Python menu bar app for macOS that shows your internet connection quality at a glance.

Menu Bar Python

What it does

Shows your ping time to google.com in the menu bar, color-coded by quality:

  • Green: Good connection (ping <100ms, jitter <20ms, packet loss <1%)
  • Amber: Fair connection (ping <200ms, jitter <50ms, packet loss <3%)
  • Red: Poor connection or errors

Click the icon for detailed stats including jitter, packet loss, IP address, and gateway.

Why?

This is a Python alternative to HowOnline, which is a native Swift app. This version:

  • Works without Xcode
  • Adds jitter and packet loss monitoring
  • Shows color-coded quality indicators
  • Includes a "Run Full Diagnosis" option using mtr

Installation

# Install dependencies
pip install pystray pillow

# Optional: Install mtr for deep diagnosis
brew install mtr

# Run it
python3 howonline.py

Auto-start on login

Create ~/Library/LaunchAgents/com.howonline.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.howonline</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/python3</string>
        <string>/path/to/howonline.py</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

Then load it:

launchctl load ~/Library/LaunchAgents/com.howonline.plist

Metrics explained

  • Ping: Round-trip time to google.com in milliseconds
  • Jitter: Variation in ping times (standard deviation). High jitter = unstable for video calls
  • Packet Loss: Percentage of packets that don't arrive. Even 1-2% causes audio dropouts

Requirements

  • macOS (tested on Sonoma 14.x)
  • Python 3.8+
  • pystray
  • Pillow (PIL)

License

MIT

About

Python menu bar app showing ping, jitter & packet loss - alternative to lg/HowOnline

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors