Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
nmlinux — Toolkit de rede unificado para Linux — Python 3 + PySide6 | Kitploit
Ferramentas/GitHubGitHub/thongor77/nmlinux
Mapeamento de RedeEscaneamento de PortasColeta de InformaçõesAnálise de DNS
GitHubthongor77/nmlinux

nmlinux

Toolkit de rede unificado para Linux — Python 3 + PySide6

Ver Repositório
92119há 26 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

NMLinux · v1.7.12

Version Python License: GPL-2.0 Platform Languages Donate Bitcoin

Um kit de ferramentas de rede unificado para Linux e macOS — inspecione, conecte, diagnostique.

O NMLinux é uma GUI única e unificada que reúne 29 módulos de rede em uma única janela: monitoramento de interfaces, Wi-Fi, DNS, terminal SSH, visualizador de firewall, mapa de topologia, traceroute e muito mais. Construído do zero em Python e PySide6 (Qt 6), com 8 idiomas de interface e sem dependências externas além das ferramentas padrão do sistema.

[!NOTE] O NMLinux não está relacionado ao daemon do sistema Linux /usr/bin/NetworkManager (NetworkManager da Red Hat/GNOME). O NMLinux é um projeto independente construído do zero em Python e PySide6.

Construído com Claude Code (Anthropic) e a contribuição do seu autor.


Processo de desenvolvimento

O NMLinux é construído com assistência de IA — Claude Code, especificamente — e isso não está escondido em nenhum lugar deste repositório. Quase todo projeto de software sério hoje usa IA em algum lugar do seu pipeline, quer diga ou não. Portanto, "a IA esteve envolvida" não é a pergunta interessante. A pergunta interessante é: existe algo que detecte quando a IA erra?

Aqui está o que faz isso, se preferir verificar em vez de aceitar minha palavra:

  • 162 testes — pytest tests/ -v. Lógica pura mais um punhado de testes reais de widgets Qt (menus, tabelas), sem simular as partes interessantes.
  • docs/Decisions-Techniques.md — cada decisão técnica não óbvia, as alternativas que foram rejeitadas e os bugs (incluindo os introduzidos por IA) que foram encontrados e corrigidos, com o raciocínio documentado.
  • docs/Architecture.md e docs/Carte-des-Modules.md — a estrutura real do código, mantida em sincronia com o que é distribuído.
  • Uma verificação de consistência i18n executada antes de cada lançamento para detectar chaves de tradução ausentes nos 8 idiomas suportados.

Nada disso existe porque a IA não pode ser confiável. Existe porque nada deveria ser lançado sem um processo que o verifique — código escrito à mão incluído. Julgue o resultado e como ele é verificado, não a ferramenta que ajudou a escrevê-lo.

Encontrou um bug mesmo assim? Isso é útil, não embaraçoso — abra uma issue.


Comunidade

GitHub Discussions estão abertos — compartilhe feedback, relate ideias, faça perguntas ou apenas diga olá. O autor tem mais de 30 anos em infraestrutura e operações, e construiu esta ferramenta porque software bom, gratuito e simples também deveria existir para Linux.


Capturas de tela

Capturas de tela do Linux da v1.2.7 — capturas de tela do macOS da v1.3.5. O aplicativo agora tem 29 módulos e 8 idiomas de interface (FR/EN/ES/DE/IT/PT/JA/ZH).

Linux (KDE)

DashboardTopologia
DashboardTopologia
TracerouteWi-Fi
TracerouteWi-Fi

macOS

DashboardTraceroute
Dashboard macOSTraceroute macOS

Registro de alterações

v1.7.12 — 2026-08-12

  • Traceroute — correção: sob Flatpak (v1.7.11, veja abaixo — agora removido), traceroute sempre resolvia no PATH via o shim do host mesmo quando o host não tinha um binário real de traceroute instalado, então o worker nunca recorria ao tracepath e o trace terminava instantaneamente sem hops e sem erro exibido. Agora ele recorre ao tracepath sempre que traceroute não produz nenhuma saída analisável, independentemente do motivo da falha.
  • Terminal SSH — correção do askpass: quando DISPLAY/WAYLAND_DISPLAY estão definidos (qualquer sessão GUI) e o ssh não tem um tty limpo, ele pode tentar $SSH_ASKPASS para o prompt de senha em vez do terminal embutido — falhando silenciosamente na autenticação se nenhum helper askpass estiver instalado. SSH_ASKPASS_REQUIRE=never agora força os prompts de senha a sempre passarem pelo próprio terminal.
  • Empacotamento Flatpak removido: o manifesto local para KDE Linux distribuído na v1.7.11 foi descontinuado. A investigação do bug do prompt de senha SSH acima revelou uma limitação em nível de kernel: um processo retransmitido via nunca pode se tornar o proprietário do terminal de controle do pty encaminhado ( recusado com — uma sessão diferente e não relacionada já o possui; isso é um limite de segurança intencional do kernel, não um bug). A única alternativa viável (, alocando um pty novo) corrige o prompt de senha, mas quebra a propagação de redimensionamento do terminal ao vivo para essa sessão — considerado um trade-off pior do que não distribuir Flatpak. AUR e o AppImage são os caminhos de instalação Linux suportados daqui em diante.

v1.7.11 — 2026-08-03

  • Empacotamento Flatpak (KDE Linux): um manifesto de build local sob packaging/flatpak/ tem como alvo KDE Linux e outras distros somente Flatpak. As ferramentas CLI do host que o nmlinux invoca (nmcli, pkexec, mount.cifs, ssh, nmap, …) são conectadas via shims flatpak-spawn --host no PATH em vez de sandboxar cada uma individualmente; o PySide6 vem do io.qt.PySide.BaseApp do Flathub em vez da wheel do PyPI. Não publicado no Flathub — um único bundle .flatpak é construído com packaging/flatpak/build-bundle.sh e anexado a cada lançamento, da mesma forma que o AppImage já é. Descontinuado na v1.7.12 — veja acima.

v1.7.10 — 2026-08-03

  • Terminal SSH — correção: corrigida uma condição de corrida onde o PTY podia iniciar no tamanho errado (padrão 24×80) se o tamanho real do widget do terminal ainda não fosse conhecido quando a sessão fosse lançada, descartando silenciosamente a solicitação de redimensionamento. Isso dessincronizava aplicativos remotos de tela cheia (ex.: Claude Code CLI, htop, vim) do tamanho real da janela, causando texto obsoleto/residual na parte inferior da tela que só era limpo conforme nova saída passava. Relatado pelo usuário; reproduzido com uma sessão interativa real

v1.7.9 — 2026-08-02

  • Terminal SSH — copiar/colar: selecione texto com o mouse (clique-arraste, destacado), copie com Ctrl+Shift+C ou o menu de clique direito; cole com Ctrl+Shift+V (existente). Copiar era anteriormente impossível — não existia seleção de texto alguma
  • Terminal SSH — múltiplas sessões simultâneas: a página SSH agora abre cada conexão em sua própria aba em vez de uma única sessão compartilhada. Reconectar a uma conexão salva — até mesmo a mesma duas vezes — costumava matar a sessão ativa sem abrir uma substituição funcional; agora cada ação de conectar abre uma nova aba independente

