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:
- Velocidade de download
- Velocidade de upload
- Gráficos do tráfego
- Picos de transferência
- Latência
- Interface de rede utilizada
- Processos que possuem conexões de rede
- Informações da interface, como IP, MAC e MTU
- Totais de tráfego da sessão/dia
- Temas e esquemas de cores personalizados
A interface se adapta automaticamente ao tamanho do terminal, oferecendo quatro modos: Hero, Compact, Mini e Tiny.
Como instalar
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.
GNU/Linux
Se você utiliza Arch Linux, pode instalar através do AUR:
yay -S flow-network-monitor-bin
Usando Go
Com o Go instalado:
go install github.com/programmersd21/flow/cmd/flow@latest
Verifique:
flow
Compilando a partir do código-fonte
git clone https://github.com/programmersd21/flow
cd flow
make install
O projeto também disponibiliza binários diretamente na página de releases.
macOS
A maneira mais simples é utilizar o Homebrew:
brew install programmersd21/flow/flow
Depois:
flow
Windows
No Windows, você pode baixar o binário correspondente à arquitetura da sua máquina na página de Releases do projeto.
Existem builds para:
amd64
arm64
O processo de release gera um arquivo .zip para Windows.
Depois de extrair o executável, você pode executar:
.\flow.exe
Se quiser chamar flow diretamente de qualquer terminal, adicione a pasta do executável ao PATH do Windows.
Primeiros passos
Depois de instalado, basta executar:
flow
O programa detecta automaticamente a interface de rede e inicia o monitoramento.
Modos de visualização
Você pode iniciar diretamente em diferentes modos:
flow --compact
Layout compacto.
flow --mini
Somente os gráficos.
flow --tiny
Uma ú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)"
Escolher uma interface
Se o computador possui várias interfaces de rede:
flow --interface wlan0
Também é possível alternar entre interfaces dentro da própria aplicação usando:
i
Alterar unidade
Pressione:
c
para alternar entre escalas como:
B/s
KB/s
MB/s
Ou inicie utilizando bits por segundo:
flow --bits
Alterar o intervalo de atualização
Por padrão, o flow trabalha com uma amostragem de 100 ms.
Você pode alterar:
flow --refresh 500ms
Monitorar a latência
É possível definir o destino utilizado para o teste de latência:
flow --ping 8.8.8.8
O endereço padrão é 1.1.1.1.
Atalhos
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 |
JSON e automação
O flow não precisa ser utilizado somente como uma TUI.
Para obter uma saída JSON única:
flow --json
Para receber dados continuamente em JSON Lines:
flow --json-stream
Isso permite integrar o flow com scripts, dashboards e outras ferramentas de terminal.
Também existe:
flow --once
para obter uma saída única em texto.
Para mais informações acesse o repositório.
Top comments (0)