
wlctl v0.1.10
🛜 TUI para gestionar wifi/ethernet/vpn en Linux con Network Manager

Por qué
impala es un gran TUI de wifi pero se comunica con iwd. Si tu distro ya usa NetworkManager (la mayorÃa — GNOME, KDE, Ubuntu, Fedora, Pop, …), no puedes simplemente agregar impala sin reemplazar el stack. wlctl mantiene la experiencia de usuario de impala y la dirige a NetworkManager, para que funcione junto con lo que tu DE ya está haciendo.
CaracterÃsticas
- Modos de Station y Access Point
- WPA Enterprise (802.1X)
- Múltiples adaptadores — elige cuál usar, cambia sobre la marcha
- Conexiones VPN — activar/desactivar, gestionar reconexión automática y eliminar perfiles VPN/WireGuard guardados, como nmtui; un túnel activo se muestra como una insignia en la parte superior derecha
wlctl doctor— recorre rfkill, controlador, asociación, IP, DHCP, puerta de enlace, DNS, internet- Compartir código QR, redes ocultas, prueba de velocidad
- Teclas de Vim, todos los atajos configurables
Instalación
# crates.io
cargo install wlctl
# Arch (AUR)
yay -S wlctl-bin
# Nix (ejecutar sin instalar)
nix run github:aashish-thapa/wlctl
# desde el código fuente
git clone https://github.com/aashish-thapa/wlctl && cd wlctl
cargo build --release
En NixOS, añade el flake como entrada y usa wlctl.packages.${system}.default, o colócalo en un shell con nix shell github:aashish-thapa/wlctl.
Necesita NetworkManager en ejecución. Nerd Fonts opcional, para iconos.
Uso
wlctl para iniciar el TUI. wlctl doctor cuando algo está roto y quieres saber en qué capa.
Global
| Acción | Tecla |
|---|---|
| Cambiar panel | Tab / Shift+Tab |
| Mover | j k / flechas |
| Cambiar modo del adaptador (Station ↔ AP) | Ctrl+R |
| Conexiones VPN | v |
| Salir | q / Ctrl+C |
| Descartar ventana emergente | Esc |
Redes conocidas
| Acción | Tecla |
|---|---|
| Conectar / desconectar | Space o Enter |
| Activar/desactivar reconexión automática | t |
| Olvidar red | d |
| Hacer esta la ruta de internet | u |
| Mostrar todas | a |
| Compartir QR | p |
Prueba de velocidad (necesita speedtest-cli) | Shift+S |
Cuando tanto WiFi como Ethernet están activos, el enlace que NetworkManager está realmente usando para enrutar internet se resalta en verde, y el pie del cuadro lo indica (󰖟 Internet: WiFi · <ssid>). Presiona u en la fila de Ethernet o en el WiFi conectado para cambiar la ruta predeterminada a ese (el otro enlace permanece activo).
El pie del cuadro Device muestra la IP LAN del adaptador activo (p. ej. 󰩟 wlan0 · 192.168.1.20) para que puedas acceder por SSH sin ejecutar ip addr.
Redes nuevas
| Acción | Tecla |
|---|---|
| Conectar / desconectar | Space o Enter |
| Conectar a oculta | h |
| Filtrar por nombre | / |
| Mostrar todas | a |
Presiona / para filtrar la lista de escaneo por SSID mientras escribes; Enter mantiene el filtro, Esc lo borra.
Conexiones VPN (abrir con v)
| Acción | Tecla |
|---|---|
| Activar / desactivar | Space o Enter |
| Activar/desactivar reconexión automática | a |
Eliminar perfil (confirmar y/n) | d |
| Importar una configuración WireGuard | i |
| Cerrar | Esc |
La IP asignada y el tiempo de actividad del túnel seleccionado se muestran debajo de la lista mientras está activo.
Importación de configuraciones WireGuard: presiona i, luego pega la configuración completa (la mayorÃa de proveedores — Proton, Mullvad — te dan el texto) o escribe la ruta a un archivo .conf, y presiona Enter. wlctl lo analiza y crea un perfil de NetworkManager — no necesita nmcli. Las configuraciones pegadas se nombran según el endpoint del servidor; las importaciones de archivos según el nombre del archivo. ~ se expande en las rutas. El perfil se añade sin reconexión automática; actÃvalo con Enter. Los archivos .ovpn de OpenVPN no son compatibles aquà — impórtalos con nmcli connection import type openvpn file <ruta> (requiere el complemento NetworkManager-openvpn).
Panel de dispositivo
| Acción | Tecla |
|---|---|
| Información del adaptador | i |
| Activar/desactivar energÃa | o |
| Doctor | ? |
Modo Station
| Acción | Tecla |
|---|---|
| Escanear | s |
Modo Access Point
| Acción | Tecla |
|---|---|
| Iniciar AP | n |
| Detener AP | x |
Configuración
~/.config/wlctl/config.toml. Todas las teclas reasignables.
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
| impala | wlctl | |
|---|---|---|
| Backend | iwd | NetworkManager |
| Coexiste con la pila de red predeterminada del escritorio | no | sà |
| Selector de múltiples adaptadores | — | sà |
| Activación de conexión VPN | — | sà |
Subcomando doctor | — | sà |
Créditos
Bifurcado de pythops/impala. La interfaz y la arquitectura son suyas.
Licencia
GPLv3