v1.7.8 — 2026-07-14

  • Teste de Velocidade — nova aba LAN (iperf3): junto com o teste de velocidade da internet, uma nova aba executa testes iperf3 somente cliente contra uma lista de servidores públicos integrada (26 países) ou um servidor personalizado salvo (ex.: um servidor interno da organização). Suporta TCP/UDP, IPv4/IPv6/automático e direção reversa (download), com jitter/perda exibidos para testes UDP. Sugerido pela issue #6
  • Nova dependência opcional: iperf3 — instale para habilitar a aba LAN; a aba mostra um banner e permanece desabilitada caso contrário

v1.7.6 — 2026-07-05

  • Inventário de Ativos — atualização com clique direito: clique com o botão direito em uma ou mais linhas já escaneadas (seleção múltipla suportada) e escolha "Atualizar selecionados" para reescanear apenas aqueles hosts no lugar, em vez de executar novamente uma varredura de rede completa
  • Inventário de Ativos — feedback de falha de autenticação SSH: um login SSH rejeitado agora mostra "Falha na autenticação SSH" em vez de falhar silenciosamente, sem perder o hostname/OS detectado pelo Nmap como linha de base — confirmado contra um NAS Synology real onde o Auto Block do DSM rejeitou uma senha correta depois que outros conjuntos de credenciais configurados foram tentados primeiro

v1.7.5 — 2026-07-04

  • Monitor de Ping — diretório de alvos salvos: um novo painel esquerdo permite salvar alvos de ping (nome, host, intervalo) em uma lista persistente, para que os hosts monitorados sobrevivam a um reinício do aplicativo em vez de terem que ser digitados novamente. Um botão ★ em cada linha monitorada ativamente salva esse host no diretório a qualquer momento durante a sessão — sem necessidade de ter planejado antes do aplicativo fechar inesperadamente
  • Monitor de Ping — "Iniciar monitoramento": selecione um alvo salvo e comece a monitorá-lo com um clique, reutilizando seu intervalo salvo

v1.7.4 — 2026-07-04

  • Inventário de Ativos — corrigidos resultados de varredura inconsistentes: a verificação de atividade enviava um único ping com timeout de 1 segundo e sem nova tentativa, o que podia descartar um dispositivo real sob a própria carga concorrente do scanner (até 40 hosts sondados de uma vez) ou quando um host Wi-Fi estava brevemente adormecido entre beacons — confirmado ao vivo contra uma sub-rede real que retornava contagens de dispositivos diferentes em execuções repetidas do mesmo intervalo. A verificação agora tenta o ping novamente antes de recorrer à sonda de porta TCP
  • Inventário de Ativos — novo botão "Atualizar vazios": após uma varredura, reescaneie apenas os IPs que não retornaram dados em vez de todo o intervalo novamente; hosts recém-encontrados são mesclados nos resultados existentes

v1.7.3 — 2026-07-03

  • SMB — montar compartilhamentos pelo menu de clique direito: clique com o botão direito em um compartilhamento na aba SMB e escolha Montar/Desmontar para montá-lo em um caminho local estável (~/mnt/<host>_<share>), utilizável pelo terminal e qualquer outro aplicativo — não uma visão de navegação transitória. Somente sessão (sem persistência fstab/systemd), credenciais reutilizadas dos campos existentes de usuário/senha. O Linux usa pkexec mount -t cifs com um arquivo de credenciais de permissões restritas (nunca exposto via ps); o macOS usa mount_smbfs diretamente. Tenta automaticamente novamente com um dialeto SMB mais antigo (vers=2.0) quando um servidor rejeita a negociação padrão (comum com NAS mais antigos) — ambas as tentativas ocorrem sob um único prompt de autenticação via um processo helper dedicado
  • Nova dependência opcional: cifs-utils (Linux) para montagem SMB; integrado ao macOS

v1.7.2 — 2026-07-03

  • Instalação macOS — corrigidos dois bugs de bootstrap encontrados em um Mac limpo: bootstrap_macos.sh não força mais NONINTERACTIVE=1 no instalador do Homebrew, que abortava imediatamente em qualquer conta de administrador nova em vez de solicitar a senha do sudo; o one-liner documentado agora baixa o script primeiro em vez de canalizá-lo diretamente para bash, já que etapas interativas aninhadas (instalador do Xcode CLT, próprio prompt sudo do Homebrew) podiam interferir no fluxo de entrada do script externo quando canalizadas
  • Menu universal de clique direito — SMB adicionado: SmbNfsPage era a única página alvo ausente do sistema de clique direito entre módulos distribuído na v1.7.0; clicar com o botão direito em um host e escolher SMB agora pré-preenche o campo de host e lança a varredura imediatamente, em negrito no menu quando a porta 445 é detectada como aberta
  • i18n — strings restantes do Dashboard traduzidas: o rótulo de latência do gateway, o título do cartão TLS Watchlist e sua linha de status ainda estavam codificados em francês; agora traduzidos em todos os 8 idiomas de interface

v1.7.1 — 2026-07-02

  • macOS 26 (Tahoe) — correções de SSID Wi-Fi: mudou de system_profiler (retorna <redacted> sem Location Services) para CoreWLAN como fonte de dados primária; o aplicativo agora solicita permissão de Location Services no primeiro lançamento; a página Wi-Fi mostra todas as redes com nomes reais uma vez concedida
  • macOS — Gerenciador de Conexões: SSID conectado agora lido via CoreWLAN, com system_profiler para o modo de segurança
  • macOS — SMB: mensagem clara de "autenticação necessária" quando o NAS exige credenciais; corrigido aviso espúrio de smb.conf do smbclient do Homebrew
  • macOS — Corrigida possível falha ao sair após o primeiro diálogo de permissão de Location Services

v1.7.0 — 2026-07-02

  • Menu de contexto universal de clique direito em toda tabela que contenha IPs ou hostnames — navegue diretamente entre módulos sem copiar e colar: clique com o botão direito em qualquer host descoberto e escolha Ping, Escanear portas, Whois, DNS, Traceroute, MTR, SSH, RDP, VNC, Ver na Topologia ou Adicionar ao Inventário. Os itens de menu SSH/RDP/VNC aparecem em negrito quando a porta correspondente é detectada como aberta. Os rótulos são totalmente traduzidos em todos os 8 idiomas de interface.
  • Páginas de origem (emitem ações de clique direito): IP Scanner, Nmap, Ping, Port Scanner, Traceroute, MTR, Topologia (clique direito no nó)
  • Páginas alvo (recebem host e pré-preenchem): Whois (set_target + consulta automática), DNS (set_target apenas pré-preenchimento), Ping (set_target + início automático), Traceroute (set_target + início automático), MTR (set_target + início automático), Port Scanner (set_target + foco), SSH / RDP / VNC (set_target abre formulário de nova conexão pré-preenchido), Topologia (load_hosts injeta nós da varredura IP Scanner/Nmap sem reescanear — gateway detectado automaticamente, arestas desenhadas, nó de origem destacado em vermelho), Inventário de Ativos (prefill_hosts inicia varredura de credenciais diretamente nos hosts descobertos, pula a fase de descoberta ICMP)

