Traffic Monitor is a lightweight yet powerful Windows application that monitors your internet and network traffic in real time. It displays live upload/download speeds directly on your desktop and inside the Windows taskbar — designed with a modern, clean UI that adapts to your system's dark or light theme.
Built with WPF on .NET 8, Traffic Monitor is fully portable, supports multiple languages including Arabic (RTL), and comes packed with advanced features like a built-in speed test, process-level network tracking, and detailed historical traffic statistics.
| Category | Features |
|---|---|
| 📊 Live Monitoring | Real-time upload/download speed, today's total usage, active connection type |
| 🪟 Taskbar Window | Embedded taskbar widget that auto-detects light/dark theme |
| 🔍 Speed Test | Built-in speed test with animated gauge, ping, jitter, packet loss, ISP info |
| 🧩 Process Monitor | Per-process network usage with icons, live bars, and sortable list |
| 📅 Traffic History | Daily/monthly/yearly stats with list view and interactive calendar view |
| ⚙️ Options | Full settings panel: theme, language, opacity, startup, intervals, notifications |
| 🌍 Multi-Language | 5 languages: English, Arabic (RTL), Spanish, French, Russian |
| 🔔 Notifications | Custom animated toast notifications (success, warning, error, info) |
| 🎨 Theming | Light / Dark / Auto theme with smooth transitions and DPI-aware rendering |
| 🪟 Transparency | Global window opacity control (30–100%) |
| 📋 System Tray | Minimize to tray, tooltip with live stats, context menu |
| 🌐 Connection Details | Full adapter info: IP, MAC, gateway, DNS, speed, bytes sent/received |
Download the latest release from the Releases page.
| Requirement | Value |
|---|---|
| OS | Windows 10 / 11 (Windows 7/8 supported) |
| Framework | .NET 8.0-windows |
| Architecture | x64 / x86 (AnyCPU) |
| RAM | ~20 MB |
| Disk | ~15 MB |
1. Download TrafficMonitor.exe from Releases
2. Run the executable — no installation required (fully portable)
3. Settings are stored in: HKEY_CURRENT_USER\SOFTWARE\TrafficMonitor
4. Traffic history is saved to: %AppData%\TrafficMonitor\history.json
| Window | Purpose |
|---|---|
MainWindow |
Desktop overlay: live upload/download/today stats, connection badge |
TaskbarWindow |
Embedded taskbar widget with auto theme detection |
SpeedTestWindow |
Full speed test with animated gauge, results, and connection ratings |
ProcessNetworkWindow |
Per-process network usage with real-time bars |
HistoryWindow |
Traffic history (list + calendar views) with month summary |
NetworkInfoWindow |
Detailed adapter information for all connections |
OptionsWindow |
Settings panel (Main Window, Taskbar, General tabs) |
AboutWindow |
Credits, links, animated heart |
| Service | Description |
|---|---|
NetworkService |
Polls NetworkInterface every N ms, calculates speeds, manages daily history flush |
HistoryService |
Persists daily traffic to history.json with atomic file writes |
RegistrySettingsService |
Loads/saves all settings to Windows Registry |
SpeedTestService |
Orchestrates full speed test via provider chain |
SpeedTestManager |
Selects best provider: Cloudflare → Multi-CDN → Local Fallback |
CloudflareProvider |
Primary speed test via speed.cloudflare.com with geo-server selection |
ProcessNetworkService |
Reads per-process I/O counters via Win32 + TCP/UDP table PIDs |
ToastManager |
Floating overlay notification system with animations and RTL support |
| Component | Description |
|---|---|
ThemeManager |
Light/Dark/Auto mode, listens to Windows WM_SETTINGCHANGE, saves to registry |
App.xaml |
Dynamic resource dictionary with full light/dark color token sets |
GlobalFontFamily |
Per-language font switching (Satoshi, 29LT Bukra, Stem-Regular) |
| Language | Code | RTL |
|---|---|---|
| English | en |
❌ |
| العربية (Arabic) | ar |
✅ |
| Español (Spanish) | es |
❌ |
| Français (French) | fr |
❌ |
| Русский (Russian) | ru |
❌ |
Language is stored in HKEY_CURRENT_USER\SOFTWARE\TrafficMonitor\Language and can be changed live from Options without restarting.
All settings are stored under: HKEY_CURRENT_USER\SOFTWARE\TrafficMonitor
| Key | Type | Description |
|---|---|---|
Language |
String | en, ar, es, fr, ru |
ThemeMode |
Integer | 0 = Light, 1 = Dark, 2 = Auto |
Opacity |
Double | Window transparency (30–100) |
UpdateInterval |
Integer | Polling interval in milliseconds |
ShowTaskbarWindow |
Integer | 1 = show embedded taskbar widget |
AutoSelect |
Integer | 1 = auto-select best network adapter |
ShowTrayIcon |
Integer | 1 = show system tray icon |
TrafficTipEnable |
Integer | 1 = enable daily traffic limit alert |
TrafficTipValue |
Integer | Limit value (in MB or GB) |
StartWithWindows |
Integer | 1 = add to startup registry |
TrafficMonitor/
│
├── App.xaml / App.xaml.cs ← Application entry, tray, context menu, language engine
├── MainWindow.xaml / .cs ← Desktop overlay window
├── TaskbarWindow.xaml / .cs ← Taskbar-embedded widget (Win32 SetParent)
│
├── Views/
│ ├── SpeedTestWindow ← Speed test with animated gauge
│ ├── ProcessNetworkWindow ← Per-process traffic monitor
│ ├── HistoryWindow ← Traffic history list + calendar
│ ├── NetworkInfoWindow ← Network adapter details
│ ├── OptionsWindow ← Full settings panel
│ └── AboutWindow ← About / credits
│
├── Services/
│ ├── NetworkService ← Core traffic polling engine
│ ├── HistoryService ← JSON-based history persistence
│ ├── RegistrySettingsService ← Settings load/save (Registry)
│ ├── SpeedTestService ← Speed test orchestrator
│ ├── SpeedTestManager ← Provider selection
│ ├── CloudflareProvider ← Cloudflare speed test + geo-server selector
│ ├── MultiCdnProvider ← CDN fallback (OVH, Hetzner, etc.)
│ ├── LocalFallbackProvider ← Offline ping-based estimation
│ ├── GeoServerSelector ← Nearest server selection by GPS distance
│ ├── ProcessNetworkService ← Win32 TCP/UDP table + I/O counters
│ └── ToastManager ← Animated overlay notifications
│
├── Models/
│ ├── NetworkData ← Live speed/today data model
│ ├── HistoryData ← Daily history entry
│ └── SettingsData ← All app settings (with Clone())
│
├── Themes/
│ └── ThemeManager ← Light/Dark/Auto engine
│
├── Lang/
│ ├── Lang-EN.xaml
│ ├── Lang-AR.xaml
│ ├── Lang-FR.xaml
│ ├── Lang-ES.xaml
│ └── Lang-RU.xaml
│
└── Assets/
├── Icons/
├── Avatars/
└── Fonts/
- Taskbar embedding via
SetParent()Win32 API — the widget is a real child window ofShell_TrayWndwith automatic DPI-aware positioning - Auto theme detection by hooking
WM_SETTINGCHANGEfrom a hidden message-only window - Named pipe IPC for single-instance enforcement
- Atomic history writes using
.tmp→ rename to prevent data corruption - Per-process I/O tracking using
GetExtendedTcpTable,GetExtendedUdpTable, andGetProcessIoCountersWin32 APIs - Geo-aware speed test server selection using Haversine distance calculation against 30+ global Cloudflare edge locations
- RTL-aware toast notifications with slide-in/out animations that flip direction for Arabic
If Traffic Monitor has been useful to you, consider supporting continued development:
| Role | Developer |
|---|---|
| 🚀 Lead Developer & Designer | Tarek Sadek (Diagoo1) |
| 📷 Icon and some ideas | zhongyang219 (zhongyang219) |
| Channel | Link |
|---|---|
| GitHub | @Diagoo1 |
| tarek.sadek44@gmail.com | |
| PayPal | paypal.me/Diagoo1 |
MIT License
Copyright © 2026–2027 Tarek Sadek
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
Full license terms → LICENSE
⭐ If you find Traffic Monitor useful, please give it a star on GitHub!
Made with ❤️ by Tarek Sadek
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)