https://github.com/rana-gmbh/netfluss
A light-weight & open-source menubar app that shows current upload & download speed plus the top apps using bandwidth
https://github.com/rana-gmbh/netfluss
dns-switcher fritzbox macos menubar-app network-analysis openwrt unifi utility
Last synced: 5 days ago
JSON representation
A light-weight & open-source menubar app that shows current upload & download speed plus the top apps using bandwidth
- Host: GitHub
- URL: https://github.com/rana-gmbh/netfluss
- Owner: rana-gmbh
- License: gpl-3.0
- Created: 2026-02-05T19:08:54.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-21T16:56:20.000Z (5 days ago)
- Last Synced: 2026-04-21T17:40:01.257Z (5 days ago)
- Topics: dns-switcher, fritzbox, macos, menubar-app, network-analysis, openwrt, unifi, utility
- Language: Swift
- Homepage: https://www.ranagmbh.de/netfluss/
- Size: 22.1 MB
- Stars: 322
- Watchers: 6
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-swift-macos-apps - Netfluss - gmbh/netfluss?style=flat&label=" /> <img align="bottom" height="13" src="https://img.shields.io/github/last-commit/rana-gmbh/netfluss?style=flat&label=" /> - Menu bar network monitor showing real-time upload and download rates. (Menubar / Text)
README
# NetFluss
[](https://github.com/rana-gmbh/NetFluss/releases/latest)
[](https://github.com/rana-gmbh/NetFluss/releases)
[](LICENSE)
A native macOS menubar app showing real-time upload and download rates, router-wide bandwidth, historical traffic statistics, and built-in speed testing.
Latest release: **NetFluss 2.2**
## Features
### Menubar
- Live upload ↑ and download ↓ rates displayed in the menu bar
- Four menu bar styles: Standard, Unified pill, Dashboard, and Icon
- Separate color choices for upload arrow, download arrow, upload number, and download number
- Monospaced digits for stable layout
- Configurable font size (8–16 pt), font style (Monospaced / System / Rounded), pinned unit, and decimal precision
- **Icon mode** — switch to a single symbol in the menu bar and choose between multiple icon options, including the NetFluss app-style icon
- **Launch at login** — toggle in Preferences → Launch
### Popover
- **Header** — total Download and Upload rates shown prominently at the top
- **Adapter cards** — each active network interface as a card with:
- SF Symbol icon for Wi-Fi, Ethernet, or other adapters
- Link speed badge (Wi-Fi TX rate or Ethernet speed)
- Per-card DL/UL rates with coloured arrows
- Wi-Fi frequency band (2.4 GHz / 5 GHz / 6 GHz) or "Ethernet"
- ↺ reconnect button — cycles the adapter off and back on (Wi-Fi: no password needed; Ethernet: approved via the NetFluss helper)
- ℹ️ **Wi-Fi detail popover** — click the (i) button on any Wi-Fi card to see: Standard (e.g. Wi-Fi 6 / 802.11ax), Security (WPA3 Personal, etc.), Channel & Width, RSSI, Noise, SNR, ESSID, BSSID (with copy), and Tx Rate
- **IP addresses** — two display modes:
- **List view** — External, Internal, and Router IP, each with a one-click copy button
- **Connection flow view** — visual network path from your Mac through the router (and VPN, if active) to the internet, with country flag for VPN exit nodes
- **DNS Switcher** — switch between DNS providers directly from the popover (enable in Preferences):
- Built-in presets: System Default, Cloudflare, Google, Quad9, OpenDNS
- Add your own custom DNS presets with up to four DNS servers
- Shows the currently active DNS with a green checkmark
- Built on a bundled privileged helper for reliable DNS changes and Ethernet resets
- **Router Bandwidth** — shows total WAN download/upload rates from supported routers:
- **Fritz!Box** via TR-064 API
- **UniFi** via the UniFi OS / controller REST API
- **OpenWRT** via the ubus JSON-RPC API
- **OPNsense** via the OPNsense REST API
- **Top Apps** — optional section listing the top 5 processes by current network traffic, with a relative usage bar per app (enable in Preferences)
- **Live updates while visible** — app traffic refreshes live while the popup or pinned window is open
- **App filtering** — hide noisy background processes (e.g. mDNSResponder) from the list via Preferences or hover to hide directly
- **Pin button** — turn the popup into a movable floating window so NetFluss can stay open like a live widget
- **Scrollable popover** — the popover is scrollable and resizable for smaller screens, preventing overflow when many adapters or sections are active
- **Edge-aware popover positioning** — keeps the popover fully visible when the menu bar icon sits near the left or right screen border
- **Footer** — quick access to Preferences, About, and Quit
### Statistics
- Dedicated statistics window with `1H`, `24H`, `7D`, `30D`, and `1Y` ranges
- Download and upload timelines, top adapters, and top apps
- Historical bandwidth analysis by adapter and by app
- Top adapter ranking with automatic `Other` grouping when many interfaces are active
- Top 10 apps for download and upload over each selected range
- Minute-level detail for the `1H` view
- Optional app statistics collection with energy-conscious background sampling
- Demo/sample data mode for previewing the interface before real history accumulates
- Improved app attribution for Safari/WebKit traffic and more reliable adapter accounting for LAN/NAS transfers
### Speed Test
- Dedicated speed test window launched from the menu bar icon context menu
- Integrated M-Lab and Cloudflare speed tests
- Download, upload, latency, jitter, and server details in a dedicated window
- Provider selector remembered between runs
- Right-click the menu bar icon to start a test instantly
- Speed test history can be opened without automatically starting a new test
- Persistent speed test history stored locally on the Mac
- Notes field for each saved result, useful for remembering where or why the test was taken
- Compact locale-aware timestamps in speed test history
#### Speed Test History
### Preferences
- Clear pane-based Preferences window with sections for General, Adapters, Statistics, Appearance, Top Apps, DNS, and Router settings
- **Language selector** — choose English, German, Simplified Chinese, Traditional Chinese, or follow the macOS system language
- **General** — launch at login, refresh interval (0.5 – 5 seconds), display rates in bits or bytes, and optional automatic GitHub update checks once per day
- **Adapters** — show/hide inactive adapters, show/hide other adapters (VPN, virtual interfaces), adapter grace period, per-adapter visibility toggles, custom names, and drag-to-reorder
- **Statistics** — toggle historical adapter statistics and app statistics separately
- **Appearance** — upload/download arrow colours, upload/download number colours, menu bar style, menu bar size, font style, pinned unit, decimal places, and IP address display options
- **IP addresses** — choose List, Flow, or None for the popover IP section, plus IPv4/IPv6 external IP preference
- **Top Apps** — show/hide the section, configure the grace period, and filter noisy background apps from the live Top Apps list
- **DNS Switcher** — toggle the DNS picker in the popover; includes built-in presets plus editable custom presets with up to four server fields, visibility toggles, drag-to-reorder, and delete for each preset
- **Router** — configure Fritz!Box, UniFi, OpenWRT, and OPNsense bandwidth monitoring in one place, with credentials stored securely in macOS Keychain where needed
- Options to calculate total bandwidth from only visible adapters and to exclude VPN/tunnel adapters from totals while still showing them in the adapter list
### About
- Version number with link to release notes on GitHub
- Made by Rana GmbH — www.ranagmbh.de
- Refreshed app icon introduced with NetFluss 2.x
- Check for Updates — queries GitHub Releases, shows release notes and a Download button when a newer version is found
- Optional daily background update checks with a direct link to the newest release page
## Requirements
- macOS 13 Ventura or later
- Xcode 15+ or Swift 5.10+ toolchain (to build from source)
## Install
Download `NetFluss-2.2.zip` from the [latest release](https://github.com/rana-gmbh/NetFluss/releases/latest), unzip it, and move `NetFluss.app` to `/Applications`.
NetFluss is notarized and signed with a Developer ID certificate, so Gatekeeper should clear it automatically on first launch.
You can also use Homebrew to install NetFluss:
```bash
brew install --cask rana-gmbh/netfluss/netfluss
```
## Build from source
```bash
swift build -c release
```
Or open `Package.swift` in Xcode and run the executable scheme.
## Notes
- Wi-Fi SSID and band use CoreWLAN. macOS may prompt for Location Services permission to expose SSID details.
- Ethernet link speed is read from `ifi_baudrate` and may show `—` when unavailable.
- External IP is fetched from `ipwho.is` (with `api.ipify.org` as fallback).
- Popup Top Apps uses live per-process sampling while visible; historical app statistics can be enabled separately in Preferences.
- DNS changes and Ethernet resets in the packaged app use the bundled NetFluss helper and may require one-time system approval.
- OpenWRT monitoring expects ubus access to be available on the router; a manual host can help when auto-detection resolves to a different gateway.
- OPNsense monitoring requires API credentials created in OPNsense and can use a manually configured host when auto-detection points to another router.
- Speed test adapter pinning is not implemented yet; tests currently follow the default active route.
## Buy me a coffee
If you enjoy using NetFluss please consider supporting the project via this link: https://buymeacoffee.com/robertrudolph
## License
NetFluss is released under the [GNU General Public License v3.0](LICENSE).
Copyright © 2026 Rana GmbH