8000 GitHub - AROICE-HQ/omarchy-network: Better Network for Omarchy: captive-portal detection, per-process bandwidth, nearby LAN devices · GitHub
[go: up one dir, main page]

Skip to content

About

Better Network for Omarchy: captive-portal detection, per-process bandwidth, nearby LAN devices

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

Better Network for Omarchy

An enhanced network bar widget for Omarchy — everything the built-in network widget does, plus captive-portal detection, per-process bandwidth, and nearby-device discovery.

License: MIT Version Omarchy plugin

Part of OMARCHY100 — a 100-plugin suite for Omarchy.

Features • Install • Usage • How it works

Omarchy's built-in network widget is already deep: Wi-Fi scan/connect with known-network memory, enterprise WPA2-EAP auth, band pinning, DNS provider switching, and live IP/gateway/throughput/ping stats. This plugin clones that code as-is (nothing removed, nothing rebuilt) and adds the three things it doesn't have: captive-portal detection, a per-process bandwidth breakdown, and a read-only list of other devices on the network.

It installs as its own independent plugin — both it and the built-in widget can be enabled at once, so you can compare them side by side before deciding which stays on your bar.

Better Network panel — connection details, DNS provider, per-process bandwidth, and nearby devices

Contents

Features

Everything the built-in omarchy.network already has:

  • Wi-Fi list (known networks first, then others), signal strength, security detection, enterprise WPA2-EAP login, forget/disconnect.
  • Ethernet detection, live speed/duplex.
  • Ping latency and packet loss to both the router and the open internet.
  • Live download/upload rate and session totals.
  • IP address and gateway, click-to-copy.
  • DNS provider quick-switch (DHCP / Cloudflare / Google / Custom).
  • Wi-Fi band pinning (2.4/5/6GHz) when the AP supports more than one.

New in this plugin:

  • Captive-portal detection — a plain generate_204 check (the same one Android/ChromeOS use) while connected. Flags "connected, but the internet may need a sign-in" instead of silently looking fine when you're actually behind a hotel/airport/cafe login wall, with a one-click "open in browser" action. Stays completely out of the way on a normal connection — no banner, no extra space taken.
  • Bandwidth by process — the top processes currently moving TCP data, with live download/upload rates each. TCP-only (same limitation the plugin this idea came from documents for its own version); UDP/QUIC traffic isn't attributed to a process. Hidden entirely when nothing's actively transferring.
  • Nearby devices — a read-only list built from the kernel's own ARP/NDP table (ip neigh), each row showing IP, a best-effort hostname, and a vendor guess from a small common MAC-prefix table. No active scanning, no port probing, no mDNS — this reads what's already cached, nothing more. Manual refresh button included since device presence isn't polled continuously.

Install

omarchy plugin add https://github.com/AROICE-HQ/omarchy-network.git --enable

Or, to develop/inspect it locally first:

omarchy plugin clone io.github.aryan-techie.network --edit

(swap in this repo's contents, or copy this folder to ~/.config/omarchy/plugins/io.github.aryan-techie.network/ directly and run omarchy-shell shell rescanPlugins if it doesn't pick up right away).

Usage

Everything from the built-in widget works the same way — click the bar pill to open the panel, click a network to connect, click a DNS pill to switch providers, and so on.

The three new sections need no setup:

  • A captive-portal banner appears above the DNS section only when one's suspected; click the browser icon on it to open a sign-in page.
  • Bandwidth by process appears below the DNS section once at least one process has measurable traffic (needs two samples a few seconds apart to compute a rate, so it may take a moment to show up after opening).
  • Nearby devices always shows, with a refresh button in its header.

How it works

  • Captive portal: curl probes http://connectivitycheck.gstatic.com/generate_204 every 30 seconds while connected. A clean 204 with no body means real internet; any other response (or a redirect a captive portal would inject) flags the banner. A total failure to respond isn't treated as a portal — that's a connectivity problem, already visible via the existing ping stats.
  • Bandwidth by process: one ss -tip sample every 3 seconds, which pairs each TCP socket's owning process with its cumulative bytes_acked/bytes_received. Diffing consecutive samples per process (summed across all of that process's sockets) gives a rate, the same technique the built-in widget already uses for the interface-wide total.
  • Nearby devices: ip neigh show (the kernel's live ARP/NDP cache) — no packets are sent to discover anything not already there. One batched getent hosts <ip> <ip> ... call resolves hostnames for whichever addresses have reverse DNS; the rest just show their IP. Vendor labels come from a short hardcoded table of common MAC prefixes, not the full IEEE OUI registry.
  • Settings: none of the three add persisted preferences — captive- portal and bandwidth-by-process are always-on background checks while the panel is open, and nearby devices refreshes on open plus manual refresh.

External dependencies

Runs curl, ss, ip, and getent via Quickshell's Process — all standard on any Omarchy install, no extra packages required. curl is the only thing that calls the network, and only ever to the one fixed captive-portal-check URL above — no data sent, no response body kept beyond the plain status code.

Uninstalling

omarchy plugin remove io.github.aryan-techie.network

This removes the plugin and its bar entry. The built-in network widget (if you still have it enabled) is unaffected.

Changelog

See CHANGELOG.md.

License

MIT — see LICENSE.

Author

Aryan Techie (Aryan Jangra)


Made with ❤️ by AROICE

Clear tools for a clear mind.

About

Better Network for Omarchy: captive-portal detection, per-process bandwidth, nearby LAN devices

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

0