awg-admin: Por que Criei Meu Gerenciador para Servidores Amnezia(WG)
Um arquiteto de soluções compartilha os motivos por trás da criação do awg-admin, uma aplicação desktop para gerenciar múltiplos servidores WireGuard/AmneziaWG com foco em simplicidade e mínimo de software nos servidores.
MundiX News·04 de julho de 2026·5 min de leitura·👁 1 views
Recentemente, um amigo me pediu ajuda para configurar uma VPN. Parecia uma tarefa comum, mas ao verificar o que ele já tinha implementado, fiquei surpreso. Para gerenciar quatro clientes, ele utilizava um serviço web completo em PHP com MySQL, exigindo um VPS dedicado, pois o plano mínimo com um núcleo e 1GB de RAM já não era suficiente, levando as aplicações a utilizarem swap.
A resposta para o porquê dessa escolha foi surpreendentemente simples: "Eu preciso de monitoramento." Para atender a essa necessidade, foi necessário implantar um portal inteiro com sua própria infraestrutura. Naquela época, eu já gerenciava alguns VPS com AmneziaWG manualmente via console, e as poucas intervenções não eram um problema. No entanto, circunstâncias recentes me forçaram a dedicar mais tempo aos servidores. A experiência do meu amigo me motivou a pesquisar as ferramentas existentes e a possibilidade de evitar infraestruturas complexas.
Após analisar as soluções populares, decidi criar o awg-admin: uma aplicação desktop que gerencia múltiplos servidores WireGuard/AmneziaWG com o mínimo de software nos próprios VPS. Neste artigo, detalharei os problemas que me levaram a desenvolver minha própria ferramenta e como ela se diferencia das soluções prontas.
O Que as Soluções Existentes Oferecem
A maioria dos projetos se enquadra em três categorias:
Painéis Web Clássicos: Como wg-easy, WGDashboard e wg-portal. Eles permitem adicionar clientes, visualizar estatísticas de handshake e tráfego, e gerar QR codes. Alguns suportam Prometheus, autenticação e exportação de configurações. São ferramentas maduras, mas sua arquitetura exige um serviço adicional rodando junto ao túnel VPN: uma interface web, um banco de dados (mesmo que SQLite) ou um contêiner. Mesmo o SQLite consome recursos, e a presença de um SGBD no gateway VPN não me agradava.
Plataformas de Rede: Incluem Firezone, NetBird, Tailscale e Headscale. Oferecem redes overlay com coordenadores, políticas de acesso e bypass automático de NAT. São poderosas, mas excessivas para uso pessoal, com requisitos de infraestrutura mais altos e gerenciamento centralizado.
Soluções Desktop/Leves: Como AmneziaVPN e JWG.
AmneziaVPN utiliza uma aplicação desktop que configura e controla o servidor VPN via SSH, sem necessidade de SGBD no VPS. Era o mais próximo do que eu desejava.
JWG é uma ferramenta CLI compacta (um único binário) que roda diretamente no VPS, simples e funcional.
No entanto, ao gerenciar três ou cinco servidores, abrir múltiplos painéis Amnezia ou terminais SSH com JWG se torna inconveniente. Eu buscava uma interface unificada para todos os nós e algumas funcionalidades adicionais que não encontrei em nenhum desses projetos.
O Que Faltava no Meu Cenário Específico
Quase todos os painéis modernos exibem handshake, tráfego, status de clientes e QR codes. O problema não era a falta de monitoramento, mas sim outros aspectos. Compilei uma lista do que eu realmente precisava:
Gerenciamento de Múltiplos Servidores em uma Única Interface: Visualizar todos os VPS como um parque unificado, adicionando peers, verificando o status e alternando entre nós, em vez de ter um painel por VPS.
Mínimo de Software no Servidor: Se um VPS é um gateway VPN, ele deve permanecer assim, sem servidores web, SGBDs ou demônios adicionais. Menos componentes significam planos mais baratos e manutenção simplificada.
Monitoramento Sem Infraestrutura Rodando Constantemente: Visualizar gráficos de carga de CPU, memória e atividade de clientes apenas quando o aplicativo está aberto. Armazenar métricas 24/7 no servidor não era essencial.
Aplicação Desktop em Vez de Portal Web: Uma ferramenta para um único administrador. Abrir, realizar a tarefa e fechar. Mais conveniente do que fazer login no navegador a cada vez.
Criação Rápida de Túneis entre Servidores: Sem a necessidade de editar configurações manualmente.
Não encontrei uma solução pronta com essa combinação. AmneziaVPN e JWG funcionam bem para um único servidor, mas não oferecem extensões para multi-servidor. Foi então que decidi criar minha própria ferramenta.
Arquitetura: Por Que Desktop e a Ligação com Zabbix
Eu precisava de uma ferramenta para uso pessoal: um administrador, múltiplos VPS, e sem o desejo de levantar um serviço web com SGBD apenas para gerenciar VPN. A experiência com Zabbix me deu a ideia. O agente Zabbix, em modo ativo, armazena métricas localmente se o servidor estiver indisponível e envia os dados acumulados quando a conexão é restaurada. Pensei: e se o próprio agente se tornasse o armazenamento permanente?
Para o meu cenário, a perda de algumas horas de histórico não é crítica. Um agente em cada VPS pode coletar estatísticas (carga, handshake, tráfego) e salvá-las em um arquivo JSON comum. Sem banco de dados, apenas rotação por tempo. Ao abrir o aplicativo, ele solicita esse JSON via SSH (ou mTLS) e constrói os gráficos. Armazeno as últimas 48 horas, o que é suficiente.
Toda a lógica de gerenciamento reside no meu notebook. O aplicativo se conecta ao servidor, envia a configuração via API REST do agente, que aplica as alterações e retorna o estado atual. O acesso à API pode ser feito via túnel SSH para localhost ou diretamente via conexão mTLS segura.
Assim, nos VPS, rodam apenas WireGuard/AmneziaWG e um agente leve. Sem interfaces web, SGBDs ou portas extras. O servidor VPN cuida apenas de VPN.
O Que Foi Criado no Final
O awg-admin é uma aplicação desktop desenvolvida em Go e Wails, que gerencia múltiplos servidores WireGuard e AmneziaWG a partir de uma única janela. Suas principais funcionalidades incluem:
Interface Unificada: Todos os servidores são visíveis em uma única lista com métricas chave (CPU, RAM, peers ativos, último handshake).
Gerenciamento de Clientes: Adição, desativação, geração de configurações e QR codes.
Monitoramento com Armazenamento Local: O aplicativo solicita aos agentes um JSON com o histórico das últimas 48 horas e constrói gráficos de carga e tráfego, sem um banco de dados central de métricas.
Túneis entre Servidores: Com alguns cliques, dois nós são conectados em túnel site-to-site com configuração automática de rotas.
Agente Leve no VPS: Coleta de estatísticas e aplicação de configuração. A instalação é feita com um único comando.
Operação via SSH e REST API: Tarefas administrativas (instalação, atualização) são realizadas via SSH. O gerenciamento de VPN e a obtenção de métricas ocorrem via API REST do agente, seja por túnel SSH para localhost ou diretamente via conexão mTLS segura.
O aplicativo armazena uma base de dados local (lista de servidores, usuários, configurações) e funciona em Windows, macOS e Linux.
Em Vez de Conclusão
Meu objetivo não foi criar "mais um painel de controle WireGuard", mas sim combinar abordagens de outras soluções e remover o que pessoalmente me incomodava. O resultado é o awg-admin: uma ferramenta especializada que resolve minhas necessidades. Se você também gerencia múltiplos servidores VPN pessoais e está cansado de portais web, talvez ele possa ser útil para você também. O código é aberto e o link para o repositório é: https://github.com/ks-tool/awg-admin. Agradeço feedback e ideias.
🛡️⚡
Pare de pesquisar. Comece a hackear.
O MundiX é seu copiloto de pentest com IA: comandos exatos, análise de outputs e próximo passo na kill chain — em segundos.
Sem cartão para começar · Planos a partir de R$49/mês
Recentemente, um amigo me pediu ajuda para configurar uma VPN. Parecia uma tarefa comum, mas ao verificar o que ele já tinha implementado, fiquei surpreso. Para gerenciar quatro clientes, ele utilizava um serviço web completo em PHP com MySQL, exigindo um VPS dedicado, pois o plano mínimo com um núcleo e 1GB de RAM já não era suficiente, levando as aplicações a utilizarem swap.
A resposta para o porquê dessa escolha foi surpreendentemente simples: "Eu preciso de monitoramento." Para atender a essa necessidade, foi necessário implantar um portal inteiro com sua própria infraestrutura. Naquela época, eu já gerenciava alguns VPS com AmneziaWG manualmente via console, e as poucas intervenções não eram um problema. No entanto, circunstâncias recentes me forçaram a dedicar mais tempo aos servidores. A experiência do meu amigo me motivou a pesquisar as ferramentas existentes e a possibilidade de evitar infraestruturas complexas.
Após analisar as soluções populares, decidi criar o awg-admin: uma aplicação desktop que gerencia múltiplos servidores WireGuard/AmneziaWG com o mínimo de software nos próprios VPS. Neste artigo, detalharei os problemas que me levaram a desenvolver minha própria ferramenta e como ela se diferencia das soluções prontas.
O Que as Soluções Existentes Oferecem
A maioria dos projetos se enquadra em três categorias:
Painéis Web Clássicos: Como wg-easy, WGDashboard e wg-portal. Eles permitem adicionar clientes, visualizar estatísticas de handshake e tráfego, e gerar QR codes. Alguns suportam Prometheus, autenticação e exportação de configurações. São ferramentas maduras, mas sua arquitetura exige um serviço adicional rodando junto ao túnel VPN: uma interface web, um banco de dados (mesmo que SQLite) ou um contêiner. Mesmo o SQLite consome recursos, e a presença de um SGBD no gateway VPN não me agradava.
Plataformas de Rede: Incluem Firezone, NetBird, Tailscale e Headscale. Oferecem redes overlay com coordenadores, políticas de acesso e bypass automático de NAT. São poderosas, mas excessivas para uso pessoal, com requisitos de infraestrutura mais altos e gerenciamento centralizado.
Soluções Desktop/Leves: Como AmneziaVPN e JWG.
AmneziaVPN utiliza uma aplicação desktop que configura e controla o servidor VPN via SSH, sem necessidade de SGBD no VPS. Era o mais próximo do que eu desejava.
JWG é uma ferramenta CLI compacta (um único binário) que roda diretamente no VPS, simples e funcional.
No entanto, ao gerenciar três ou cinco servidores, abrir múltiplos painéis Amnezia ou terminais SSH com JWG se torna inconveniente. Eu buscava uma interface unificada para todos os nós e algumas funcionalidades adicionais que não encontrei em nenhum desses projetos.
O Que Faltava no Meu Cenário Específico
Quase todos os painéis modernos exibem handshake, tráfego, status de clientes e QR codes. O problema não era a falta de monitoramento, mas sim outros aspectos. Compilei uma lista do que eu realmente precisava:
Gerenciamento de Múltiplos Servidores em uma Única Interface: Visualizar todos os VPS como um parque unificado, adicionando peers, verificando o status e alternando entre nós, em vez de ter um painel por VPS.
Mínimo de Software no Servidor: Se um VPS é um gateway VPN, ele deve permanecer assim, sem servidores web, SGBDs ou demônios adicionais. Menos componentes significam planos mais baratos e manutenção simplificada.
Monitoramento Sem Infraestrutura Rodando Constantemente: Visualizar gráficos de carga de CPU, memória e atividade de clientes apenas quando o aplicativo está aberto. Armazenar métricas 24/7 no servidor não era essencial.
Aplicação Desktop em Vez de Portal Web: Uma ferramenta para um único administrador. Abrir, realizar a tarefa e fechar. Mais conveniente do que fazer login no navegador a cada vez.
Criação Rápida de Túneis entre Servidores: Sem a necessidade de editar configurações manualmente.
Não encontrei uma solução pronta com essa combinação. AmneziaVPN e JWG funcionam bem para um único servidor, mas não oferecem extensões para multi-servidor. Foi então que decidi criar minha própria ferramenta.
Arquitetura: Por Que Desktop e a Ligação com Zabbix
Eu precisava de uma ferramenta para uso pessoal: um administrador, múltiplos VPS, e sem o desejo de levantar um serviço web com SGBD apenas para gerenciar VPN. A experiência com Zabbix me deu a ideia. O agente Zabbix, em modo ativo, armazena métricas localmente se o servidor estiver indisponível e envia os dados acumulados quando a conexão é restaurada. Pensei: e se o próprio agente se tornasse o armazenamento permanente?
Para o meu cenário, a perda de algumas horas de histórico não é crítica. Um agente em cada VPS pode coletar estatísticas (carga, handshake, tráfego) e salvá-las em um arquivo JSON comum. Sem banco de dados, apenas rotação por tempo. Ao abrir o aplicativo, ele solicita esse JSON via SSH (ou mTLS) e constrói os gráficos. Armazeno as últimas 48 horas, o que é suficiente.
Toda a lógica de gerenciamento reside no meu notebook. O aplicativo se conecta ao servidor, envia a configuração via API REST do agente, que aplica as alterações e retorna o estado atual. O acesso à API pode ser feito via túnel SSH para localhost ou diretamente via conexão mTLS segura.
Assim, nos VPS, rodam apenas WireGuard/AmneziaWG e um agente leve. Sem interfaces web, SGBDs ou portas extras. O servidor VPN cuida apenas de VPN.
O Que Foi Criado no Final
O awg-admin é uma aplicação desktop desenvolvida em Go e Wails, que gerencia múltiplos servidores WireGuard e AmneziaWG a partir de uma única janela. Suas principais funcionalidades incluem:
Interface Unificada: Todos os servidores são visíveis em uma única lista com métricas chave (CPU, RAM, peers ativos, último handshake).
Gerenciamento de Clientes: Adição, desativação, geração de configurações e QR codes.
Monitoramento com Armazenamento Local: O aplicativo solicita aos agentes um JSON com o histórico das últimas 48 horas e constrói gráficos de carga e tráfego, sem um banco de dados central de métricas.
Túneis entre Servidores: Com alguns cliques, dois nós são conectados em túnel site-to-site com configuração automática de rotas.
Agente Leve no VPS: Coleta de estatísticas e aplicação de configuração. A instalação é feita com um único comando.
Operação via SSH e REST API: Tarefas administrativas (instalação, atualização) são realizadas via SSH. O gerenciamento de VPN e a obtenção de métricas ocorrem via API REST do agente, seja por túnel SSH para localhost ou diretamente via conexão mTLS segura.
O aplicativo armazena uma base de dados local (lista de servidores, usuários, configurações) e funciona em Windows, macOS e Linux.
Em Vez de Conclusão
Meu objetivo não foi criar "mais um painel de controle WireGuard", mas sim combinar abordagens de outras soluções e remover o que pessoalmente me incomodava. O resultado é o awg-admin: uma ferramenta especializada que resolve minhas necessidades. Se você também gerencia múltiplos servidores VPN pessoais e está cansado de portais web, talvez ele possa ser útil para você também. O código é aberto e o link para o repositório é: https://github.com/ks-tool/awg-admin. Agradeço feedback e ideias.
📤 Compartilhar & Baixar
🧰 Ferramentas recomendadas
Divulgação: alguns links são patrocinados. Podemos receber comissão se você comprar — sem custo extra para você. Só indicamos o que faz sentido para a comunidade.