
A powerful, lightweight system tray application for real-time internet connectivity monitoring with speed measurements
Installation • Features • Configuration • FAQ • Contributing
-
🔄 Real-time Network Monitoring
- Instant connection status updates
- Download and upload speed measurements
- Configurable check intervals
-
🎨 Customizable Visual Indicators
- Multiple shape options (circle, square, triangle)
- Customizable colors for connected/disconnected states
- Adjustable size and border options
-
⚡ Performance Optimized
- Asynchronous network checks
- Minimal CPU and memory usage
- Fast startup and response time
-
🔧 Advanced Configuration
- Custom target host for connectivity checks
- Adjustable timeout settings
- Configurable refresh rates
-
💻 System Integration
- Windows startup integration
- System tray quick actions
- Persistent settings storage
- Windows 10 or Windows 11
- No additional software required
- Python 3.7 or higher
- Dependencies:
- PyQt5 ≥ 5.15.0 (UI framework)
- aiohttp ≥ 3.8.0 (async network operations)
- asyncio ≥ 3.4.3 (async support)
- Download the latest release from our releases page
- Extract the ZIP file
- Run
internet-status-indicator.exe
- Look for the indicator in your system tray
# Clone the repository
git clone https://github.com/almas-cp/internet-status-indicator.git
cd internet-status-indicator
# Method 1: Direct run
pip install -r requirements.txt
python network_status_indicator/network_status_indicator.py
# Method 2: Install as package
pip install -e .
python -c "from network_status_indicator import main; main()"
- Indicator Shape: Choose between circle, square, or triangle
- Colors: Customize for both connected and disconnected states
- Size & Border: Adjust indicator size and border properties
- Target Host: Default is 8.8.8.8 (Google DNS)
- Check Interval: Configurable from 500ms to 10000ms
- Timeout: Adjustable from 1 to 10 seconds
- Auto-start: Option to launch with Windows
- Tray Menu: Quick access to all settings
-
Connectivity Check
- HTTP request to configured target host
- Fallback to alternative methods if primary fails
-
Speed Measurement
- Download speed test using Cloudflare's speed test endpoints
- Upload speed measurement with optimized data packets
- Real-time speed updates in tooltip
-
Status Updates
- Asynchronous network operations
- Event-driven UI updates
- Efficient error handling and recovery
Q: How accurate are the speed measurements? A: Speed measurements use Cloudflare's speed test infrastructure, providing reliable results comparable to dedicated speed test services.
Q: Will this slow down my internet? A: No, the application uses minimal bandwidth for checks and optimizes network requests to avoid impact on your connection.
Q: Can I change the check frequency? A: Yes, you can adjust the check interval from 500ms to 10 seconds in the settings.
Q: The indicator shows I'm offline when I'm not A: Try:
- Checking your target host setting
- Increasing the timeout value
- Verifying firewall settings
Q: The application won't start with Windows A: Ensure you have administrator privileges when enabling auto-start.
We welcome contributions! Here's how you can help:
-
Code Contributions
- Fork the repository
- Create a feature branch
- Submit a pull request
-
Bug Reports
- Use the issue tracker
- Include detailed reproduction steps
- Provide system information
-
Feature Requests
- Open an issue with the "enhancement" label
- Describe the feature and its benefits
Distributed under the MIT License. See LICENSE
for details.
almas-cp
- GitHub: @almas-cp
- Built with Python and PyQt5
- Speed testing powered by Cloudflare
- Icons and UI inspired by modern design principles
Made with ❤️ by almas-cp
⭐ Star this project if you find it useful!