11 releases (5 breaking)
Uses new Rust 2024
| 0.6.0 | Nov 27, 2025 |
|---|---|
| 0.5.0 | Nov 21, 2025 |
| 0.4.0 | Oct 16, 2025 |
| 0.3.0 | Jul 10, 2025 |
| 0.1.1 | Jun 10, 2024 |
#593 in Network programming
262 downloads per month
245KB
6.5K
SLoC
TUI for managing wifi
πΈ Demo
β¨ Features
- WPA Enterprise (802.1X) Support
- Station & Access Point Modes:
- QR Code Network Sharing
π‘ Prerequisites
[!IMPORTANT] To avoid conflicts, ensure wireless management services like NetworkManager or wpa_supplicant are disabled.
π Installation
π₯ Binary release
You can download the pre-built binaries from the release page release page
π¦ crates.io
You can install impala from crates.io
cargo install impala
π§Arch Linux
You can install impala from the official repositories with using pacman.
pacman -S impala
Nixpkgs
nix-env -iA nixpkgs.impala
βοΈ Build from source
Run the following command:
git clone https://github.com/pythops/impala
cd impala
cargo build --release
This will produce an executable file at target/release/impala that you can copy to a directory in your $PATH.
πͺ Usage
Global
Tab or Shift + Tab: Switch between different sections.
j or Down : Scroll down.
k or Up: Scroll up.
ctrl+r: Switch adapter mode.
?: Show help.
esc: Dismiss the different pop-ups.
q or ctrl+c: Quit the app. (Note: <Esc> can also quit if esc_quit = true is set in config)
Device
i: Show device information.
o: Toggle device power.
Station
s: Start scanning.
Space: Connect/Disconnect the network.
Known Networks
t: Enable/Disable auto-connect.
d: Remove the network from the known networks list.
a: Show all the known networks.
Access Point
n: Start a new access point.
x: Stop the running access point.
Custom keybindings
Keybindings can be customized in the config file $HOME/.config/impala/config.toml
switch = "r"
mode = "station"
esc_quit = false # Set to true to enable Esc key to quit the app
[device]
infos = "i"
toggle_power = "o"
[access_point]
start = 'n'
stop = 'x'
[station]
toggle_scanning = "s"
[station.known_network]
toggle_autoconnect = "t"
remove = "d"
show_all = "a"
share = "p"
βοΈ License
GPLv3
Dependencies
~27β43MB
~693K SLoC