# Unifly

> Open-source CLI and TUI for managing Ubiquiti UniFi network controllers from the terminal, with 28 commands, an 11-screen dashboard, and an AI agent skill bundle.

Unifly is an open-source command-line toolkit for Ubiquiti UniFi network controllers, written in Rust and released under the Apache-2.0 license. It ships as a single binary with 28 top-level commands for scripting and an 11-screen real-time TUI dashboard, all powered by a shared async engine that speaks every UniFi API dialect. Built by Stefanie Jane ([@hyperb1iss](https://github.com/hyperb1iss)) at Hyperbliss Technologies, the project reached v0.10.0 in August 2026.

## What It Is

Unifly is a terminal-native UniFi network management tool that replaces the UniFi web UI for power users, homelab operators, and network engineers. It unifies the UniFi Integration API, Session API, and Site Manager cloud fleet API into a single coherent interface so users never have to think about which endpoint to hit. The tool also ships a dedicated AI agent skill bundle that lets coding agents autonomously provision VLANs, audit firewalls, and diagnose connectivity.

## Triple-Path API Engine

The core engine handles three distinct UniFi API paths simultaneously:

- **Integration API + Session API** — accessed via a single API key on UniFi OS controllers
- **Site Manager cloud fleet** — for consoles reachable only through Ubiquiti's cloud connector
- **Hybrid mode** — combines API key for Integration/Session HTTP with username/password for WebSocket live event streaming

Authentication supports API keys, username/password, hybrid mode, OS keyring storage, environment variables, TOML config files, and TOTP for MFA-enabled controllers. Named profiles allow instant switching between home, office, and remote sites.

## 11-Screen TUI Dashboard

Launched with `unifly tui`, the dashboard is built on ratatui with a SilkCircuit neon-on-dark theme powered by the opaline crate. Screens include:

- **Dashboard** — btop-style overview with WAN traffic area-fill charts, CPU/MEM gauges, top clients, and recent events
- **Devices** — model, firmware, uptime, live CPU/MEM with 5-tab detail panel; supports restart, locate, and upgrade actions
- **Clients** — signal, traffic, VLAN with block/unblock/kick; filterable by type
- **Firewall** — policies, zones, ACL, and NAT across four sub-tabs with drag reordering
- **Topology** — zoomable network tree with pan, zoom, and fit-to-view
- **Events** — live WebSocket stream with 10K rolling buffer, pause, and severity filtering
- **Stats** — WAN bandwidth, client counts, DPI breakdown across 1h/24h/7d/30d windows
- **WiFi** — per-client experience scores, neighboring APs, roaming sub-tabs

The TUI auto-detects graphics protocols (Kitty, Sixel, iTerm2) for chart rendering.

## AI Agent Skill

Unifly ships a dedicated skill bundle installable with `npx skills add hyperb1iss/unifly`, compatible with Claude Code, Cursor, Copilot, Codex, Gemini, and other coding agents. The bundle includes a complete CLI reference, automation workflow patterns, and a ready-made Network Manager agent that can provision VLANs, audit firewalls, and diagnose connectivity without asking permission for every command. It can also be installed as a Claude Code plugin via `/plugin marketplace add hyperb1iss/unifly`.

## Architecture and Library

The workspace is split into two crates with a clean dependency chain:

- **unifly-api** — async HTTP/WebSocket client, Controller lifecycle, reactive DataStore (`DashMap` + `tokio::watch`), and entity models; published on crates.io
- **unifly** — single binary combining CLI commands and the TUI dashboard via feature flags, profile/keyring config, and the SilkCircuit theme

The library crate (`unifly-api`) is available for embedding in other Rust projects, with full API docs on docs.rs.

## Update: v0.10.0

The latest release is v0.10.0, published on 2026-08-07. The repository was last pushed on the same date and last updated on 2026-08-24, indicating active development. The project launched in February 2026 and has accumulated 247 stars and 15 forks on GitHub as of the last recorded update.

## Features
- 28 top-level CLI commands for devices, clients, networks, WiFi, firewall, NAT, DNS, VPN, DPI, and more
- 11-screen real-time TUI dashboard with SilkCircuit neon-on-dark theme
- Triple-path API engine: Integration API, Session API, and Site Manager cloud fleet
- AI agent skill bundle for Claude Code, Cursor, Copilot, Codex, and Gemini
- OS keyring credential storage by default
- Multi-profile support for multiple controllers with instant switching
- Live WebSocket event streaming with 10K rolling buffer
- Historical stats: WAN bandwidth, client counts, DPI breakdown (1h to 30d)
- Flexible output formats: table, JSON, compact JSON, YAML, plain text
- Shell completions for Bash, Zsh, Fish, and PowerShell
- Zoomable network topology tree
- Per-client Wi-Fi experience scores and roaming timelines
- Switch port config-as-code
- Raw API passthrough for any endpoint
- Interactive setup wizard for local and cloud controllers
- TOTP support for MFA-enabled controllers
- Auto-detected graphics protocol charts (Kitty/Sixel/iTerm2)

## Integrations
Ubiquiti UniFi Network Controllers, UniFi OS Integration API, UniFi Session API, UniFi Site Manager cloud fleet API, Claude Code, Cursor, GitHub Copilot, OpenAI Codex, Google Gemini, OS keyring (macOS Keychain, Linux Secret Service, Windows Credential Manager), Homebrew, AUR (Arch User Repository), Cargo / crates.io

## Platforms
WINDOWS, MACOS, LINUX, WEB, API, CLI

## Pricing
Open Source

## Version
v0.10.0

## Links
- Website: https://hyperb1iss.github.io/unifly/
- Documentation: https://hyperb1iss.github.io/unifly/guide/
- Repository: https://github.com/hyperb1iss/unifly
- EveryDev.ai: https://www.everydev.ai/tools/unifly