v1.6.4 — 2026-06-28

  • macOS: a barra de menus agora mostra NMLinux em vez de Python — causa raiz: após exec() no Python, NSBundle.mainBundle() resolve para o bundle Python.framework (CFBundleName = "Python") que o Qt lê durante a construção do QApplication; corrigido ao aplicar patch no infoDictionary() do bundle e renomear itens de menu nativos via AppKit antes que o menu do aplicativo seja criado

v1.6.3 — 2026-06-28

  • macOS: primeira tentativa de corrigir a barra de menus usando NSProcessInfo.setProcessName_ via pyobjc-framework-Cocoa (substituída pela v1.6.4)

v1.6.2 — 2026-06-28

  • macOS: substituído o script launcher bash por um stub C compilado em install_macos_app.sh para que o macOS associe corretamente o bundle .app ao processo em execução; adicionados setprogname e override de sys.argv[0] como fallbacks

v1.6.1 — 2026-06-25

  • Terminal SSH — corrigido eco remoto: teclas digitadas no terminal SSH embutido eram enviadas ao shell remoto, mas nunca ecoadas de volta (o teclado parecia "morto" após o login). O nmlinux forçava o eco do PTY local desligado, e o ssh propagava esse "sem eco" ao pty remoto via seus modos de terminal (pty-req), então o shell remoto parava de ecoar a entrada. Reproduzido em uma VM Ubuntu 26.04 limpa (OpenSSH recente aplica esses modos fielmente). O terminal agora mantém o PTY em modo normal e deixa o ssh gerenciar o eco, correspondendo a emuladores de terminal reais.

v1.6.0 — 2026-06-24

  • Inventário de Ativos — WinRM Windows (completo): detecção de host via sonda de porta TCP quando o ICMP é bloqueado pelo Windows Firewall; o PowerShell agora usa caminho absoluto completo + EncodedCommand (base64) para impedir que o cmd.exe interprete pipes |; cadeia de fallback completa sem direitos de administrador: OS via ver, CPU via registro, RAM via systeminfo, disco via wmic → fsutil (ciente de localidade EN vírgula / FR espaço) → dir /-C
  • Inventário de Ativos — SSH multi-credenciais: múltiplos conjuntos de credenciais SSH suportados; disco macOS corrigido (/System/Volumes/Data), fallback de CPU Apple Silicon (hw.model), Synology (/volume1), Unraid (/mnt/user)
  • Correções de bugs: erros WinRM agora mostrados na tabela em vez de fallback silencioso; detecção de host WinRM/SNMP não é mais bloqueada pela presença de credenciais SSH; timeout do pywinrm corrigido

v1.5.3 — 2026-06-24

  • macOS .app — detecção de ferramentas Homebrew: sshpass, nmap e snmpget instalados via Homebrew agora são encontrados e chamados usando seu caminho absoluto; bundles .app no macOS não herdam o PATH do Homebrew (/opt/homebrew/bin, /usr/local/bin), então ferramentas previamente instaladas eram silenciosamente ignoradas
  • Caminho de atualização macOS: executar git pull && bash packaging/install_macos_app.sh a partir da raiz do repositório agora é o método de atualização documentado; o script gerencia seu próprio venv (~/.local/share/nmlinux/venv) e não requer pip ou pipx em nível de sistema

v1.5.2 — 2026-06-24

  • Inventário de Ativos — novo módulo (29º); escaneia um intervalo CIDR e coleta OS, CPU, RAM, disco e uptime de cada host via SSH, WinRM, SNMP ou Nmap; suporta múltiplos conjuntos de credenciais por protocolo (tenta cada um em ordem); política de retenção zero: credenciais nunca gravadas em disco, limpas da memória após a varredura; exporta resultados como JSON, CSV ou Markdown; mapa geográfico animado adicionado à seção Geolocalização de IP do Dashboard
  • Correções de coleta SSH: erro de aspas no comando awk de disco corrigido; free -h substituído por free compatível com BusyBox; caminho de código macOS agora usa sw_vers para o nome do OS, fallback hw.model para CPU Apple Silicon, /System/Volumes/Data para o volume de dados do usuário APFS; volumes Synology/Unraid (/volume1, /mnt/user) detectados antes da raiz; padrão de falso sucesso df | tail -1 || … corrigido com guardas test -d; saída de lsb_release sem aspas ao redor; múltiplos conjuntos de credenciais SSH/WinRM suportados (tenta cada um em ordem por host)

v1.5.0 — 2026-06-17

  • Servidor de Transferência de Arquivos — novo módulo para iniciar/parar um servidor TFTP ou HTTP leve diretamente do aplicativo; caso de uso clássico: backup e restauração de configurações de roteadores, switches ou impressoras; um servidor ativo por vez (TFTP ou HTTP), porta e diretório raiz configuráveis, IPs locais exibidos como botões de copiar para a área de transferência; HTTP inclui listagem de diretórios (navegue de qualquer navegador na LAN), GET (download) e POST/PUT (upload); TFTP suporta GET e PUT (bidirecional), porta 69 requer root — o aplicativo mostra um botão "Iniciar como root (pkexec)" em erro de permissão; tabela de log de transferência ao vivo (timestamp, nome do arquivo, IP do cliente, direção ↑/↓, tamanho); proteção de travessia de porta; 8 idiomas de interface; nova dependência: tftpy

v1.4.3 — 2026-06-14

  • Correções TLS Watchlist: certificados autoassinados e não confiáveis agora são corretamente mostrados como "⚠ Certificado inválido / não confiável" (laranja) em vez de verde; captura de exceções SSL ampliada para cobrir todas as subclasses de ssl.SSLError; entradas agora mostram "… (verificando)" enquanto a verificação em segundo plano é executada e "— (inalcançável)" quando o host não pode ser alcançado

v1.4.2 — 2026-06-14

  • TLS Watchlist — lista persistente de hostnames para monitorar expiração de certificados; adicione hosts com + Watch (usa host/porta atuais) ou manualmente no painel; verificação em segundo plano é executada automaticamente 2 segundos após o lançamento; entrada da barra lateral "TLS Inspector" mostra um ponto colorido: vermelho se qualquer certificado estiver expirado, laranja se qualquer certificado expirar em 30 dias; botão de reverificação no painel; lista mostra status por entrada (✓ / ⚠ / EXPIRADO) com codificação por cores

v1.4.1 — 2026-06-14

  • macOS — IP Scanner: corrigida a consulta de endereço MAC, fornecedor e interface no macOS; _arp_entry() agora chama arp -n <ip> no macOS e analisa seu formato de saída (? (IP) at AA:BB:CC on en0) em vez de ler /proc/net/arp (somente Linux); todas as quatro colunas do scanner agora são preenchidas corretamente no macOS
  • Ajuda VNC: adicionada uma nota em todos os 8 idiomas esclarecendo que o Linux não tem servidor VNC por padrão e listando opções comuns para instalar (x11vnc, tigervnc-server, wayvnc)

