[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-96411":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":9,"totalLinesOfCode":9,"stars":12,"forks":13,"watchers":14,"openIssues":14,"contributorsCount":9,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":14,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":15,"rankGlobal":9,"rankLanguage":9,"license":9,"archived":16,"fork":16,"defaultBranch":17,"hasWiki":16,"hasPages":16,"topics":9,"createdAt":9,"pushedAt":9,"updatedAt":18,"readmeContent":19,"aiSummary":20,"trendingCount":14,"starSnapshotCount":14,"syncStatus":21,"lastSyncTime":9,"discoverSource":22},96411,"NetFluss","rana-gmbh\u002FNetFluss","rana-gmbh","A light-weight & open-source menubar app that shows current upload & download speed plus the top apps using bandwidth",null,"https:\u002F\u002Fgithub.com\u002Frana-gmbh\u002FNetFluss","Swift",556,22,0,8.09,false,"main","2026-09-21 02:04:32","# NetFluss\n\n[![GitHub release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Frana-gmbh\u002FNetFluss)](https:\u002F\u002Fgithub.com\u002Frana-gmbh\u002FNetFluss\u002Freleases\u002Flatest)\n[![Downloads](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Frana-gmbh\u002FNetFluss\u002Ftotal)](https:\u002F\u002Fgithub.com\u002Frana-gmbh\u002FNetFluss\u002Freleases)\n[![License: GPL v3](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-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.6**\n\n## New in 2.6\n\n- **VPN indicator in the menu bar — protected at a glance.** An optional dot or shield right of the upload and download rates shows whether a VPN is up. It works with the **VPN connections built into NetFluss** *and* with **external VPN clients** — Tunnelblick, the WireGuard app, Mullvad, Tailscale, the macOS VPN settings and others: NetFluss detects any active tunnel, no matter which app started it.\n  - Pick the colour, and choose whether the indicator stays visible (dimmed) while no VPN is connected.\n  - Optionally add the **flag of the country your public IP is in**, so you see your exit location without opening the popover. It updates within seconds when a VPN connects or disconnects.\n  - Enable both under Preferences → Appearance. Detection is lightweight and only runs while one of the options is on.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002FNetFluss%20VPN%20indicator.webp\" width=\"420\" alt=\"NetFluss VPN indicator and country flag in the menu bar\">\n\u003C\u002Fp>\n\n- **Traffic Timer — measure traffic from start to stop.** A new optional popover section that works like the stopwatch on your phone: press start and it adds up download and upload from that moment on — handy for checking how much a download, a backup or a video call really moves.\n  - Pause, resume and reset with round buttons; the elapsed time, the running total, the **average download and upload rate** and a download\u002Fupload split bar are always in view.\n  - The **starting time** (and, while paused, when you paused) is shown under the total.\n  - It keeps counting while the popover is closed and survives a restart (it comes back paused). Turn it on in Preferences → Appearance, in the popover sections list.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002FNetFluss%20Traffic%20Timer.webp\" width=\"420\" alt=\"NetFluss Traffic Timer in the popover\">\n\u003C\u002Fp>\n\n- **Auto-update** — NetFluss now keeps itself up to date. Once a day it checks for a new version and shows you what's new; one click downloads, verifies and installs the update and relaunches NetFluss — or skip it, or get reminded later. **Check for Updates…** is also in the menu bar icon's right-click menu and in About, and the daily check can be switched off in Preferences → General. Every update is verified with an EdDSA signature *and* NetFluss's Apple Developer ID before it is installed. *Coming from 2.5 or earlier? Download 2.6 once manually — from then on NetFluss updates itself.*\n\n- **Clearer router connection errors** — OPNsense, OpenWRT and UniFi now say exactly what went wrong instead of a generic \"cannot reach\": HTTPS refused (with the `http:\u002F\u002F` or port to enter instead), a TLS failure, or a changed router certificate — with a new **Trust Current Certificate** button in the OPNsense credential test. Addresses like `router.lan:8443` are accepted, and re-trusting a certificate now works for URL-form addresses too. (#56)\n\n- **Complete German, 简体中文 and 繁體中文 translations** — every remaining dialog and message, including router, VPN and speed-test errors, is now translated.\n\n## New in 2.5\n\n- **Network Slice — see who your Mac is talking to, right now.** A dedicated live-traffic window, opened from the menu bar icon's right-click menu. A rolling Traffic Rate chart at the top, and below it three linked columns — **Network Hosts**, **Services**, and **Apps** — each ranked by volume with a relative usage bar. Remote hosts are reverse-resolved to hostnames and tagged with a country flag, so a row reads `dns.google 🇺🇸` instead of a bare IP.\n  - Each column has a **⚡ live \u002F Σ accumulated** toggle: ⚡ shows only the last sample interval (what is moving *this second*), Σ shows the running total since you opened the window.\n  - **Pause** freezes the view so you can read a burst without it scrolling away.\n  - Built on the same lightweight `netstat` diffing NetFluss already uses — **no packet capture, no `nettop` daemon, no extra privileges**, and sampling stops the moment you close the window.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002FNetFluss%20Network%20Slice.webp\" width=\"820\" alt=\"NetFluss Network Slice window\">\n\u003C\u002Fp>\n\n  - **Click any row to drill in.** A **host** expands to every connection with it — which app, local and remote port, protocol, service, and per-connection download\u002Fupload.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002FNetFluss%20Network%20Slice%20Network%20Hosts%20Details.webp\" width=\"820\" alt=\"Network Slice — network host details\">\n\u003C\u002Fp>\n\n  - A **service** (https, imaps, a bare port number…) expands to every host and app using it — useful for answering \"what is all this HTTPS traffic, actually?\"\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002FNetFluss%20Network%20Slice%20Services%20Details.webp\" width=\"820\" alt=\"Network Slice — service details\">\n\u003C\u002Fp>\n\n  - An **app** expands to every host it is currently connected to, with the service and port for each.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002FNetFluss%20Network%20Slice%20App%20Details.webp\" width=\"820\" alt=\"Network Slice — app details\">\n\u003C\u002Fp>\n\n- **Data Usage totals, right in the popover** — a new section showing how much you have actually moved, without opening a separate window: **Upload**, **Download**, and an emphasised **Total** row, each split across a **Today** and a **This Month** column, read from the history NetFluss already collects. It updates live while the popover is open, and a chart button in its header jumps straight to the full Bandwidth Statistics window. Enable it under Preferences → Statistics (it needs historical statistics collection turned on); tunnel adapters can be excluded from the figures, and loopback and AirDrop always are. (Thanks to [@truekasun](https:\u002F\u002Fgithub.com\u002Ftruekasun).)\n\n- **VPN fixes — WireGuard and Intel Macs.** A round of fixes for issues reported against the 2.4 VPN client:\n  - **Universal (Intel) VPN binaries are back.** The bundled OpenVPN and WireGuard toolchain ships arm64 *and* x86_64 slices again, both targeting macOS 13, so VPN works on Intel Macs. The release build now hard-fails if either slice is missing, so it can't regress silently. (#48)\n  - **WireGuard no longer corrupts your DNS.** `wg-quick`'s orphan-prone DNS monitor is stopped, private tunnel DNS is routed *through* the tunnel, and NetFluss now tracks the real `utun` interface instead of guessing. Teardown, file permissions, and stale-config cleanup were hardened. (#48, #50)\n  - **The real OpenVPN failure reason** is surfaced instead of a generic error, and a new **VPN Diagnostics** log (Preferences → VPN) records the bundled tools, their architecture, and the connection tool's full output — copyable in one click for bug reports. (#49)\n  - **Helper repair** — \"Install helper\" now fixes a stale registration, and the helper re-registers itself when the app bundle moves.\n\n- **Lower energy use and better stability**\n  - Fixed a crash caused by a data race on the process-name cache behind Top Apps.\n  - Network diagnostics are only recorded while a capture is actually running; failing router monitors back off exponentially instead of retrying in a tight loop; statistics pruning is throttled and polling suspends on screen sleep\u002Flock.\n  - Main-thread stalls were taken out of the DNS, VPN, and Preferences paths, the statistics archive loads off the main thread, and adapter drag-reordering no longer churns.\n\n- **Security hardening** — router monitors use TOFU certificate pinning with session reuse and never silently downgrade to HTTP; Keychain items are pinned to this device; OpenVPN configs are sanitized before use; the IKEv2 password is kept out of `argv`; helper logs are opened `O_NOFOLLOW`.\n\n- **UniFi: UDR and API-key support** — UniFi Dream Router is supported, and you can authenticate with a Network API key instead of a local admin account (API keys work with 2FA enabled and never expire), with clearer, more granular connection errors.\n\n- **More accurate usage totals** — loopback and AirDrop are excluded from totals, since they never carry internet traffic. (#54)\n\n- **Complete German, 简体中文 and 繁體中文 translations** for everything above.\n\n## New in 2.4\n\n- **Built-in VPN client** — NetFluss now ships with a lean VPN client. Many VPN providers offer profiles for routers; you can now import them straight into NetFluss and connect from the menu bar, so you are no longer dependent on the provider's own client software. NetFluss supports the **OpenVPN** protocol, **WireGuard**, and native **IKEv2 \u002F IPsec \u002F L2TP**.\n  - Pick a profile and server, connect\u002Fdisconnect, and see the connection status, exit country & flag, and public IP — right from the popover.\n  - **Per-profile DNS** — apply one of your NetFluss DNS presets while a VPN is connected; the previous resolver is restored automatically on disconnect.\n  - **Auto-reconnect** — automatically re-establish a tunnel that drops, with exponential backoff.\n  - **Connect on launch** — bring a chosen profile up when NetFluss starts.\n  - Import, rename, reorder, and delete profiles in Preferences → VPN; credentials are stored in the macOS Keychain.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002FNetFluss%20VPN%20Popover.webp\" width=\"420\" alt=\"NetFluss VPN in the popover\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002FNetFluss%20VPN%20settings.webp\" width=\"820\" alt=\"NetFluss VPN settings\">\n\u003C\u002Fp>\n\n- **Much lower energy use** — background sampling was reworked so NetFluss's Activity Monitor energy impact drops back to normal menu-bar-app levels (no more heavyweight per-process sampling running every few seconds).\n\n- **Accurate download rate in every scenario** — the macOS 26.5 fix for the frozen `ifi_ibytes` inbound counter now reads a lightweight kernel-statistics source, so the download number and Bandwidth Statistics history stay correct without the earlier CPU cost.\n\n- **\"System default\" menu bar color** — a new colour choice that follows the menu bar appearance automatically, staying legible when the wallpaper switches between light and dark. (Thanks to [@mvanhorn](https:\u002F\u002Fgithub.com\u002Fmvanhorn).)\n\n## New in 2.3\n\n- **Wi-Fi manager in the popover** — see every nearby Wi-Fi network, switch with a click, pin SSIDs to the top of the list, and have temporarily out-of-range pinned networks stay visible until you unpin them. Passwords entered through NetFluss are written into macOS's Known Networks via the privileged helper, so the standard macOS Wi-Fi menu will reuse them later — even if NetFluss isn't running. Especially handy on travel or in environments with many SSIDs.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002FFileFluss%20wifi%20manager.webp\" width=\"420\" alt=\"NetFluss Wi-Fi manager\">\n\u003C\u002Fp>\n\n- **Customisable popover sections** — Preferences → Appearance now lets you drag the popover segments (Download \u002F Upload, Network adapters, Network flow, DNS, Router, Wi-Fi Networks, Top Apps) into any order you like, and tick or untick each section right from the reorder list. The visibility toggles stay in sync with the existing per-section toggles elsewhere in Preferences.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002FFileFluss%20Popover%20sections.webp\" width=\"420\" alt=\"NetFluss popover section customisation\">\n\u003C\u002Fp>\n\n- **Wi-Fi settings pane** — new Preferences → Wi-Fi pane with a toggle to enable the section and an option to cap the list to the strongest N networks (pinned and currently-connected networks always show). Preferences → General now also exposes one-click buttons to grant Location access and install the privileged helper, so the user never has to hunt for the right pane in System Settings.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002FFileFluss%20Wifi%20settings.webp\" width=\"420\" alt=\"NetFluss Wi-Fi settings pane\">\n\u003C\u002Fp>\n\n- **Fix for Macs whose download counter stayed at 0.00** — on macOS 26.5 the kernel's `ifi_ibytes` counter is frozen on the active physical Wi-Fi \u002F Ethernet adapter for some configurations (often Macs with a managed profile or specific NetworkExtension-based security software). NetFluss now detects that and substitutes a per-process inbound rate from `nettop` so both the menu-bar number and the Bandwidth Statistics history record correctly. Auto-pauses the helper subprocess when no real traffic is happening, so unaffected Macs see no extra CPU usage.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"screenshot.png\" width=\"420\" alt=\"NetFluss screenshot\">\n\u003C\u002Fp>\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 \u002F System \u002F 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- **VPN indicator & country flag** — optional marks right of the rates: a VPN status dot or shield (custom colour, optionally dimmed when disconnected) that works with NetFluss' built-in VPN connections and with external VPN clients (Tunnelblick, WireGuard, Mullvad, Tailscale, macOS VPN settings, …), plus the flag of your public IP's country\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\u002FUL rates with coloured arrows\n  - Wi-Fi frequency band (2.4 GHz \u002F 5 GHz \u002F 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 \u002F 802.11ax), Security (WPA3 Personal, etc.), Channel & 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- **Wi-Fi Switcher** — list nearby Wi-Fi networks and join them from the popover (enable in Preferences):\n  - Tap a known network to join silently; new secured networks prompt for a password\n  - Successful joins are written into macOS's Known Networks via the privileged helper, so the system Wi-Fi menu reuses the password later — even if NetFluss isn't running\n  - **Pin SSIDs** to the top of the list; pinned networks stay visible (marked \"Not available\") even when out of range, and a tap re-triggers a targeted scan to try reconnecting\n  - **(i) details** popover per row showing band, channel, RSSI, security, BSSID\n  - Optional \"only show the N strongest\" cap so the list stays short in crowded environments\n- **Router Bandwidth** — shows total WAN download\u002Fupload rates from supported routers:\n  - **Fritz!Box** via TR-064 API\n  - **UniFi** via the UniFi OS \u002F 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- **Data Usage** — optional section with Upload, Download, and Total rows across a Today and a This Month column, read from the collected history and updated live while the popover is open; a chart button opens the full Bandwidth Statistics window (enable in Preferences → Statistics)\n- **Traffic Timer** — optional section styled like a phone stopwatch: start it and it adds up download and upload from that moment on, with average rates, a download\u002Fupload split bar, and the starting time; pause, resume, or reset at any time. It keeps measuring while the popover is closed and survives a relaunch (paused)\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### Network Slice\n\n- **Live traffic window** — \"who your Mac is talking to right now\", opened from the menu bar icon's right-click menu\n- **Traffic Rate chart** — rolling download\u002Fupload timeline across the last minute\n- **Three linked columns** — Network Hosts, Services, and Apps, each ranked by volume with a relative usage bar\n  - Remote hosts are reverse-resolved to hostnames and tagged with a **country flag**\n  - Services are named where known (https, imaps, …) and fall back to `Port N`\n- **⚡ live \u002F Σ accumulated toggle** per column — the last sample interval only, or the running total since the window was opened\n- **Drill-down** — click any host, service, or app to see its individual connections with app, local port, remote port, protocol, service, and per-connection download\u002Fupload\n- **Pause** — freeze the view to read a burst of traffic\n- **No packet capture** — built on the same lightweight `netstat` diffing used elsewhere in NetFluss; no `nettop` daemon, no extra privileges, and sampling stops when the window closes\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002FNetFluss%20Network%20Slice.webp\" width=\"820\" alt=\"NetFluss Network Slice window\">\n\u003C\u002Fp>\n\n### VPN\n\n- **Lean built-in VPN client** — connect to your VPN without installing the provider's own client app\n- **Import provider profiles** — single config files, a folder of them, or a `.zip` bundle (e.g. a provider's router profiles); each config becomes a selectable server\n  - **OpenVPN** (`.ovpn`) and **WireGuard** (`.conf`) run via bundled, signed binaries through the NetFluss privileged helper\n  - **IKEv2 \u002F IPsec \u002F L2TP** via the native macOS VPN stack (username\u002Fpassword \u002F EAP)\n- **Popover controls** — choose a profile and server, connect\u002Fdisconnect, and see the live status, exit-node country & flag, and public IP\n- **Per-profile DNS** — apply a DNS preset while connected; the previous resolver is restored on disconnect\n- **Auto-reconnect** — automatically re-establish a dropped tunnel, with exponential backoff\n- **Connect on launch** — start a chosen profile automatically when NetFluss launches\n- **Profile management** — import, rename, reorder, and delete profiles in Preferences → VPN; credentials stored securely in the macOS Keychain\n- **VPN Diagnostics** — a log in Preferences → VPN recording the bundled tools, their architecture, and the connection tool's full output; copy it to the clipboard in one click for bug reports\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\u002Fsample data mode for previewing the interface before real history accumulates\n- Improved app attribution for Safari\u002FWebKit traffic and more reliable adapter accounting for LAN\u002FNAS transfers\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002Fstatistics.webp\" width=\"820\" alt=\"NetFluss statistics window\">\n\u003C\u002Fp>\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\">\n  \u003Cimg src=\"Screenshots\u002Fspeedtest.webp\" width=\"820\" alt=\"NetFluss speed test\">\n\u003C\u002Fp>\n\n#### Speed Test History\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002Fspeedtest%20history.webp\" width=\"820\" alt=\"NetFluss speed test history\">\n\u003C\u002Fp>\n\n### Preferences\n\n- Clear pane-based Preferences window with sections for General, Adapters, Statistics, Appearance, Top Apps, DNS, Wi-Fi, 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 automatic update checks once per day (can be switched off)\n- **Adapters** — show\u002Fhide inactive adapters, show\u002Fhide 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\u002Fdownload arrow colours, upload\u002Fdownload number colours, menu bar style, menu bar size, font style, pinned unit, decimal places, IP address display options, and **drag-to-reorder popover sections** with per-section visibility toggles\n- **General → System access** — one-click buttons to grant Location access (required to list Wi-Fi networks) and to install the privileged helper used for DNS changes and Wi-Fi credential persistence\n- **IP addresses** — choose List, Flow, or None for the popover IP section, plus IPv4\u002FIPv6 external IP preference\n- **Top Apps** — show\u002Fhide 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- **Wi-Fi Switcher** — toggle the Wi-Fi networks picker in the popover and optionally cap the list to the strongest N networks; pinned and currently-connected networks are always shown regardless of the cap\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\u002Ftunnel adapters from totals while still showing them in the adapter list\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002FFileFluss%20New%20preferences.webp\" width=\"820\" alt=\"NetFluss preferences window\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002FFileFluss%20New%20languages.webp\" width=\"820\" alt=\"NetFluss language preferences\">\n\u003C\u002Fp>\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- **Auto-update** — Check for Updates (also in the menu bar icon's right-click menu) shows what's new and downloads, verifies, installs and relaunches the new version in one click; updates are verified with an EdDSA signature and the Apple Developer ID\n- Optional daily background update check that offers new versions with Install \u002F Skip \u002F Remind Me Later\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"Screenshots\u002FAbout%20with%20new%20icon.webp\" width=\"420\" alt=\"NetFluss About window with new icon\">\n\u003C\u002Fp>\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.5.zip` from the [latest release](https:\u002F\u002Fgithub.com\u002Frana-gmbh\u002FNetFluss\u002Freleases\u002Flatest), unzip it, and move `NetFluss.app` to `\u002FApplications`.\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 tap rana-gmbh\u002Fnetfluss\nbrew trust rana-gmbh\u002Fnetfluss\nbrew install --cask netfluss\n```\n\nHomebrew requires third-party taps to be trusted before it will load them, so the `brew trust` step is needed once. Without it, the install stops with `Error: Refusing to load cask rana-gmbh\u002Fnetfluss\u002Fnetfluss from untrusted tap`. Later updates come through `brew upgrade --cask netfluss`.\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:\u002F\u002Fbuymeacoffee.com\u002Frobertrudolph\n\n## License\n\nNetFluss is released under the [GNU General Public License v3.0](LICENSE).\nCopyright © 2026 Rana GmbH\n","NetFluss 是一款轻量级开源 macOS 菜单栏网络监控工具，实时显示当前上下行带宽速率、占用带宽最高的应用程序、路由器级流量统计及历史趋势，并支持内置测速。其技术特点包括原生 Swift 实现、低开销的 VPN 连接检测（兼容主流第三方客户端）、带时间戳与暂停功能的流量计时器，以及带签名验证的自动更新机制。适用于需要快速掌握网络状态、排查带宽瓶颈、监控远程办公\u002F视频会议流量或验证 VPN 连通性的 macOS 用户场景。",2,"trending"]