This is a tool that makes all kinds of multicast-based discovery (and casting) work across networks (or VLANs).
I have posted about it on Reddit (https://www.reddit.com/r/opnsense/comments/1v7616o/netflector_the_only_mdns_ssdp_dial_wsd_wol/) and reception was quite good, so I thought I'll also mention it here.
The plugin is unofficial (for now). A net/netflector FreeBSD port is currently under review (bug 297489 (https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=297489)). When (if?) it is accepted - the plugin has a path toward official inclusion. Repository is signed and I am tracking OPNsense releases with the goal to support the last two versions of OPNsense (there are CI pipelines that build and test netflector on FreeBSD 14 and 15 and OPNsense 26.1 and 26.7). There are builds for Linux (binaries and a multi-arch container), macOS and FreeBSD.
Why this plugin when we have X and Y? Features mostly (and a very responsive author :)). There are many mDNS and some SSDP reflectors out there but none of the tools that I know of support both + WoL, DIAL (TCP), WSD and SSDP unicast response forwarding. Another feature missing from the other tools is recovery after interface re-creation. netflector also tracks current IPv4 and IPv6 addresses of the interfaces and recovers after temporary loss (or change) of the IP address.
The main motivation behind this project for me was to solve a real problem I have at home. My phone and my TV are in different VLANs, so vanilla multicast discovery does not work. While there are plenty of mDNS reflectors out there, my LG TV uses SSDP and DIAL. In order to cast YouTube from my phone to my TV following needs to happen:
- Phone sends M-SEARCH SSDP multicast request which needs to be reflected into TVs VLAN (other reflectors can do that).
- TV responds with the unicast 200 OK, which needs to be forwarded back to the phone. (can be allowed in firewall, less secure than using this tool).
- Phone initiates a device discovery TCP connection to TV (can be allowed in firewall, less secure than using this tool).
- TV replies with the details of its REST endpoint (works fine because established connections are usually allowed anyway).
- Phone initiates another TCP connection to TV's REST endpoint. The connection must be from the TV's subnet (could be allowed and NAT'ed in firewall).
So, to do this I would need to poke holes in the firewall and configure NAT. Additionally to that, I would still need to run some sort of reflector for SSDP multicast. How do I know? This is what I was doing for a couple of years :)
I also needed Wake-on-LAN to work across VLANs (PC -> TV), which none of the existing tools could do (at least I did not find any).
This tool does all that automagically:
- It reflects multicast discovery packets (mDNS / SSDP / WSD).
- It proxies unicast UDP responses (SSDP / WSD).
- It proxies the DIAL TCP connections, rewriting the device's advertised endpoints.
- It reflects Wake-on-Lan packets.
- It supports MAC filtering (so only specific devices are discoverable).
- It tolerates network interface re-creation. As long as new interface has the same name - reflection will continue.
- It has CARP support, including config sync (feature requested by kevinchalet on Reddit).
!!! Before adding any third-party repository: back up your config (System > Configuration > Backups) !!!To install:mkdir -p /usr/local/etc/pkg/keys /usr/local/etc/pkg/repos
fetch -o /usr/local/etc/pkg/keys/netflector-pkg.pub https://netflector.github.io/pkg/netflector-pkg.pub
fetch -o /usr/local/etc/pkg/repos/netflector.conf https://netflector.github.io/pkg/netflector.conf
and install the plugin (it will automatically install netflector as its dependency):
pkg install os-netflectorAfter this all configuration is done under Services > Netflector.
Packages are built for OPNsense 26.1 and 26.7, amd64 and aarch64 (four package trees, each tested on a real OPNsense install before publishing).
To remove:pkg delete os-netflector netflector
rm /usr/local/etc/pkg/repos/netflector.conf /usr/local/etc/pkg/keys/netflector-pkg.pub
rm /usr/local/etc/netflector.toml
Your settings stay in config.xml. If you want those gone too, delete the entries under Services > Netflector before uninstalling.
BSD-2-Clause, full source on GitHub: https://github.com/netflector/netflector
Feedback is welcome.
Updates:2026-08-13: initial announcement (netflector 0.15.2, plugin 0.1.4)