Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    UDP Broadcast Relay

    Scheduled Pinned Locked Moved pfSense Packages
    15 Posts 5 Posters 6.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      djonk
      last edited by

      Thanks everyone for contributing to the community. This thread is aimed to develop and test the pfSense version of UDP Broadcast Relay.

      UDP Broadcast Relay is a program listens for packets on a specified UDP broadcast port. When a packet is received, it sends that packet to all specified interfaces but the one it came from as though it originated from the original sender.

      The primary purpose of this is to allow devices or game servers on separated local networks (Ethernet, WLAN, VLAN) that use UDP broadcasts to find each other to do so.

      Typical use-cases include cross-lan or cross-VLAN broadcasting of:

      • mDNS / Multicast DNS (Chromecast Discovery + Bonjour + More)
      • SSDP (Roku Discovery, DLNA Media, Sonos, UPnP + More)
      • Lifx Bulb Discovery
      • Broadlink IR Emitter Discovery
      • Warcraft 3 Server Discovery
      • Windows Network Neighborhood Discovery
      • Syncthing Discovery
      • Raknet Discovery (Minecraft)

      For more information check-out the original package: https://github.com/marjohn56/udpbroadcastrelay

      This pfSense package is wrapping the generic udpbroadcastrelay package into the pfSense interface for easier administration. It has basic functionality to setup and configure the relay functionality.

      It allows for multiple instances that enable relaying multiple ports across interfaces.

      This version is the MVP and I'm looking for collaborators to develop and test. You can find the repository in this fork https://github.com/djonk/FreeBSD-ports/tree/devel/net/pfSense-pkg-udpbroadcastrelay

      1 Reply Last reply Reply Quote 2
      • M
        marcosm Netgate
        last edited by

        Coincidentally I've been working on this as well and already have a pull request internally for both 2.6/2.7. I've moved the 2.7 pull request to the public repo. Please feel free to give any feedback here:
        https://github.com/pfsense/FreeBSD-ports/pull/1189

        Reference: https://redmine.pfsense.org/issues/10818#note-16

        K 1 Reply Last reply Reply Quote 1
        • K
          Keterna @marcosm
          last edited by

          Dear all,

          Many thanks for investing time to have wrapped this great program with a UI. I can't wait to have it installed in my PfSense! I hope you'll somewhat find a solution for this double implementation situation.

          @marcosm Assuming your PR is selected, can we expect to have this package in the next release of PfSense?

          Thanks for your work!

          M 1 Reply Last reply Reply Quote 0
          • D
            djonk
            last edited by

            Removed my original package in favor of the new one posted by @marcosm to prevent duplication.

            1 Reply Last reply Reply Quote 0
            • M
              marcosm Netgate @Keterna
              last edited by

              @keterna said in UDP Broadcast Relay:

              @marcosm Assuming your PR is selected, can we expect to have this package in the next release of PfSense?

              I don't have an ETA. You may use the package included in the redmine in the meantime if you wish.

              G 1 Reply Last reply Reply Quote 0
              • G
                gzesku @marcosm
                last edited by

                @marcosm
                I'm new to pfsense so apologies for this quite lame question but how do I install the pkg file from readmine attachment to my pfsense? 😅

                M 1 Reply Last reply Reply Quote 0
                • M
                  marcosm Netgate @gzesku
                  last edited by

                  @gzesku run pkg install /pathtofile

                  1 Reply Last reply Reply Quote 0
                  • G
                    gzesku
                    last edited by gzesku

                    @marcosm
                    Thank you sir!
                    Would you mind to advise what's the settings equivalent of the original command:
                    ./udpbroadcastrelay --id 1 --port 5353 --dev eth0 --dev eth1 --multicast 224.0.0.251 -s 1.1.1.1

                    How do I enter value of -s parameter in your GUI?

                    Is this sufficient?
                    alt text

                    Also - this solution still doesn't seem to work for me. Am I missing any firewall rules? I think they are quite broad anyway (for the testing purposes) Trying to force this on regular LAN and VLAN (for IoT)
                    alt text
                    alt text

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      marcosm Netgate @gzesku
                      last edited by

                      @gzesku That spoofs both the address and port, so select the respective option from the drop down.

                      The package doesn't touch firewall rules, so you will need to make sure the traffic is allowed. Screenshot looks as if it should allow it.

                      D 1 Reply Last reply Reply Quote 0
                      • D
                        D a l @marcosm
                        last edited by

                        @marcosm I'm so happy to finally see a gui for this. Thank you for that. There always room for some improvements, though.
                        Anyway, my pfSense reports that this add-on crashes. The log looks like this:

                        Crash report begins.  Anonymous machine information:
                        
                        amd64
                        12.3-STABLE
                        FreeBSD 12.3-STABLE devel-12-n227387-7d2e2bbdf4a pfSense
                        
                        Crash report details:
                        
                        PHP Errors:
                        [22-Sep-2022 09:38:25 Europe/Oslo] PHP Warning:  Invalid argument supplied for foreach() in /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc on line 42
                        [22-Sep-2022 17:18:46 Europe/Oslo] PHP Warning:  Invalid argument supplied for foreach() in /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc on line 42
                        [22-Sep-2022 17:18:49 Europe/Oslo] PHP Warning:  Invalid argument supplied for foreach() in /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc on line 42
                        [22-Sep-2022 17:18:49 Europe/Oslo] PHP Warning:  Invalid argument supplied for foreach() in /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc on line 42
                        [22-Sep-2022 17:18:57 Europe/Oslo] PHP Warning:  Invalid argument supplied for foreach() in /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc on line 42
                        [22-Sep-2022 17:20:15 Europe/Oslo] PHP Warning:  Invalid argument supplied for foreach() in /usr/local/pkg/udpbroadcastrelay/udpbroadcastrelay.inc on line 42
                        
                        
                        No FreeBSD crash data found.
                        

                        I am running this version of pfSense CE:
                        2.7.0-DEVELOPMENT (amd64)
                        built on Fri Aug 12 00:02:48 UTC 2022
                        FreeBSD 12.3-STABLE

                        Also; does anyone have a working entry for Google (Nest) Home Devices?

                        Thanks agaion

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          marcosm Netgate @D a l
                          last edited by

                          @dal-0 Thanks for testing! Make sure you're using the latest one on the redmine. That error doesn't line up with the current code.

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            D a l @marcosm
                            last edited by

                            @marcosm
                            Hmm, I ran pkg info udpbroadcastrelay and I do indeed have the wrong version installed. Or rather, it seems that I ran 2 versions at the same time:

                            pkg info udpbroadcastrelay
                            udpbroadcastrelay-0.3.b
                            Name           : udpbroadcastrelay
                            Version        : 0.3.b
                            Installed on   : Fri Sep 16 14:09:23 2022 CEST
                            Origin         : net/udpbroadcastrelay
                            Architecture   : FreeBSD:12:amd64
                            Prefix         : /usr/local
                            Categories     : net
                            Licenses       : GPLv2
                            Maintainer     : m.muenz@gmail.com
                            WWW            : https://github.com/marjohn56/udpbroadcastrelay
                            Comment        : UDP multicast/unicast relayer
                            Annotations    :
                                    FreeBSD_version: 1203506
                                    build_timestamp: 2022-08-03T17:06:16+0000
                                    built_by       : poudriere-git-3.3.99.20220713
                                    port_checkout_unclean: no
                                    port_git_hash  : cf118ccf8755
                                    ports_top_checkout_unclean: yes
                                    ports_top_git_hash: 1fd0a3eecbfc
                                    repo_type      : binary
                                    repository     : pfSense
                            Flat size      : 38.8KiB
                            Description    :
                            udpbroadcastrelay is a UDP multicast relayer. Its intended use is to
                            rebroadbcast udp packets on a specific port across interfaces, be those
                            interfaces physical or VLAN.
                            
                            It is used where devices such as Sonos or Sky are spread accross
                            different subnets and are not able to detect the servers or devices.
                            

                            So I ran an uninstall using pkg delete udpbroadcastrelay, and this pops up:

                            Installed packages to be REMOVED:
                                    pfSense-pkg-udpbroadcastrelay: 0.1_4
                                    udpbroadcastrelay: 0.3.b
                            
                            Number of packages to be removed: 2
                            

                            So I removed them both to be sure.
                            But when I try to install the new package I got from here, I get this error:

                            pkg install /tmp/pfSense-pkg-udpbroadcastrelay-0.1_4.pkg
                            Updating pfSense-core repository catalogue...
                            Fetching meta.conf: 100%    163 B   0.2kB/s    00:01    
                            Fetching packagesite.pkg: 100%    2 KiB   1.8kB/s    00:01    
                            Processing entries:   0%
                            pkg: wrong architecture: FreeBSD:14:amd64 instead of FreeBSD:12:amd64
                            pkg: repository pfSense-core contains packages with wrong ABI: FreeBSD:14:amd64
                            Processing entries: 100%
                            Unable to update repository pfSense-core
                            Updating pfSense repository catalogue...
                            Fetching meta.conf: 100%    163 B   0.2kB/s    00:01    
                            Fetching packagesite.pkg: 100%  149 KiB 152.4kB/s    00:01    
                            Processing entries:   0%
                            pkg: wrong architecture: FreeBSD:14:amd64 instead of FreeBSD:12:amd64
                            pkg: repository pfSense contains packages with wrong ABI: FreeBSD:14:amd64
                            Processing entries: 100%
                            Unable to update repository pfSense
                            Error updating repositories!
                            

                            Nothing is easy in my world
                            Thanks again.

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              marcosm Netgate @D a l
                              last edited by marcosm

                              @dal-0 There's supposed to be two packages. One is the GUI, and the other is the actual application. The second issue is unrelated - change to the dev branch and back to fix it.

                              G 1 Reply Last reply Reply Quote 0
                              • G
                                gzesku @marcosm
                                last edited by

                                @marcosm
                                Would you mind checking pkg 1.0 posted on redmine recently? Can't install it as receive "Unrecognized archive format" error. File 0.1_5 can be installed with no issues :)

                                Thanks

                                M 1 Reply Last reply Reply Quote 0
                                • M
                                  marcosm Netgate @gzesku
                                  last edited by

                                  @gzesku 1.0 is only for dev builds.

                                  1 Reply Last reply Reply Quote 0
                                  • R RickyBaker referenced this topic on
                                  • First post
                                    Last post
                                  Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.