Skip to content

Tool to search for device by MAC Address across sites within a Unifi controller

License

Notifications You must be signed in to change notification settings

Crypto-Spartan/unifi-search-tool

Repository files navigation

As of 24 July 2024, I have lost access to the large, 100+ site Unifi Controller that I have been using to test this tool. If you have a Unifi controller with a large number of sites (e.g. 50+), and you're willing to provide me with a read-only account on your Unifi Controller, please contact me @ info@cryptospartan.net, messsage me on Discord (username is cryptospartan), tweet at me or DM me on twitter (@CryptoSpartanTv), or open up an issue in this repository. If I don't gain access to another Unifi Controller, I plan to stop development of this tool.

Unifi Search Tool - Download Here

Does your unifi controller have lots of sites? Do you frequently have equipment returned from those sites and you can't remember where it's adopted in the controller? Enter Unifi Search Tool.

This tool was designed to allow searching a MAC address from a Unifi device across all of the different sites in a Unifi controller. Currently, the search feature in Unifi only works within a site, there's no way to search across multiple sites.

How to Use

examplev2

  1. Enter your username & password for your Unifi Controller

  2. Enter your Unifi Controller domain/IP. You must include the proper http:// or https:// with the appropriate port number at the end, unless it runs on 80/443. (You will see this in the address bar of your browser when you open up your Unifi Controller.)

  3. Enter the MAC Address of the device you're searching for

  4. Click search

  5. Profit

The tool will tell you which site in the controller that the device was adopted to. If it hasn't been adopted, the tool will tell you that the device could not be found.

Build From Source

Important

Rust nightly compiler is required

Minimum Rust Version

  1. Download the Zip of the source files and extract it

  2. Open up a terminal in the directory

  3. Run cargo build --release in the terminal

  4. Go to the target/release directory to find the unifi-search-tool.exe file

If you would like to optimize the binary for size

  1. Install the appropriate toolchain and the rust-src component
$ rustup toolchain install nightly
$ rustup component add rust-src --toolchain nightly
  1. Find your host's target triple
$ rustc -vV
...
host: x86_64-unknown-linux-gnu
  1. Run the build command
# Use that target triple when building with build-std.
# Add the =std,panic_abort to the option to make panic = "abort" Cargo.toml option work.
# See: https://github.com/rust-lang/wg-cargo-std-aware/issues/56
$ cargo +nightly build -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort --target x86_64-unknown-linux-gnu --release

Star History

Star History Chart