Profile
Back to NewsBack
GitHub Trending 5 min
Reader Mode
hrzlgnm/mdns-browser: A cross platform mDNS-Browser app written in Rust using tauri and SvelteKit

hrzlgnm/mdns-browser: A cross platform mDNS-Browser app written in Rust using tauri and SvelteKit

20 hours ago

!GitHub Downloads (all assets, all releases) GitHub Downloads (all assets, latest release)</a> GitHub Release</a> GitHub Release Date</a> WinGet Package Version</a> AUR Version</a> FlatPark Version</a> mdns-browser</a> License: MIT</a> Build Status</a>

mDNS-Browser

This application allows you to browse services using mDNS. Built with a Rust/Tauri backend and a SvelteKit frontend; the frontend was migrated from Leptos to SvelteKit in v2.0.0. For a force-directed graph visualizer of the same services, check out zux. For an alternative running in a terminal, check out mDNS-TUI-Browser

Screenshots from v0.11.28

Startup

!intro

Browsing for \_ssh.\_tcp

!browsing-ssh

Details of a resolved service having many IPs

!ssh-details

Details of a resolved service having a subtype and TXT records

!amzn-details

Checking for updates on Windows

!check-update

Response if no update is available

!no-update

- How to Build - Command line options - Where to find the executables? - GitHub Release - Winget Installation - Arch Linux (AUR) - Homebrew (macOS) - Flatpak (FlatPark) - Snap Store - Auditable binaries - Attested build artifacts - Immutable releases - Privacy - Acknowledgments

Building

For instructions on building the application, checkout the document BUILDING.

Command line options

Usage: mdns-browser [OPTIONS]

Options: -l, --log-level <LOG_LEVEL> [default: info] [possible values: trace, debug, info, warn, error] -D, --enable-devtools Enable devtools at startup -f, --log-to-file Enable logging to file -d, --disable-dmabuf-renderer Disable dmabuf renderer (Linux only), useful when having rendering issues -e, --disable-nv-explicit-sync Disable NVIDIA explicit sync (Linux only) -n, --no-nvidia-workaround Disable all NVIDIA workarounds entirely (Linux only) -v, --nvidia-workaround-verbose Print diagnostic notes when applying an NVIDIA workaround (Linux only) -h, --help Print help -V, --version Print version

log-to-file

If enabled, a log file will be created in a platform-specific location:

  • Windows: %LOCALAPPDATA%\com.github.hrzlgnm.mdns-browser\logs
  • Linux: $XDG_DATA_HOME/com.github.hrzlgnm.mdns-browser/logs or $HOME/.local/share/com.github.hrzlgnm.mdns-browser/logs
  • macOS: ~/Library/Logs/com.github.hrzlgnm.mdns-browser
The log file will be named mdns-browser.log and will contain log messages with a log-level having at least a level specified by the log-level option.

enable-devtools

If enabled, the devtools will be open at startup

This option has been added with release v0.19.0

disable-dmabuf-renderer (Linux only)

This option disables the dmabuf renderer, which is used to improve performance on Linux. If you experience rendering issues, you can try disabling this option to see if it resolves the problem.

This option has been added with release v0.12.0

disable-nv-explicit-sync (Linux only)

This option disables NVIDIA explicit sync, useful for testing or debugging rendering issues on non-NVIDIA systems. This option has been added with release v1.8.0

no-nvidia-workaround (Linux only)

This option disables all NVIDIA workarounds entirely, including automatic detection. Useful for testing whether rendering issues are caused by the workarounds or to completely disable them.

This option takes precedence over both --disable-dmabuf-renderer and --disable-nv-explicit-sync.

nvidia-workaround-verbose (Linux only)

This option prints diagnostic notes to stderr when a NVIDIA workaround is applied, so you can confirm which workarounds are active. It only affects diagnostic output and does not change any behavior.

This option has been added with release v1.18.0

The shared webkit2gtk-nvidia-quirk crate (also used by other applications such as zux) provides additional tracing through the WEBKIT2GTK_NVIDIA_QUIRK_VERBOSE environment variable. Set it to debug (or trace/verbose/2) to print a full detection summary — session type, whether the primary GPU and NVIDIA driver are in use, the detected compositor, and the chosen workaround — in addition to the per-workaround note above. This crate is Linux-only, so the environment variable has no effect on other platforms. See the crate's documentation for the full list of accepted values.

Where to find the executables?

GitHub Releases

You can download the latest version of the application from the GitHub Release page

Winget installation

To install via Winget, run the following command:

winget install mdns-browser

Arch Linux (AUR)

To install on Arch Linux using the AUR, you can use an AUR helper like yay or paru:

With yay:

yay -S mdns-browser

Alternatively using the -bin package:

yay -S mdns-browser-bin

With paru:

paru -S mdns-browser

Alternatively using the -bin package:

paru -S mdns-browser-bin

Homebrew (macOS)

To install on macOS using Homebrew, you can use the custom tap:

brew install --cask hrzlgnm/tap/mdns-browser

Or add the tap first:

brew tap hrzlgnm/tap
brew install --cask mdns-browser

Flatpak (FlatPark)

To install on Linux via Flatpak, use the community-maintained FlatPark repository:

flatpak remote-add --if-not-exists flatpark https://dl.flatpark.org/flatpark.flatpakrepo
flatpak install flatpark io.github.hrzlgnm.mdns-browser

The package page is available at .

Snap Store

To install on Linux via Snap, run the following command:

sudo snap install mdns-browser

The package page is available at .

Auditable binaries

The binaries built for desktop targets are now all built in auditable mode using cargo-auditable. For information on how to audit the binaries, see Usage

Since release v0.8.x

Attested build artifacts

The build artifacts are now attested. Attestations information about the binaries is available here. For more information and details on how to verify those, see Verifying artifact attestations with the GitHub CLI

Since release v0.8.x

Immutable releases

The GitHub releases are now immutable: a release is first created as a draft, all its assets (binaries, checksums, attestations) are uploaded while it is still a draft, and it is only published once everything is in place. This ensures that a published release is always complete and cannot be altered afterward.

This process has been used since release v1.13.0.

Privacy

For a privacy statement checkout the document PRIVACY.

Acknowledgments

This app uses the fantastic mdns-sd library to handle all mDNS functionality. If you find this app helpful, consider giving the library a star on GitHub!

Chat with me