Repository navigation
Building from Source
github-actions[bot] edited this page Oct 17, 2026
·
1 revision
- Windows 10 or 11
-
.NET SDK 8 or newer. The SDK builds the
net462target; the reference assemblies come from NuGet. - Optional: Inno Setup 6 for the installer
git clone https://github.com/anand34577/winspeed.git
cd winspeed
./build.ps1 # version from WinSpeed.csproj
./build.ps1 -Version 1.2.3Output in dist\:
| File | |
|---|---|
app\WinSpeed.exe |
the app |
WinSpeed-Portable-<ver>.zip |
portable package |
WinSpeed-Setup-<ver>.exe |
installer (if Inno Setup is installed) |
SHA256SUMS.txt |
checksums |
For a quick development build: dotnet build -c Release → bin\Release\net462\WinSpeed.exe. Put an empty portable file next to it so your test runs keep their data in bin\Release\net462\Data instead of %APPDATA%.
src/Program.cs entry point, single instance, command line
src/TrayApp.cs controller: sampling timer, tray, menu, stats, alerts, speed test, updates
src/NetMonitor.cs per-adapter 64-bit counters → rates; virtual-adapter detection
src/SpeedOverlay.cs the taskbar / floating meter (per-pixel-alpha layered window)
src/SpeedFormatter.cs units, multipliers, label styles, decimals
src/UsageStore.cs hourly per-adapter history: storage, queries, grouping
src/Services.cs ping/offline monitor, speed test, public IP lookup, update checker
src/Settings.cs settings model + settings.ini
src/SystemIntegration.cs start with Windows, global hotkey
src/Native.cs Win32 interop, taskbar detection, theme, DPI
src/TrayIcons.cs app icon and live-speed tray icon
src/Forms/ main window, settings pages, welcome screen, themed controls, charts
installer/WinSpeed.iss Inno Setup script
wiki/ this user guide (published automatically)
site/ the project website (GitHub Pages)
- Small and fast. No third-party runtime dependencies and no extra DLLs. The app targets .NET Framework 4.6.2, which ships with every supported Windows 10 and 11, so nothing has to be installed. Keep the exe tiny and idle CPU near zero.
- Private by default. Nothing leaves the PC unless the user asks for it, or for the documented ping and update check.
- Instant settings. Every option applies immediately and is documented in Settings reference.
- Update the version in
WinSpeed.csprojand add a section toCHANGELOG.md. - Merge to
main. CI builds and smoke-tests every push and pull request. - Push a tag such as
v1.2.3. The Release workflow builds the installer, portable zip and checksums, and publishes a GitHub release with the notes fromCHANGELOG.md.
The wiki (wiki/) and website (site/) are published automatically when they change on main.
WinSpeed is free and open source (MIT). Download · Report an issue · Edit this guide