个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证OPNsense plugin: a calm front page for the firewall - devices with an identity, their traffic, DNS and presence, and whether everything is all right
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗The calm front page for your OPNsense firewall: who is on the network, what they did, and whether everything is all right.
Lens gives every device an identity that survives an address change and hangs everything the firewall knows off it — traffic history, DNS, presence, the internet line. On top of that it answers is everything all right in one sentence, area by area, from what OPNsense already measures.
Status: version 0.x. Every release is installed and checked on two real firewalls — OPNsense 26.1 and 26.7 — by a scripted round before it ships (docs/ROUTER-ROUND.md); what is proven on a box and what only in tests is in docs/ROADMAP.md.
| Page | What it answers |
|---|---|
| Dashboard | One sentence first; the areas that need a look; the internet line with public address, round trips and an uptime strip you can hover; who is home, what moved, what was unusual |
| System | Every area of the firewall — internet, system, interfaces, temperature, updates, security (known vulnerabilities in installed packages), services, certificates, and DynDNS, SMART, WireGuard, NetBird, Tailscale, OpenVPN, IPsec, CARP where configured — with its reason, its history from OPNsense's own records, and the OPNsense page that fixes it |
| Devices | Every device, by the name it is known by, with its traffic, its addresses over time, presence and how sure Lens is of each |
| A device | Its traffic hour by hour, its week, where it talks, what it looked up, which services it asked for; name it, tag it, pause it |
| Who's home | When each device — and each person, by the phones they carry — was on the network |
| Networks | Each network with its port (link, speed, errors) and the devices on it |
| DNS | What was asked and blocked, by device, and which services (Netflix, Steam, WhatsApp …) the names belong to |
| Events, weekly report, wallboard | What happened while you were not looking; a week on one page; a screen for the wall |
Plus widgets for OPNsense's own dashboard, a Prometheus endpoint, and a search
on every Lens page (Ctrl K) that finds devices, networks and OPNsense's own
menu.
Screenshots from the preview with made-up devices, OPNsense dark theme.
As root on the firewall:
fetch -o - https://raw.githubusercontent.com/BxnnyG/opnsense-lens/master/tools/install.sh | sh
That adds the signed Lens package feed
(bxnnyg.github.io/opnsense-lens, key
in tools/feed/lens.pub) and installs os-lens; after
that, updates come with System: Firmware: Updates. Every version is also on the
releases page. The same
script does the rest:
… | sh -s update | update now |
… | sh -s uninstall | remove Lens and its feed; the data in /var/db/lens stays |
… | sh -s uninstall --purge | remove Lens and delete its data |
… | sh -s source | build from the current master and install that, without the feed |
… | sh -s status | what is installed, and when the collector last ran |
The root shell on OPNsense is csh; the script is always piped to sh, so that
does not matter. What it writes and why: tools/install.sh.
What it needs: NetFlow on the networks you want traffic for (Lens offers a one-click switch on Services: Lens: Data Sources, never on its own), and Unbound with its statistics for the DNS pages. Kea, ISC DHCP and dnsmasq leases are read for names. Nothing else.
/var/db/lens:
identity over time, your names and tags, settled hourly traffic. Retention,
a disk ceiling, forget this device and delete everything are on Services:
Lens; what is kept is listed on Services: Lens: Privacy.lens_paused and one firewall
category Lens, through OPNsense's own models, so they show in Firewall:
Rules and the configuration history like anything written by hand. Removing
Lens removes them. Nothing else, ever (docs/DESIGN.md §4.74, §4.85).| Why it exists, and what it deliberately is not | docs/VISION.md |
| What OPNsense already provides, the systems built, every decision | docs/DESIGN.md |
| How work is done here | docs/PROCESS.md |
| What happens next | docs/ROADMAP.md |
| What is worth doing | docs/BACKLOG.md |
| Every page without a firewall | tools/preview |
| Contributing, reporting a bug or a security issue | CONTRIBUTING.md, SECURITY.md |
Lens is not submitted to opnsense/plugins and is not expected to be —
docs/DESIGN.md §4.2 explains why. It is distributed from this
repository as the package os-lens. It does not replace Reporting: Insight,
Health, NetFlow or Unbound DNS, nor OPNsense's dashboard — it reads them, and
links back to them wherever something has to be changed.
Target releases: OPNsense stable/26.1 and stable/26.7.
BSD 2-Clause, matching the OPNsense plugin collection whose build machinery this repository uses.