
Perché
impala è un'ottima TUI per il WiFi, ma parla con iwd. Se la tua distribuzione usa già NetworkManager (la maggior parte — GNOME, KDE, Ubuntu, Fedora, Pop, …), non puoi inserire impala senza strappare via lo stack. wlctl mantiene l'UX di impala e la punta su NetworkManager, funzionando così affianco a ciò che il tuo DE sta già facendo.
Caratteristiche
- Modalità Stazione e Access Point
- WPA Enterprise (802.1X)
- Adattatori multipli — scegli quale guidare, cambia al volo
- Connessioni VPN — attiva, gestisci la connessione automatica e cancella profili VPN / WireGuard salvati, come nmtui; un tunnel attivo mostra un badge nell'angolo in alto a destra
wlctl doctor — esamina rfkill, driver, associazione, IP, DHCP, gateway, DNS, internet
- Condivisione QR code, reti nascoste, test di velocità
- Tasti Vim, ogni tasto riconfigurabile
Installazione
# crates.io
cargo install wlctl
# Arch (AUR)
yay -S wlctl-bin
# Nix (esegui senza installare)
nix run github:aashish-thapa/wlctl
# da sorgente
git clone https://github.com/aashish-thapa/wlctl && cd wlctl
cargo build --release
Su NixOS, aggiungi il flake come input e usa wlctl.packages.${system}.default, oppure inseriscilo in una shell con nix shell github:aashish-thapa/wlctl.
Necessita di NetworkManager in esecuzione. I Nerd Fonts sono opzionali, per le icone.
Utilizzo
wlctl per avviare la TUI. wlctl doctor quando qualcosa non funziona e vuoi sapere quale livello è il problema.
Globale
Reti conosciute
Quando sia WiFi che Ethernet sono attivi, il collegamento su cui NetworkManager sta effettivamente instradando Internet viene evidenziato in verde, e il piè di pagina del box lo indica ( Internet: WiFi · <ssid>). Premi u sulla riga Ethernet o sul WiFi connesso per cambiare la rotta predefinita su di esso (l'altro collegamento rimane attivo).
Il piè di pagina del box Dispositivo mostra l'IP LAN dell'adattatore attivo (es. wlan0 · 192.168.1.20) così puoi collegarti in SSH senza eseguire ip addr.
Nuove reti
| Azione | Tasto |
|---|
| Connetti / disconnetti | Space o Enter |
Premi / per filtrare l'elenco delle scansioni per SSID mentre scrivi; Enter mantiene il filtro, Esc lo cancella.
Connessioni VPN (apri con v)
L'IP assegnato e il tempo di attività del tunnel selezionato vengono mostrati sotto l'elenco mentre è attivo.
Importare configurazioni WireGuard: premi i, poi incolla l'intera configurazione (la maggior parte dei provider — Proton, Mullvad — ti danno semplicemente il testo) o digita un percorso a un file .conf, e premi Invio. wlctl lo analizza e crea un profilo NetworkManager — niente nmcli. Le configurazioni incollate vengono nominate in base all'endpoint del server; le importazioni di file in base al nome del file. ~ viene espanso nei percorsi. Il profilo viene aggiunto senza connessione automatica; attivalo con Invio. I file .ovpn di OpenVPN non sono supportati qui — importali con nmcli connection import type openvpn file <path> (richiede il plugin NetworkManager-openvpn).
Pannello Dispositivo
| Azione | Tasto |
|---|
| Info adattatore | i |
| Accendi/spegni | o |
| Doctor | ? |
Modalità Stazione
Modalità Access Point
| Azione | Tasto |
|---|
| Avvia AP | n |
| Ferma AP | x |
Configurazione
~/.config/wlctl/config.toml. Tutti i tasti sono riconfigurabili.
switch = "r"
mode = "station"
esc_quit = false
vpn = "v"
[device]
infos = "i"
toggle_power = "o"
doctor = "?"
[station]
toggle_scanning = "s"
[station.known_network]
toggle_autoconnect = "t"
remove = "d"
show_all = "a"
share = "p"
speed_test = "S"
prefer = "u"
[station.new_network]
show_all = "a"
connect_hidden = "h"
filter = "/"
[access_point]
start = "n"
stop = "x"
vs. impala
Crediti
Fork da pythops/impala. L'interfaccia e l'architettura sono loro.
Licenza
GPLv3