
O flow é um monitor de tráfego de rede em tempo real para o terminal.
Ele é escrito em Go, utiliza Bubble Tea para a interface TUI e funciona em GNU/Linux, macOS e Windows.
Características:
A interface se adapta automaticamente ao tamanho do terminal, oferecendo quatro modos: Hero, Compact, Mini e Tiny.
O projeto disponibiliza binários pré-compilados para Linux, macOS e Windows, tanto para amd64 quanto para arm64. Também existem métodos específicos para cada plataforma.
Se você utiliza Arch Linux, pode instalar através do AUR:
yay -S flow-network-monitor-binCom o Go instalado:
go install github.com/programmersd21/flow/cmd/flow@latestVerifique:
flowgit clone https://github.com/programmersd21/flow
cd flow
make installO projeto também disponibiliza binários diretamente na página de releases.
A maneira mais simples é utilizar o Homebrew:
brew install programmersd21/flow/flowDepois:
flowNo Windows, você pode baixar o binário correspondente à arquitetura da sua máquina na página de Releases do projeto.
Existem builds para:
amd64
arm64O processo de release gera um arquivo .zip para Windows.
Depois de extrair o executável, você pode executar:
.\flow.exeSe quiser chamar flow diretamente de qualquer terminal, adicione a pasta do executável ao PATH do Windows.
Depois de instalado, basta executar:
flowO programa detecta automaticamente a interface de rede e inicia o monitoramento.
Você pode iniciar diretamente em diferentes modos:
flow --compactLayout compacto.
flow --miniSomente os gráficos.
flow --tinyUma única linha, ideal para barras de status.
Por exemplo, o modo tiny pode ser integrado ao tmux:
set -g status-right "#(flow --tiny --no-color)"Se o computador possui várias interfaces de rede:
flow --interface wlan0Também é possível alternar entre interfaces dentro da própria aplicação usando:
iPressione:
cpara alternar entre escalas como:
B/s
KB/s
MB/sOu inicie utilizando bits por segundo:
flow --bitsPor padrão, o flow trabalha com uma amostragem de 100 ms.
Você pode alterar:
flow --refresh 500msÉ possível definir o destino utilizado para o teste de latência:
flow --ping 8.8.8.8O endereço padrão é 1.1.1.1.
Durante a execução:
| Tecla | Ação |
|---|---|
q |
Sair |
m |
Alterar modo de visualização |
d |
Download / Upload / Ambos |
t |
Selecionar tema |
n |
Processos de rede |
i |
Alterar interface |
I |
Detalhes da interface |
c |
Alterar unidade |
b |
Bits/s ↔ Bytes/s |
+ / - |
Alterar intervalo |
p |
Pausar/continuar |
r |
Resetar picos |
? |
Ajuda |
O flow não precisa ser utilizado somente como uma TUI.
Para obter uma saída JSON única:
flow --jsonPara receber dados continuamente em JSON Lines:
flow --json-streamIsso permite integrar o flow com scripts, dashboards e outras ferramentas de terminal.
Também existe:
flow --oncepara obter uma saída única em texto.
Para mais informações acesse o repositório.