GithubHelp home page GithubHelp logo

rwasef1830 / monband Goto Github PK

View Code? Open in Web Editor NEW
8.0 3.0 0.0 269 KB

A simple desktop tool to keep an eye on network bandwidth.

License: MIT License

C# 100.00%
bandwidth-monitor desktop-app snmp net-core windows deskband dotnet-core gui wpf

monband's Introduction

MonBand

What is MonBand ?

MonBand is a bandwidth monitoring application that adds a toolbar to the Windows taskbar (also known as a "deskband") that renders bandwidth graphs. It was written as a lightweight alternative for the same functionality in NetBalancer for those who don't need any of its other features.

It is written in C# and requires the .NET Core 6.0 SDK to build and the .NET Core 6.0 runtime to run. You can install it from https://dot.net. Since it integrates with the shell, it requires Windows to run. It should work on all Windows platforms that .NET Core runs on.

It is preferable to compile from a git working copy to get changeset ids embedded into the version number.

FAQ

What is this project licensed under ?

This project is licensed under the MIT license. You are free to use it for personal or commercial use, though it would be nice if you contributed new features or bug fixes if it helped you out during your day :-).

How to install ?

  1. Unzip the latest release to a folder, maybe C:\Program Files\MonBand
  2. Open a command prompt as administrator.
  3. Execute regsvr32 "C:\Program Files\MonBand\MonBand.Windows.ComHost.comhost.dll"
  4. Run MonBand.Windows.Standalone.exe to add monitors and configure the logging level.
  5. Right-click taskbar > Toolbars > MonBand, you will probably want to unlock it and resize it and relock it.
  6. Enjoy

How to update ?

  1. Open Task Manager and kill explorer.exe
  2. Overwrite the old build files with the new files in the updated zip.
  3. CTRL+ALT+DELETE > Open Task Manager > File > Run > explorer.exe

How to uninstall ?

  1. Open a command prompt as administrator.
  2. Execute regsvr32 /u "C:\Program Files\MonBand\MonBand.Windows.ComHost.comhost.dll"
  3. Open Task Manager and kill explorer.exe
  4. Delete C:\Program Files\MonBand
  5. CTRL+ALT+DELETE > Open Task Manager > File > Run > explorer.exe
  6. If you don't wish to preserve configuration, you may also delete %AppData%\MonBand.

Where are the configuration and logs stored ?

Application configuration and logs are stored in %AppData%\MonBand Note: Deskbands in Windows are installed for all users. But the configuration of MonBand is user-specific and stored in the location above.

Features

  • Deskband with monitoring of multiple interfaces simultaneously with an autoscaling graph for each one.
  • Standalone configuration application that administers the configuration and communicates with the deskband when configuration is updated without needing to restart the shell.
  • Deskband standalone test mode (without installation in Windows) by running MonBand.Windows.Standalone.exe deskband-test.
  • Bandwidth monitoring of any local network interface traffic rate using performance counters.
  • Bandwidth monitoring of a remote network interface using SNMPv1/2c counters:
    • GUI to query remote interface names and pick which one to monitor. To monitor multiple interfaces, create another SNMP monitor to the same server.
    • Configurable poll interval with automatic compensation for poll latency to reduce rate calculation inaccuracy.
    • 32-bit counter wrap-around is transparently handled.
    • 64-bit counters are preferred if present and wrap-around is transparently handled.
    • Anomalous rate spikes (due to slight irregularities of polling interval and multiple counter updates in case of slow updating counters) are smoothed using ZScore algorithm.

monband's People

Contributors

rwasef1830 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

monband's Issues

[Suggestion] smoother bandwidth monitoring

I watch a lot of video livestreams and it seems that the way they transfer data is in small groupings of data, not in a continuous connection because the bandwidth graphs look like this, see below. One second i would look at the deskband and it would be 15.7 Mbps, and the next second it would be 0.0 Mbps and so on. I've used your MonBand for awhile but i remember that some other software adds a bit of a delay before the current bandwidth speed decays back to zero thus creating a bit of a smoother graph. I suggest a user option thats off by default which would artificially make the graph a bit more fluid. Maybe something like "decay rate in X ms". I know that would essentially make the bandwidth monitor less accurate but what can i say, i just like a prettier graph and i dislike seeing 0.0mbps when i am clearly watching a network intensive livestream. Just an idea, thanks for this useful tool, i love it.

example

Suggestions

Care for suggestions? Typical expected things like:

  • making it easy to install n uninstall the app,
  • be more specific on the description regarding downloading .NET 6, saying the word "core" (It confused me so I got n installed all 4 latest exes from the dl page to be sure),
  • give color n transparency options for the toolbar (text, up, down histograms, background),
  • a better easier ui for settings,
  • adaptive Kbps to Mbps n back depending traffic,
  • option for KB/s to MB/s aside only bps

(I've tried fully functional trial versions of similar but paid apps because I wanted exactly what you have made without anything extra, but when issues occurred the best advice was "uninstall and reinstall". so i uninstalled for good)

  1. I have to say that it works nicely with the taskbar at the small size setting.
  2. Restarting windows 10 on a low-end laptop from 2017 without a single format since then, it launched and works.

Windows 11

Microsoft removed Deskbands. Need to convert it to a "widget" whatever that is... Need to search docs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.