6 releases

0.2.3 Aug 29, 2024
0.2.2 Aug 28, 2024
0.2.1 Jun 27, 2024
0.1.1 Jun 10, 2024

#1278 in Network programming

Download history 31/week @ 2024-07-10 2/week @ 2024-07-24 7/week @ 2024-07-31 1/week @ 2024-08-07 2/week @ 2024-08-14 6/week @ 2024-08-21 300/week @ 2024-08-28 20/week @ 2024-09-04 26/week @ 2024-09-11 19/week @ 2024-09-18 20/week @ 2024-09-25 14/week @ 2024-10-02 13/week @ 2024-10-09 13/week @ 2024-10-16 4/week @ 2024-10-23

52 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
~463K SLoC