
Por quê
impala é uma ótima TUI de wifi, mas ela se comunica com iwd. Se sua distro já usa NetworkManager (a maioria usa — GNOME, KDE, Ubuntu, Fedora, Pop, …), você não pode simplesmente usar impala sem substituir a pilha inteira. wlctl mantém a experiência do impala e a direciona para o NetworkManager, então funciona perfeitamente junto com o que seu ambiente gráfico já está fazendo.
Funcionalidades
- Modos Estação e Ponto de Acesso
- WPA Empresarial (802.1X)
- Múltiplos adaptadores — escolha qual usar, troque em tempo real
- Conexões VPN — ativar/desativar, gerenciar reconexão automática e excluir perfis salvos de VPN / WireGuard, como nmtui; um túnel ativo aparece como um selo no canto superior direito
wlctl doctor — verifica rfkill, driver, associação, IP, DHCP, gateway, DNS, internet
- Compartilhamento de QR code, redes ocultas, teste de velocidade
- Teclas Vim, todos os atalhos configuráveis
Instalar
# crates.io
cargo install wlctl
# Arch (AUR)
yay -S wlctl-bin
# Nix (executar sem instalar)
nix run github:aashish-thapa/wlctl
# a partir do código-fonte
git clone https://github.com/aashish-thapa/wlctl && cd wlctl
cargo build --release
No NixOS, adicione o flake como entrada e use wlctl.packages.${system}.default, ou coloque-o em um shell com nix shell github:aashish-thapa/wlctl.
Requer o NetworkManager em execução. Nerd Fonts opcionais, para ícones.
Uso
wlctl para iniciar a TUI. wlctl doctor quando algo estiver quebrado e você quiser saber qual camada.
Global
Redes conhecidas
Quando tanto WiFi quanto Ethernet estão ativos, o link que o NetworkManager está usando para rotear a internet é destacado em verde, e o rodapé da caixa mostra isso ( Internet: WiFi · <ssid>). Pressione u na linha Ethernet ou no WiFi conectado para mudar a rota padrão para ele (o outro link permanece ativo). O rodapé da caixa Dispositivo mostra o IP LAN do adaptador ativo (ex.: wlan0 · 192.168.1.20) para que você possa acessar via SSH sem executar ip addr.
Novas redes
| Ação | Tecla |
|---|
| Conectar / desconectar | Space ou Enter |
Pressione / para filtrar a lista de escaneamento por SSID enquanto digita; Enter mantém o filtro, Esc o limpa.
O IP atribuído ao túnel selecionado e o tempo de atividade são exibidos abaixo da lista enquanto estiver ativo.
Importando configurações WireGuard: pressione i, então cole a configuração inteira (a maioria dos provedores — Proton, Mullvad — fornece o texto) ou digite o caminho para um arquivo .conf e pressione Enter. wlctl faz o parsing e cria um perfil no NetworkManager — sem necessidade de nmcli. Configurações coladas recebem o nome do endpoint do servidor; importações de arquivo usam o nome do arquivo. ~ é expandido em caminhos. O perfil é adicionado sem reconexão automática; ative-o com Enter. Arquivos OpenVPN .ovpn não são suportados aqui — importe-os com nmcli connection import type openvpn file <caminho> (requer o plugin NetworkManager-openvpn).
Painel de dispositivo
| Ação | Tecla |
|---|
| Informações do adaptador | i |
| Alternar energia | o |
| Doctor | ? |
Modo Estação
Modo Ponto de Acesso
| Ação | Tecla |
|---|
| Iniciar PA | n |
| Parar PA | x |
Configuração
~/.config/wlctl/config.toml. Todas as teclas podem ser reatribuídas.
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
Créditos
Bifurcado de pythops/impala. A interface e a arquitetura são deles.
Licença
GPLv3