EthernetMonitor is a lightweight Windows system tray utility that monitors your Ethernet adapter's link speed and notifies you if it drops below an expected threshold. It’s useful for power users, gamers, and network administrators who want to be alerted of degraded network conditions due to faulty cables, auto-negotiation failures, or hardware issues.
- ⚙️ Monitors a specific network interface (e.g., "Ethernet") for status and link speed.
- 🔔 Displays native Windows 10/11 toast notifications when the speed drops below a configured threshold.
- 🎛️ Fully configurable via a tray menu:
- Select network adapter
- Set expected link speed
- Adjust monitoring and notification intervals
- Toggle autostart on system boot
- 📁 Configuration stored in
config.json(auto-generated) - 🪟 Minimal, icon-based tray presence with dynamic icon change on warning
- 📜 Log file (
ethernet_monitor.log) for activity and error tracking
To use EthernetMonitor:
- Download the latest release from the Releases page.
- Run
EthernetMonitor.exe. - Configure the program by right clicking the tray icon and selecting your prefered settings. Don't forget to select the correct network interface you will be monitoring!
No installation is required. It runs in the background from the system tray.
When you run the program for the first time, a tray icon will appear:
- ⚪ Standard icon – Ethernet is running at or above the expected speed.
- 🔴 Red icon – Speed is lower than expected or connection is down.
| Menu Option | Description |
|---|---|
Current: <interface> |
Displays the currently monitored network adapter. |
Select Interface |
Lists all detected network interfaces. Click to switch monitoring target. |
Expected Speed |
Choose the minimum link speed (e.g., 1000 Mbps) you expect from your adapter. |
Expected: <speed> |
Displays your currently set expected speed. |
Current Link Speed: |
Shows the current link speed of the selected adapter. |
Check Interval |
Frequency (in seconds or minutes) to check the adapter status. |
Notification Interval |
How often to show speed warnings (prevents spamming). |
Open Config Folder |
Opens the folder where config.json and log files are stored. |
Start with Windows |
Enable/disable automatic start when Windows boots. |
About |
Shows version info and credits. |
GitHub Repository |
Opens the project GitHub page in your browser. |
Quit |
Exits the application and removes tray icon. |
Located at config.json, it stores your preferences. Example structure:
{
"interface_name": "Ethernet",
"expected_speed_mbps": 1000,
"check_interval_seconds": 60,
"notification_interval_seconds": 60,
"start_with_windows": false
}You normally don’t need to edit this manually – use the tray menu instead.
- Windows 10 or 11
-------Optional--------
- Python 3.10+ (only for development; end-users can use compiled
.exe) - Libraries (included in packaged build):
psutilpystrayPillowwinotifypywin32winshell
To run the program with python without building it:
python ethernet_monitor.pyTo build your own .exe using PyInstaller:
pip install pyinstaller
pyinstaller --clean --noconfirm ethernet_monitor.specIf you're using .png icons or external files, you may need to update the .spec file to include them.
- No error shows up?
- Open config folder (right click on tray or in
%appdata%\EthernetMonitor\) and checkethernet_monitor.logfor errors.
- Open config folder (right click on tray or in
This project is licensed under the GNU AGPLv3. See the LICENSE file for details.
- Developed by St0RM53
- Notification system by winotify
- 🔗 GitHub: https://github.com/St0RM53/EthernetMonitor
- 💬 Issues or suggestions? Open an issue
