7 releases

0.2.4 Nov 17, 2024
0.2.3 Aug 29, 2024
0.2.1 Jun 27, 2024
0.1.1 Jun 10, 2024

#786 in Network programming

Download history 256/week @ 2024-08-24 59/week @ 2024-08-31 12/week @ 2024-09-07 32/week @ 2024-09-14 16/week @ 2024-09-21 21/week @ 2024-09-28 10/week @ 2024-10-05 14/week @ 2024-10-12 10/week @ 2024-10-19 2/week @ 2024-10-26 15/week @ 2024-11-02 5/week @ 2024-11-09 130/week @ 2024-11-16 25/week @ 2024-11-23 3/week @ 2024-11-30 52/week @ 2024-12-07

210 downloads per month

GPL-3.0 license

155KB
3.5K SLoC

TUI for managing wifi

πŸ“Έ Demo

πŸ’‘ Prerequisites

A Linux based OS with iwd installed.

[!NOTE] You might need to install nerdfonts for the icons to be displayed correctly.

πŸš€ 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.

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 = 'n'
stop = 'x'

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

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

βš–οΈ License

GPLv3

Dependencies

~18–30MB
~447K SLoC