Monitore sua rede diretamente pelo terminal

🔳 Escrito em Go.


Monitore sua rede diretamente pelo terminal


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.


go tui rede terminal


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!