4 releases

0.2.1 Jun 27, 2024
0.2.0 Jun 17, 2024
0.1.1 Jun 10, 2024
0.1.0 Jun 9, 2024

#1455 in Network programming

Download history 207/week @ 2024-06-04 175/week @ 2024-06-11 71/week @ 2024-06-18 131/week @ 2024-06-25

584 downloads per month

GPL-3.0 license

150KB
3.5K SLoC

TUI for managing wifi

📸 Demo

💡 Prerequisites

A Linux based OS with iwd installed.

🚀 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

🐧AUR

You can install impala from the AUR with using an AUR helper.

paru -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: 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.

Device

i: Show device information.

o: Toggle device power.

Station

s: Start scanning.

Space: Connect/Disconnect the network.

Known Networks

a: Enable/Disable auto-connect.

d: Remove the network from the known networks list.

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"

[device]
infos = "i"
toggle_power = "o"

[access_point]
start = 's'
stop = 'x'

[station]
toggle_scanning = "s"
toggle_connect = " "

[station.known_network]
toggle_autoconnect = "a"
remove = "d"

⚖️ License

GPLv3

Dependencies

~23–37MB
~551K SLoC