{"id":45622208,"url":"https://github.com/rana-gmbh/netfluss","last_synced_at":"2026-04-21T18:10:34.679Z","repository":{"id":337103495,"uuid":"1150852058","full_name":"rana-gmbh/NetFluss","owner":"rana-gmbh","description":"A light-weight \u0026 open-source menubar app that shows current upload \u0026 download speed plus the top apps using bandwidth","archived":false,"fork":false,"pushed_at":"2026-04-21T16:56:20.000Z","size":23180,"stargazers_count":322,"open_issues_count":2,"forks_count":9,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-04-21T17:40:01.257Z","etag":null,"topics":["dns-switcher","fritzbox","macos","menubar-app","network-analysis","openwrt","unifi","utility"],"latest_commit_sha":null,"homepage":"https://www.ranagmbh.de/netfluss/","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rana-gmbh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-05T19:08:54.000Z","updated_at":"2026-04-21T16:55:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/rana-gmbh/NetFluss","commit_stats":null,"previous_names":["rana-gmbh/netfluss"],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/rana-gmbh/NetFluss","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rana-gmbh%2FNetFluss","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rana-gmbh%2FNetFluss/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rana-gmbh%2FNetFluss/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rana-gmbh%2FNetFluss/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rana-gmbh","download_url":"https://codeload.github.com/rana-gmbh/NetFluss/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rana-gmbh%2FNetFluss/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32103789,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T11:25:29.218Z","status":"ssl_error","status_checked_at":"2026-04-21T11:25:28.499Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dns-switcher","fritzbox","macos","menubar-app","network-analysis","openwrt","unifi","utility"],"created_at":"2026-02-23T19:17:52.446Z","updated_at":"2026-04-21T18:10:34.666Z","avatar_url":"https://github.com/rana-gmbh.png","language":"Swift","funding_links":["https://buymeacoffee.com/robertrudolph"],"categories":["Menubar"],"sub_categories":["Text"],"readme":"# NetFluss\n\n[![GitHub release](https://img.shields.io/github/v/release/rana-gmbh/NetFluss)](https://github.com/rana-gmbh/NetFluss/releases/latest)\n[![Downloads](https://img.shields.io/github/downloads/rana-gmbh/NetFluss/total)](https://github.com/rana-gmbh/NetFluss/releases)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](LICENSE)\n\nA native macOS menubar app showing real-time upload and download rates, router-wide bandwidth, historical traffic statistics, and built-in speed testing.\n\nLatest release: **NetFluss 2.2**\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"screenshot.png\" width=\"420\" alt=\"NetFluss screenshot\"\u003e\n\u003c/p\u003e\n\n## Features\n\n### Menubar\n\n- Live upload ↑ and download ↓ rates displayed in the menu bar\n- Four menu bar styles: Standard, Unified pill, Dashboard, and Icon\n- Separate color choices for upload arrow, download arrow, upload number, and download number\n- Monospaced digits for stable layout\n- Configurable font size (8–16 pt), font style (Monospaced / System / Rounded), pinned unit, and decimal precision\n- **Icon mode** — switch to a single symbol in the menu bar and choose between multiple icon options, including the NetFluss app-style icon\n- **Launch at login** — toggle in Preferences → Launch\n\n### Popover\n\n- **Header** — total Download and Upload rates shown prominently at the top\n- **Adapter cards** — each active network interface as a card with:\n  - SF Symbol icon for Wi-Fi, Ethernet, or other adapters\n  - Link speed badge (Wi-Fi TX rate or Ethernet speed)\n  - Per-card DL/UL rates with coloured arrows\n  - Wi-Fi frequency band (2.4 GHz / 5 GHz / 6 GHz) or \"Ethernet\"\n  - ↺ reconnect button — cycles the adapter off and back on (Wi-Fi: no password needed; Ethernet: approved via the NetFluss helper)\n  - ℹ️ **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 \u0026 Width, RSSI, Noise, SNR, ESSID, BSSID (with copy), and Tx Rate\n- **IP addresses** — two display modes:\n  - **List view** — External, Internal, and Router IP, each with a one-click copy button\n  - **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\n- **DNS Switcher** — switch between DNS providers directly from the popover (enable in Preferences):\n  - Built-in presets: System Default, Cloudflare, Google, Quad9, OpenDNS\n  - Add your own custom DNS presets with up to four DNS servers\n  - Shows the currently active DNS with a green checkmark\n  - Built on a bundled privileged helper for reliable DNS changes and Ethernet resets\n- **Router Bandwidth** — shows total WAN download/upload rates from supported routers:\n  - **Fritz!Box** via TR-064 API\n  - **UniFi** via the UniFi OS / controller REST API\n  - **OpenWRT** via the ubus JSON-RPC API\n  - **OPNsense** via the OPNsense REST API\n- **Top Apps** — optional section listing the top 5 processes by current network traffic, with a relative usage bar per app (enable in Preferences)\n  - **Live updates while visible** — app traffic refreshes live while the popup or pinned window is open\n  - **App filtering** — hide noisy background processes (e.g. mDNSResponder) from the list via Preferences or hover to hide directly\n- **Pin button** — turn the popup into a movable floating window so NetFluss can stay open like a live widget\n- **Scrollable popover** — the popover is scrollable and resizable for smaller screens, preventing overflow when many adapters or sections are active\n- **Edge-aware popover positioning** — keeps the popover fully visible when the menu bar icon sits near the left or right screen border\n- **Footer** — quick access to Preferences, About, and Quit\n\n### Statistics\n\n- Dedicated statistics window with `1H`, `24H`, `7D`, `30D`, and `1Y` ranges\n- Download and upload timelines, top adapters, and top apps\n- Historical bandwidth analysis by adapter and by app\n- Top adapter ranking with automatic `Other` grouping when many interfaces are active\n- Top 10 apps for download and upload over each selected range\n- Minute-level detail for the `1H` view\n- Optional app statistics collection with energy-conscious background sampling\n- Demo/sample data mode for previewing the interface before real history accumulates\n- Improved app attribution for Safari/WebKit traffic and more reliable adapter accounting for LAN/NAS transfers\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"Screenshots/statistics.webp\" width=\"820\" alt=\"NetFluss statistics window\"\u003e\n\u003c/p\u003e\n\n### Speed Test\n\n- Dedicated speed test window launched from the menu bar icon context menu\n- Integrated M-Lab and Cloudflare speed tests\n- Download, upload, latency, jitter, and server details in a dedicated window\n- Provider selector remembered between runs\n- Right-click the menu bar icon to start a test instantly\n- Speed test history can be opened without automatically starting a new test\n- Persistent speed test history stored locally on the Mac\n- Notes field for each saved result, useful for remembering where or why the test was taken\n- Compact locale-aware timestamps in speed test history\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"Screenshots/speedtest.webp\" width=\"820\" alt=\"NetFluss speed test\"\u003e\n\u003c/p\u003e\n\n#### Speed Test History\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"Screenshots/speedtest%20history.webp\" width=\"820\" alt=\"NetFluss speed test history\"\u003e\n\u003c/p\u003e\n\n### Preferences\n\n- Clear pane-based Preferences window with sections for General, Adapters, Statistics, Appearance, Top Apps, DNS, and Router settings\n- **Language selector** — choose English, German, Simplified Chinese, Traditional Chinese, or follow the macOS system language\n- **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\n- **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\n- **Statistics** — toggle historical adapter statistics and app statistics separately\n- **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\n- **IP addresses** — choose List, Flow, or None for the popover IP section, plus IPv4/IPv6 external IP preference\n- **Top Apps** — show/hide the section, configure the grace period, and filter noisy background apps from the live Top Apps list\n- **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\n- **Router** — configure Fritz!Box, UniFi, OpenWRT, and OPNsense bandwidth monitoring in one place, with credentials stored securely in macOS Keychain where needed\n- 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\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"Screenshots/FileFluss%20New%20preferences.webp\" width=\"820\" alt=\"NetFluss preferences window\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"Screenshots/FileFluss%20New%20languages.webp\" width=\"820\" alt=\"NetFluss language preferences\"\u003e\n\u003c/p\u003e\n\n### About\n\n- Version number with link to release notes on GitHub\n- Made by Rana GmbH — www.ranagmbh.de\n- Refreshed app icon introduced with NetFluss 2.x\n- Check for Updates — queries GitHub Releases, shows release notes and a Download button when a newer version is found\n- Optional daily background update checks with a direct link to the newest release page\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"Screenshots/About%20with%20new%20icon.webp\" width=\"420\" alt=\"NetFluss About window with new icon\"\u003e\n\u003c/p\u003e\n\n## Requirements\n\n- macOS 13 Ventura or later\n- Xcode 15+ or Swift 5.10+ toolchain (to build from source)\n\n## Install\n\nDownload `NetFluss-2.2.zip` from the [latest release](https://github.com/rana-gmbh/NetFluss/releases/latest), unzip it, and move `NetFluss.app` to `/Applications`.\n\nNetFluss is notarized and signed with a Developer ID certificate, so Gatekeeper should clear it automatically on first launch.\n\nYou can also use Homebrew to install NetFluss:\n\n```bash\nbrew install --cask rana-gmbh/netfluss/netfluss\n```\n\n## Build from source\n\n```bash\nswift build -c release\n```\n\nOr open `Package.swift` in Xcode and run the executable scheme.\n\n## Notes\n\n- Wi-Fi SSID and band use CoreWLAN. macOS may prompt for Location Services permission to expose SSID details.\n- Ethernet link speed is read from `ifi_baudrate` and may show `—` when unavailable.\n- External IP is fetched from `ipwho.is` (with `api.ipify.org` as fallback).\n- Popup Top Apps uses live per-process sampling while visible; historical app statistics can be enabled separately in Preferences.\n- DNS changes and Ethernet resets in the packaged app use the bundled NetFluss helper and may require one-time system approval.\n- OpenWRT monitoring expects ubus access to be available on the router; a manual host can help when auto-detection resolves to a different gateway.\n- OPNsense monitoring requires API credentials created in OPNsense and can use a manually configured host when auto-detection points to another router.\n- Speed test adapter pinning is not implemented yet; tests currently follow the default active route.\n\n## Buy me a coffee\n\nIf you enjoy using NetFluss please consider supporting the project via this link: https://buymeacoffee.com/robertrudolph\n\n## License\n\nNetFluss is released under the [GNU General Public License v3.0](LICENSE).\nCopyright © 2026 Rana GmbH\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frana-gmbh%2Fnetfluss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frana-gmbh%2Fnetfluss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frana-gmbh%2Fnetfluss/lists"}