v1.4.0 — 2026-06-14- macOS — IP Scanner: substituiu o getent (apenas Linux) pelo socket.gethostbyaddr() do Python para resolução reversa de DNS multiplataforma; a pesquisa de hostname agora funciona nativamente no macOS sem qualquer ferramenta extra

  • macOS — SMB Browser: mudou de smbclient (requer samba via Homebrew) para smbutil view (ferramenta integrada do macOS); a listagem de compartilhamentos SMB agora funciona no macOS sem qualquer instalação
  • macOS — NFS Browser: o showmount é integrado no macOS, mas não suporta --no-headers; a flag foi removida no macOS e a linha de cabeçalho é ignorada no parser; a listagem de exportações NFS agora funciona nativamente
  • macOS — RDP: quando o xfreerdp não é encontrado, recorre ao esquema de URL open rdp://; abre o Microsoft Remote Desktop (App Store) se instalado, com host, porta, usuário e domínio pré-preenchidos
  • macOS — VNC: quando o vncviewer não é encontrado, recorre ao esquema de URL open vnc://; abre o Compartilhamento de Tela do macOS (integrado, zero instalação necessária)

v1.3.9 — 2026-06-13

  • Encaminhamento de agente SSH — nova caixa de seleção "Agent forwarding" no formulário de conexão SSH; adiciona -A ao comando ssh; permite saltar entre servidores sem copiar sua chave privada (PC → A → B); requer um agente SSH ativo (SSH_AUTH_SOCK); ajuda contextual atualizada em todos os 8 idiomas

v1.3.8 — 2026-06-13

  • Paleta de Comandos (Ctrl+P) — navegação instantânea por teclado para qualquer um dos 27 módulos; busca difusa por nome e palavras-chave (ex.: "firewall", "tls", "ssh key", "scan"); setas Up/Down + Enter ou clique único para navegar; abre com Ctrl+P de qualquer lugar do aplicativo
  • Gerenciador de Exportação — exporte um snapshot completo da rede (interfaces, rotas, resolvedores DNS) em Arquivo → Exportar Relatório de Rede… em JSON, Markdown, texto simples ou PDF (opcional: pip install reportlab)
  • Botões de exportação por módulo — botões Exportar adicionados às páginas Interfaces, DNS, Firewall, Conexões SSH e Gerenciador de Conexões; cada página exporta seus dados atuais no formato escolhido, com atualização ao vivo da extensão do arquivo quando o filtro de formato muda

v1.3.6 — 2026-06-12

  • Topologia — ícones de dispositivos — cada nó agora exibe um ícone SVG Lucide correspondente ao seu tipo de dispositivo (roteador/wifi, computador/notebook, impressora, NAS/servidor, smartphone, switch de rede, Raspberry Pi) em vez de um círculo genérico; 5 novos ícones SVG incluídos (printer, server, smartphone, cpu, laptop)
  • Topologia — detecção mDNS — o tipo de dispositivo é detectado via avahi-browse (opcional, executa em paralelo com o scan nmap); identifica impressoras (_ipp._tcp, PDL Printer), celulares e TVs Android (_googlecast._tcp, _androidtvremote2._tcp), Macs Apple (modelo am=Mac16,x no TXT do AirPlay), dispositivos NAS (Synology reporta model=Xserve), desktops KDE Connect; recorre ao OUI do fabricante MAC e heurísticas de hostname quando o avahi não está disponível

v1.3.5 — 2026-06-06

  • Compatibilidade com macOS — todos os 9 módulos de rede agora rodam no macOS sem quebrar o comportamento Linux; cada módulo detecta a plataforma na inicialização (_IS_MACOS) e ramifica para comandos nativos do macOS: route -n get default, ifconfig, scutil --dns, networksetup, system_profiler SPAirPortDataType, pfctl, netstat -ib; a elevação de privilégios usa osascript + with administrator privileges em vez de pkexec; a fonte monoespaçada usa Menlo em vez de Monospace
  • Módulos com caminhos duplos Linux/macOS: Dashboard, Interfaces, Wi-Fi, Topologia, Largura de Banda, Firewall (pf.conf + pfctl), Gerenciador de Conexões, Arquivo Hosts, MTR

v1.3.2 — 2026-06-06

  • i18n estendido para 8 idiomas — adicionados Italiano, Português, 日本語 (Japonês) e 中文 (Chinês Simplificado); a UI completa (todos os 27 módulos, ~720 chaves de tradução) agora está disponível em FR / EN / ES / DE / IT / PT / JA / ZH; um prompt de reinicialização aparece após alterar o idioma nas Configurações
  • Ajuda contextual em 8 idiomas — o painel do selo ? (descrição, exemplos de uso e comandos CLI equivalentes) agora cobre todos os 8 idiomas para cada módulo; anteriormente, JA e ZH recorriam ao inglês
  • Correção de bug — as dicas de navegação para SMB/NFS e Arquivo Hosts estavam exibindo em francês independentemente do idioma selecionado; chaves ausentes nav_hint_smb_nfs e nav_hint_hosts adicionadas a todos os 7 blocos de idioma não francês

v1.3.1 — 2026-06-05

  • Gerenciador de Chaves SSH — lista todos os pares de chaves em ~/.ssh/ (arquivo, tipo, bits, comentário, impressão digital SHA256); gera chaves Ed25519 ou RSA 4096 com frase secreta opcional (detecção de incompatibilidade, nome de arquivo automático por tipo); copia chave pública para a área de transferência; implanta em um servidor remoto via ssh-copy-id em um terminal inline com suporte a stdin para prompts de senha; exclui pares de chaves com confirmação; cria automaticamente ~/.ssh/ se ausente; i18n: fr / en / es / de

v1.3.0 — 2026-06-03

  • Inspetor TLS / SSL — inspeciona o certificado de qualquer servidor: CN do assunto, SANs, emissor, datas de validade (codificadas por cor: verde / laranja < 30 dias / vermelho expirado), número de série, protocolo TLS, suíte de cifras e cadeia de certificados (via openssl s_client); funciona para certificados válidos, expirados e autoassinados; mensagens de erro amigáveis para hosts inacessíveis
  • Navegador SMB / NFS — lista compartilhamentos e exportações de qualquer servidor; aba SMB: smbclient -L com credenciais opcionais, mostra nome do compartilhamento / tipo / comentário; aba NFS: showmount -e, mostra caminho de exportação e lista de acesso; detecta ferramentas ausentes com instruções de instalação específicas por distribuição
  • Editor de Arquivo Hosts — visualiza e edita /etc/hosts; tabela com alternância ativar/desativar, adicionar/editar/excluir entradas via diálogo; filtra por IP ou hostname; salva via pkexec cp (diálogo de autenticação polkit)
  • install.sh — novo script para Debian / Ubuntu / Linux Mint: cria um venv em ~/.local/share/nmlinux/venv, instala dependências do sistema via apt, cria lançador e entrada .desktop (corrige o erro PEP 668 externally-managed-environment)

v1.2.9 — 2026-05-30

  • VNC — novo módulo para gerenciar perfis de conexão VNC; grupos/subgrupos como SSH e RDP; inicia vncviewer (TigerVNC); compatível com macOS ARD (autenticação DH30 tratada nativamente pelo vncviewer); senha nunca armazenada; detecta vncviewer ausente com instruções de instalação específicas por distribuição
  • Sobre — Ferramentas e serviços — nova seção listando todas as ferramentas e APIs de terceiros das quais o aplicativo depende
  • i18n da barra lateral — todas as 23 dicas de navegação agora traduzidas para FR/EN/ES/DE (eram codificadas em francês); rótulos corrigidos: Topologia, Conexões, Sub-rede

v1.2.8 — 2026-05-30

  • Área de Trabalho Remota (RDP) — novo módulo para gerenciar perfis de conexão RDP do Windows; grupos/subgrupos como SSH; inicia xfreerdp como processo externo; senha solicitada no momento da conexão, nunca armazenada; campos: host, porta, usuário, domínio, resolução, tela cheia; detecta xfreerdp ausente com instruções de instalação específicas por distribuição (Arch / Debian / Fedora)

v1.2.7 — 2026-05-26

  • Ícones Lucide incluídos — 21 ícones SVG do Lucide (MIT) agora estão incluídos em assets/icons/; renderizados em tempo de execução via QSvgRenderer; coloridos #60a5fa; o aplicativo não requer mais nenhum tema de ícones do sistema (Breeze, Adwaita, Papirus…)

v1.2.6 — 2026-05-24

  • Compatibilidade GNOME / Adwaita — corrigidos ícones em desktops não KDE: main.py agora detecta automaticamente o tema de ícones GTK via gsettings e o aplica ao Qt; cadeias de fallback estendidas para Wi-Fi, Traceroute, Speed Test, Interfaces, Port Scanner, Firewall, MTR; themed_icon() agora valida que um pixmap real existe antes de aceitar um ícone de tema
  • Compatibilidade NixOS / KDE — corrigidos todos os ícones no NixOS: Breeze 6.x fornece apenas ícones SVGZ; o wrapper Nix agora adiciona qt6.qtsvg a QT_PLUGIN_PATH para que o Qt possa renderizar ícones SVG; themed_icon() tenta tamanhos 22/24/16/32/48 (Breeze usa 22 px, não 24); tema forçado para breeze quando o conjunto de ícones incluído no Nix é detectado; também verifica /etc/xdg/kdeglobals para configuração KDE em todo o sistema

v1.2.5 — 2026-05-23

  • MTR — My Traceroute incorporado: executa mtr --report, analisa a saída de texto, exibe uma tabela ao vivo com Perda %, RTT Último/Médio/Melhor/Pior/Jitter por salto, codificada por cor conforme a gravidade da perda; modo contínuo; exportação CSV + TXT
  • Speed Test — teste de velocidade sem dependências via curl + Cloudflare (speed.cloudflare.com): download (25 MB), upload (10 MB), ping para 1.1.1.1; até 5 execuções persistidas em JSON; gráfico de linhas histórico (Download/Upload)
  • Visualizador de Firewall — visualizador de regras somente leitura: analisa /etc/nftables.conf e /etc/iptables/*.rules sem root; regras ao vivo via pkexec nft list ruleset; colunas: Tabela / Cadeia / Regra / Porta / Ação / Comentário; ações codificadas por cor; filtro ao vivo
  • Dicas da barra lateral — cada entrada de navegação agora mostra um selo ? sutil; passar o mouse exibe uma dica descrevendo o que o módulo faz; separador vertical adicionado entre a barra lateral e a área de conteúdo
  • i18n — todos os novos módulos traduzidos em francês, inglês e espanhol

v1.2.0 — 2026-05-22

  • Adaptação de tema — suporte completo de alternância claro/escuro em tempo de execução em todas as páginas; novo core/theme.py com is_dark(), color_ok(), color_err(); widgets de pintura personalizados (_Graph, _MapWidget) leem a paleta no momento da pintura; todas as cores Catppuccin Mocha codificadas substituídas por papéis semânticos da paleta Qt
  • Máscara de sub-rede — as páginas Dashboard, Interfaces e Conexões agora exibem a máscara de sub-rede em decimal pontuado (ex.: 255.255.255.0) derivada do prefixo CIDR
  • Monitor de Largura de Banda — botão explícito Iniciar/Parar substitui o início automático não confiável ao carregar a página
  • Exportar CSV/TXT — as páginas Nmap e Traceroute agora oferecem botões Exportar CSV e Exportar TXT (aparecem após o scan/trace ser concluído)
  • i18n — novas chaves de tradução para todos os recursos acima (fr/en/es/de)

v1.1.1 — 2026-05-16

  • Terminal SSH — reescrita completa com pyte (emulador VT100/xterm) + renderizador QPainter; scrollback de 2000 linhas, cursor piscante, suporte a 256 cores
  • Traceroute Visual — mapa-múndi (Natural Earth 110m), geolocalização ao vivo por salto (ip-api.com), zoom/pan interativo, parser duplo (traceroute / fallback tracepath)
  • Monitor de Largura de Banda — throughput por interface em tempo real, gráfico deslizante de 60s, velocidades ao vivo, totais e picos da sessão
  • Wake on LAN — pacote mágico em Python puro (broadcast UDP), livro de hosts persistente (JSON)
  • IP Scanner — resolução de hostname via getent/avahi/nmblookup; endereço MAC, fabricante (IEEE OUI 39K entradas), colunas de interface; exportação CSV/TXT atualizada
  • i18n — tradução completa fr/en/es/de para todas as novas páginas

v1.0.0 — 2026-05-14

Lançamento público inicial — 13 módulos: Dashboard, Interfaces, Wi-Fi, Calculadora de Sub-rede, DNS Lookup, Monitor de Ping, IP Scanner, Port Scanner, Nmap, Whois, SNMP, SNTP/NTP, SSH.


Recursos


Requisitos

Ferramentas do sistema

Linux — a maioria já está presente em uma instalação padrão:```bash

Arch / EndeavourOS

sudo pacman -S iproute2 networkmanager bind-tools nmap whois net-snmp iputils mtr curl

Debian / Ubuntu

sudo apt install iproute2 network-manager dnsutils nmap whois snmp mtr-tiny curl

Fedora

sudo dnf install iproute NetworkManager bind-utils nmap whois net-snmp-utils mtr curl

root@kitploit:~
**macOS** — instale via [Homebrew](https://brew.sh):```bash
# Required
brew install nmap mtr curl

# Optional — enable additional modules
brew install whois          # WHOIS page
brew install net-snmp       # SNMP page (snmpwalk / snmpget)
brew install samba          # SMB scan with credentials (smbclient)

O macOS inclui ping, dig, traceroute, netstat, ifconfig, smbutil e route nativamente. networksetup e scutil são ferramentas integradas do macOS, sem necessidade de instalação. A consulta de fornecedores OUI no IP Scanner também não requer instalação — o banco de dados manuf do Wireshark é baixado automaticamente em segundo plano no primeiro uso e armazenado em cache localmente.

Ferramentas opcionais

Python

  • Python 3.11+
  • PySide6 6.6+
  • ptyprocess 0.7+
  • pyte 0.8+ (pip install pyte ou sudo pacman -S python-pyte)
  • tftpy 0.8+ (pip install tftpy ou sudo pacman -S python-tftpy) — módulo de Transferência de Arquivos

Instalação

Opção 1 — Arch Linux / Manjaro / EndeavourOS (AUR)```bash

yay -S nmlinux

root@kitploit:~
Todas as dependências (PySide6, ptyprocess, pyte, nmcli, …) são tratadas automaticamente.

### Opção 2 — NixOS / Nix

Execute diretamente com o `flake.nix` incluído — não é necessária instalação em todo o sistema:```bash
git clone https://github.com/thongor77/nmlinux.git
cd nmlinux
nix run .

Or entre num shell de desenvolvimento:```bash nix develop python3 -m nmlinux.main

root@kitploit:~
Todas as dependências Python (PySide6, ptyprocess, pyte, tftpy) e ferramentas de sistema (nmcli, nmap, freerdp, vncviewer, mtr, avahi-browse…) são fornecidas automaticamente por meio do wrapper Nix.

### Opção 4 — AppImage (qualquer distribuição Linux, sem instalação)

Baixe `NMLinux-x.y.z-x86_64.AppImage` da [última versão](https://github.com/thongor77/nmlinux/releases/latest):```bash
chmod +x NMLinux-*.AppImage
./NMLinux-*.AppImage

Nenhuma instalação necessária — Python, Qt e todos os módulos NMLinux estão agrupados em um único arquivo.
Funciona em qualquer Linux x86_64 com glibc 2.17+ (Ubuntu 16.04+, Fedora 26+, Arch, Mint, etc.).

As ferramentas de rede do sistema (nmap, whois, mtr…) não estão agrupadas — instale-as via seu gerenciador de pacotes para que os módulos correspondentes funcionem. Consulte Requisitos abaixo.

Opção 5 — macOS

Forma mais rápida — bootstrap de uma linha. Funciona em um Mac completamente limpo: instala as Xcode Command Line Tools, Homebrew, todas as ferramentas do sistema e, em seguida, o próprio NMLinux. Seguro para reexecutar (atualiza em vez de reinstalar):```bash curl -fsSL https://raw.githubusercontent.com/thongor77/nmlinux/main/packaging/bootstrap_macos.sh -o /tmp/bootstrap_macos.sh && bash /tmp/bootstrap_macos.sh

root@kitploit:~
Instale em todo o sistema (`/Applications`) em vez de `~/Applications`:```bash
curl -fsSL https://raw.githubusercontent.com/thongor77/nmlinux/main/packaging/bootstrap_macos.sh -o /tmp/bootstrap_macos.sh && bash /tmp/bootstrap_macos.sh --system

Sem conta de desenvolvedor Apple ou notarização paga envolvida — é o mesmo install_macos_app.sh de código aberto por baixo dos panos, apenas baixado e executado para você. O script é bash simples e legível; fique à vontade para abrir /tmp/bootstrap_macos.sh e lê-lo antes de executar, ou confira-o diretamente aqui: packaging/bootstrap_macos.sh.

Baixar-e-executar (em vez de canalizar diretamente para bash) é intencional: em um Mac novo, o script aciona etapas interativas aninhadas (instalador das Xcode Command Line Tools, o próprio instalador do Homebrew pedindo sua senha de sudo) que leem do terminal — canalizar o script diretamente para bash pode fazer esses prompts aninhados interferirem no fluxo de entrada do próprio script e interrompê-lo no meio do caminho. Executar a partir de um arquivo baixado evita isso completamente.

Instalação manual — se você preferir executar cada etapa você mesmo, ou já tiver o Homebrew:```bash

1. Install Homebrew system tools (see Requirements above)

brew install nmap mtr curl

2. Clone and install

git clone https://github.com/thongor77/nmlinux.git cd nmlinux bash packaging/install_macos_app.sh

root@kitploit:~
Para atualizar: `git pull && bash packaging/install_macos_app.sh`  
Para desinstalar: `bash packaging/uninstall_macos.sh`  
Para instalar em todo o sistema (`/Applications`): `bash packaging/install_macos_app.sh --system`

O script instala os seguintes pacotes Python no venv automaticamente:
- `PySide6`, `ptyprocess`, `pyte`, `tftpy`
- `pyobjc-framework-Cocoa` — barra de menus do macOS, diálogos nativos
- `pyobjc-framework-CoreWLAN` — varredura de SSID Wi-Fi
- `pyobjc-framework-CoreLocation` — permissão de Serviços de Localização para nomes de Wi-Fi

**Wi-Fi no macOS 26 (Tahoe):** no primeiro lançamento, o macOS solicitará a permissão de Serviços de Localização — conceda-a para exibir os nomes das redes Wi-Fi. A permissão aparece em *Ajustes do Sistema › Privacidade e Segurança › Serviços de Localização*.

> A maioria dos módulos funciona no macOS sem modificação. O RDP usa como fallback `open rdp://` (Microsoft Remote Desktop), o VNC usa como fallback `open vnc://` (Compartilhamento de Tela integrado). O Gerenciador de Conexões tem funcionalidade reduzida no macOS (`nmcli` não está disponível).

### Opção 6 — Debian / Ubuntu / Linux Mint (script de instalação)

> **Nota para usuários de Linux Mint / Ubuntu:** o `pip install` é bloqueado em todo o sistema no Python 3.12+ (PEP 668 — `externally-managed-environment`). Use o script de instalação fornecido — ele cria um ambiente virtual automaticamente e instala uma entrada `.desktop`.```bash
git clone https://github.com/thongor77/nmlinux.git
cd nmlinux
bash install.sh

O script irá:

  • Instalar dependências do sistema via apt (libgl1, python3-venv, freerdp, tigervnc…)
  • Criar um ambiente virtual em ~/.local/share/nmlinux/venv
  • Instalar o NMLinux e suas dependências Python dentro do venv
  • Criar um lançador em ~/.local/bin/nmlinux
  • Adicionar uma entrada .desktop para que o NMLinux apareça no seu menu de aplicativos

Após a instalação, execute nmlinux a partir de um terminal ou inicie-o pelo menu de aplicativos.

Opção 7 — Wheel (todas as distros / macOS)

Baixe o .whl da última versão e instale-o:```bash

Arch / Fedora / macOS — no pip restrictions

pip install nmlinux-1.5.3-py3-none-any.whl

Debian / Ubuntu / Mint — install system libs first, then use pipx

Ubuntu ≤24.04:

sudo apt install libgl1 libglib2.0-0 libdbus-1-3 freerdp2-x11 tigervnc-viewer

Ubuntu 26.04+:

sudo apt install libgl1 libglib2.0-0 libdbus-1-3 freerdp3-x11 tigervnc-viewer

pipx install nmlinux-1.5.3-py3-none-any.whl

root@kitploit:~
> **Nota para Ubuntu 26.04+:** o `pipx` requer que as bibliotecas do sistema (libGL, etc.) sejam instaladas primeiro — os comandos acima cobrem isso. Se a instalação via `pipx install` falhar devido a um erro de build do PySide6, use a **Opção 4** (script de instalação) em vez disso, que lida com tudo automaticamente.

### Opção 8 — A partir do código-fonte (Arch / Fedora / macOS)```bash
git clone https://github.com/thongor77/nmlinux.git
cd nmlinux
pip install PySide6 ptyprocess pyte tftpy
python3 -m nmlinux.main

Opção 9 — Entrada de ambiente de trabalho (KDE / GNOME / etc.)

Copie o ficheiro .desktop para fazer o NMLinux aparecer no seu lançador de aplicações:```bash cp data/nmlinux.desktop ~/.local/share/applications/ update-desktop-database ~/.local/share/applications/

root@kitploit:~
Então edite o caminho `Exec=` no arquivo, se necessário.

---

## Execução```bash
./nmlinux.sh
# or, after pip install:
nmlinux
# or directly:
python3 -m nmlinux.main

Estrutura do projeto```

nmlinux/ core/ i18n.py — Translation system (8 languages: fr/en/es/de/it/pt/ja/zh), tr(key) function icons.py — themed_icon(): 21 bundled Lucide SVG icons via QSvgRenderer theme.py — is_dark(), color_ok(), color_err(): runtime light/dark helpers settings.py — AppSettings dataclass, JSON persistence ssh.py — SshConnection dataclass, SshStore rdp.py — RdpConnection dataclass, RdpStore, find_xfreerdp() vnc.py — VncConnection dataclass, VncStore, find_vncviewer() terminal.py — SshWorker (QThread) + PTY via ptyprocess, emits raw bytes tls_watchlist.py — TlsWatchlist: background cert expiry checker, JSON persistence http_server.py — ThreadedHTTPServer: directory listing, GET/PUT/POST, port binding tftp_helper.py — TftpServerThread: tftpy wrapper, configurable port and root help_content.py — Module contextual help strings (all 8 languages) cli_bar.py — CliBar singleton: pedagogical CLI equivalent bar export_dialog.py — open_export_dialog(): QFileDialog with live extension update command_palette.py — CommandPalette (Ctrl+P): fuzzy search across 29 modules export_manager.py — collect_snapshot(), to_json/text/markdown/pdf, save_export() pages/ about.py — About page (credits, tools & services) bandwidth.py — Bandwidth Monitor: per-interface 60s graph, live stats connection_manager.py — Connection Manager: nmcli profiles, connect/disconnect/edit dashboard.py — Dashboard dns.py — DNS Lookup file_transfer.py — File Transfer: TFTP + HTTP server, live log, pkexec for port 69 firewall.py — Firewall Viewer: nftables + iptables parser, live via pkexec help_page.py — Contextual help overlay hosts.py — Hosts File: view/edit /etc/hosts, toggle entries, save via pkexec interfaces.py — Network Interfaces ip_scanner.py — IP Scanner mtr.py — MTR: mtr --report parser, live hop stats table, export nmap_scan.py — Nmap ping.py — Ping Monitor port_scanner.py — Port Scanner rdp.py — Remote Desktop: RDP profiles, launches xfreerdp settings.py — Settings page smb_nfs.py — SMB/NFS Browser: smbclient + showmount snmp.py — SNMP sntp.py — SNTP / NTP speedtest.py — Speed Test: curl + Cloudflare, history graph ssh.py — SSH page (connection manager + terminal) ssh_keys.py — SSH Key Manager: list/generate/deploy/delete key pairs subnet.py — Subnet Calculator terminal_view.py — TerminalView: pyte VT100 emulator + QPainter renderer tls.py — TLS Inspector + TLS Watchlist: cert details, background expiry monitor topology.py — Topology Map: nmap -sn, interactive graph, zoom/pan traceroute.py — Visual Traceroute: world map, geolocation, zoom/pan vnc.py — VNC: connection profiles, launches vncviewer whois.py — Whois wifi.py — Wi-Fi wol.py — Wake on LAN: magic packet, persistent host book assets/ icons/ — 21 bundled Lucide SVG icons (#60a5fa) world.geojson — Natural Earth 110m countries (map background) window.py — MainWindow (sidebar + QStackedWidget) main.py — Entry point

root@kitploit:~
---

## Compatibilidade com ambientes de desktop

Desde a v1.2.7, o NMLinux usa 21 ícones SVG do [Lucide](https://lucide.dev) incluídos no pacote, renderizados em tempo de execução via `QSvgRenderer`. O aplicativo não depende mais de nenhum tema de ícones do sistema (Breeze, Adwaita, Papirus…) e é exibido corretamente no KDE, GNOME, XFCE e outros. O estilo Qt se adapta automaticamente ao desktop em execução.

---

## Limitações

### Linux
Suporte completo — todos os 29 módulos disponíveis.

### macOS
A maioria dos módulos funciona de imediato, pois depende de ferramentas disponíveis em ambas as plataformas (`ssh`, `dig`, `ping`, `curl`, `nmap`, `openssl`…).

**9 módulos exigiram adaptação explícita para macOS** (caminhos de código duplos que detectam a plataforma na inicialização): Dashboard, Interfaces, Wi-Fi, Topologia, Largura de banda, Firewall, Gerenciador de conexões, Arquivo de hosts, MTR — estes usam comandos nativos do macOS (`ifconfig`, `networksetup`, `scutil`, `pfctl`, `system_profiler`…) em vez de seus equivalentes no Linux.

**Módulos com suporte limitado ou inexistente no macOS:**

| Módulo | Status | Observações |
|--------|--------|-------|
| **RDP** | ✓ macOS | Recorre a `open rdp://` → Microsoft Remote Desktop (App Store) |
| **VNC** | ✓ macOS | Recorre a `open vnc://` → Compartilhamento de tela (integrado, zero instalação) |
| **IP Scanner** | ✓ macOS | Usa `socket.gethostbyaddr()` — Python nativo, sem ferramenta extra |
| **SMB** | ✓ macOS | Usa `smbutil view` (integrado) em vez de `smbclient` |
| **NFS** | ✓ macOS | `showmount` integrado; análise de cabeçalho adaptada |
| **Gerenciador de conexões** | ⚠ Reduzido | Editar/excluir exige `nmcli` (somente Linux); a visualização de lista funciona |

### Geral
- Sem integração com root/polkit — ferramentas que exigem privilégios elevados (alguns modos do Nmap, sockets brutos) devem ser executadas com `sudo`; no macOS, a elevação de privilégios usa `osascript` + `administrator privileges`
- O encaminhamento do agente SSH exige um agente SSH ativo (`SSH_AUTH_SOCK`); no macOS, isso é tratado automaticamente pelo sistema, sem necessidade de configuração manual

---

## Créditos e agradecimentos

- **[Anthropic](https://www.anthropic.com)** — Claude Code, o assistente de IA usado para construir este projeto
- O autor, pela visão, testes e direção

---

## Apoie o projeto

Se o NMLinux é útil para você, considere apoiar seu desenvolvimento:

- **PayPal** — [Doe via PayPal](https://www.paypal.com/donate/?business=JFQGY7NU3ANCN&no_recurring=0&item_name=Every+donation%2C+no+matter+how+small%2C+helps+me+keep+this+project+alive.+Thank+you%21%0A&currency_code=EUR)
- **Bitcoin** — `bc1qspe0tky7552qas72wgn8w9dswr0dxlv24w39t6ztjqk3nz6kc5tqv753a4`

---

## Licença

GPL-2.0 — consulte [LICENSE](https://github.com/thongor77/nmlinux/blob/main/LICENSE).

Este projeto é uma reimplementação independente. Nenhum código do NETworkManager foi usado ou traduzido.
Baixar ferramenta
flatpak-spawn --host
TIOCSCTTY
EPERM
script
  • Dashboard — gráfico de ping do gateway: sparkline de latência ao vivo atualizado a cada 2 segundos; codificado por cores (<20 ms verde / 20–100 ms laranja / >100 ms vermelho / timeout vermelho)
  • Dashboard — resumo TLS Watchlist: cartão de status no Dashboard reflete automaticamente o estado do TLS Watchlist (OK / expirando / alerta) sem reconsultar
  • Dashboard — redimensionamento do mapa geográfico: o mapa-múndi agora se expande horizontalmente quando a janela é redimensionada
  • Topologia — painel de detalhes mostra a classe de dispositivo detectada (Impressora, Smartphone, NAS…) em vez do rótulo genérico "Host"; i18n em todos os 8 idiomas
  • Traceroute — zoom automático — o mapa-múndi amplia e centraliza automaticamente na caixa delimitadora dos saltos geolocalizados ao final de cada rota; desativa quando o usuário faz pan ou zoom manualmente; restaura no próximo traceroute; clique com o botão direito redefine para a visão mundial completa
  • Módulos inalterados (ferramentas idênticas em ambas as plataformas): DNS, Nmap Scan, SNMP, Whois
  • MóduloDescrição
    DashboardInformações da máquina local, gateway, IP público, geolocalização, resolvedores DNS
    Gerenciador de ConexõesPerfis NetworkManager via nmcli: listar, filtrar, conectar/desconectar/editar/excluir
    InterfacesTabela de interfaces de rede com detalhes por interface (ip + nmcli)
    Wi-FiRedes disponíveis, barras de sinal, segurança, rede conectada destacada
    Calculadora de Sub-redeFaixa de rede/broadcast/hosts a partir de CIDR, tabela de hosts até 4096 entradas
    DNS LookupConsulta baseada em dig para A, AAAA, MX, TXT, NS, CNAME, PTR, SOA, ANY
    Monitor de PingPing contínuo para múltiplos hosts, estatísticas de RTT, % de perda de pacotes
    IP ScannerScan de ping CIDR/faixa, 50 threads, hostname (DNS/mDNS/NetBIOS), endereço MAC, fabricante (OUI), interface, exportação CSV + TXT
    Port ScannerScan de conexão TCP, 200 threads, predefinições de serviços, exportação CSV + TXT
    Nmap7 modos de scan, análise de saída XML, tabela Host/Porta/Protocolo/Estado/Serviço, exportação CSV + TXT
    WhoisSaída whois bruta em monoespaçada
    SNMPsnmpwalk/snmpget, v1/v2c, 10 predefinições de OID, tabela de resultados
    SNTP / NTPCliente UDP RFC 4330 em Python puro, offset/delay/stratum/referência
    SSHTerminal PTY incorporado (pyte/VT100), conexões salvas (JSON), autenticação por chave, scrollback
    Área de Trabalho RemotaPerfis de conexão RDP (grupos/subgrupos); inicia xfreerdp; senha nunca armazenada
    VNCPerfis de conexão VNC (grupos/subgrupos); inicia vncviewer (TigerVNC); compatível com macOS ARD; senha nunca armazenada
    Gerenciador de Chaves SSHLista pares de chaves em ~/.ssh/ (tipo, bits, impressão digital); gera Ed25519/RSA 4096; copia chave pública; implanta no servidor via ssh-copy-id; exclui pares com confirmação
    Inspetor TLSDetalhes do certificado: CN, SANs, emissor, validade + contagem regressiva de expiração, serial, protocolo, cifra, cadeia; Watchlist com monitor de expiração em segundo plano e ponto de cor na barra lateral
    SMB / NFSLista compartilhamentos SMB (smbclient) e exportações NFS (showmount) de qualquer servidor ou NAS; credenciais opcionais para SMB
    Arquivo HostsVisualizar/editar /etc/hosts: adicionar, excluir, alternar entradas; filtrar; salvar via pkexec
    Traceroute VisualRota salto a salto em um mapa-múndi, geolocalização ao vivo (ip-api.com), zoom e pan, exportação CSV + TXT
    MTRMy Traceroute incorporado: perda %, RTT Último/Médio/Melhor/Pior/Jitter por salto, codificado por cor, exportação CSV + TXT
    Visualizador de FirewallConjunto de regras nftables + iptables/ip6tables somente leitura (sem root); ao vivo via pkexec; filtrar por tabela/cadeia/ação
    Speed TestDownload/upload/ping via Cloudflare; nenhuma ferramenta externa além de curl; gráfico de histórico (últimas 5 execuções)
    Largura de BandaThroughput por interface em tempo real: gráfico deslizante de 60s, velocidades ao vivo, totais da sessão, pico
    Wake on LANPacote mágico em Python puro (broadcast UDP), livro de hosts persistente, nenhuma ferramenta externa necessária
    Mapa de TopologiaDescobre automaticamente dispositivos LAN via nmap -sn; gráfico interativo com nós arrastáveis, zoom/pan, painel de detalhes
    ConfiguraçõesSeleção de idioma (FR / EN / ES / DE / IT / PT / JA / ZH), persistida; reinicialização necessária após alteração
    Paleta de ComandosSobreposição Ctrl+P: busca difusa em todos os 29 módulos por nome ou palavra-chave
    Transferência de ArquivosServidor TFTP ou HTTP sob demanda; porta e diretório raiz configuráveis; IPs locais como botões de cópia; tabela de log ao vivo (nome do arquivo, IP do cliente, direção ↑/↓, tamanho); listagem de diretório HTTP + GET/POST/PUT; TFTP GET + PUT; porta 69 solicita pkexec
    ExportarArquivo → Exportar Relatório de Rede (JSON/Markdown/Texto/PDF); exportação por módulo em Interfaces, DNS, Firewall, SSH, Conexões
    FerramentaRecursoLinuxmacOS
    xfreerdp / xfreerdp3Área de Trabalho Remota (RDP)Arch: freerdp · Ubuntu ≤24.04: freerdp2-x11 · Ubuntu 26.04+: freerdp3-x11opcional — usa como fallback o Microsoft Remote Desktop (open rdp://)
    vncviewerVNCArch: tigervnc · Debian: tigervnc-vieweropcional — usa como fallback o Compartilhamento de Tela do macOS (open vnc://, integrado)
    nm-connection-editorEditar conexões no Gerenciador de ConexõesArch: nm-connection-editor— (abre as Preferências do Sistema)
    tracerouteAlternativa ao Traceroute (tracepath usado por padrão)Arch: tracerouteintegrado
    mount.cifs (cifs-utils)Montar compartilhamentos SMB pelo menu de contextoArch/Debian: cifs-utilsintegrado (mount_smbfs)
    iperf3Teste de Velocidade — aba LANArch: iperf3 · Debian/Ubuntu: iperf3brew install iperf3