🌍 Leia em outros idiomas:

Se encontrar algum problema na tradução ou quiser solicitar um novo idioma, por favor abra uma issue.

wireguard_webadmin

wireguard_webadmin é uma interface web completa e fácil de configurar para gerenciar instâncias WireGuard VPN. Projetada para simplificar a administração de redes WireGuard, ela oferece uma interface amigável que suporta múltiplos usuários com diferentes níveis de acesso, várias instâncias WireGuard com gerenciamento individual de peers e suporte a cryptokey routing para interconexões sitetosite.

Funcionalidades

  • Histórico de Transferência de Cada Peer: Acompanhe individualmente os volumes de download e upload de cada peer.
  • Gerenciamento Avançado de Firewall: Experimente um gerenciamento de firewall de VPN abrangente e sem complicações, projetado para ser simples e eficaz.
  • Redirecionamento de Portas: Redirecione portas TCP ou UDP para peers ou redes além desses peers com facilidade!
  • Servidor DNS: Suporte a hosts personalizados e listas de bloqueio DNS para maior segurança e privacidade.
  • Suporte Multiusuário: Gerencie o acesso com diferentes níveis de permissão para cada usuário.
  • Múltiplas Instâncias WireGuard: Permite o gerenciamento separado de peers em várias instâncias.
  • CryptoKey Routing: Simplifica a configuração de interconexões sitetosite.
  • Compartilhamento de Convites VPN Sem Atrito: Gere e distribua instantaneamente convites VPN seguros e com tempo de validade via email ou WhatsApp, contendo QR code e arquivo de configuração.

Este projeto tem como objetivo oferecer uma solução intuitiva e fácil de usar para gerenciamento de VPN WireGuard sem comprometer o poder e a flexibilidade que o WireGuard oferece.

Licença

Este projeto é licenciado sob a licença MIT consulte o arquivo LICENSE para detalhes.

Capturas de Tela

Lista de Peers

Exibe uma lista abrangente de peers, incluindo seu status e outros detalhes, permitindo monitorar e gerenciar facilmente as conexões VPN do WireGuard. Lista de Peers do WireGuard

Detalhes do Peer

Mostra informações essenciais do peer, métricas detalhadas e um histórico completo de volume de tráfego. Inclui também um QR code para configuração fácil. Detalhes do Peer

Convite VPN

Gera convites VPN seguros e com tempo de validade para compartilhamento de configurações via email ou WhatsApp, com QR code e arquivo de configuração. Convite VPN

Filtragem DNS Avançada

Bloqueie conteúdo indesejado com listas de filtragem DNS integradas. Categorias predefinidas como pornografia, jogos de azar, fake news, adware e malware estão incluídas, com a possibilidade de adicionar categorias personalizadas para uma experiência de segurança sob medida. Servidor DNS

Gerenciamento de Firewall

Oferece uma interface abrangente para gerenciar regras de firewall da VPN, permitindo criar, editar e excluir regras com sintaxe estilo iptables. Este recurso garante controle preciso do tráfego de rede, ampliando a segurança e a conectividade das instâncias WireGuard. Lista de Regras de Firewall Gerenciador de Regras de Firewall

Configurações da Instância WireGuard

Um hub central para gerenciar configurações de uma ou várias instâncias WireGuard, possibilitando ajustes de configuração de forma simples. Configuração do Servidor WireGuard

Console

Acesso rápido a ferramentas comuns de depuração, facilitando o diagnóstico e a resolução de possíveis problemas no ambiente VPN WireGuard. Console

Gerenciador de Usuários

Suporta ambientes multiusuário permitindo atribuir níveis de permissão variados, desde acesso restrito até direitos administrativos completos, garantindo controle de acesso seguro e personalizado. Gerenciador de Usuários


Instruções de Implantação

Siga estes passos para implantar o WireGuard WebAdmin:

  1. Prepare o Ambiente:

    Primeiro, crie um diretório para o projeto WireGuard WebAdmin e navegue até ele. Este será o diretório de trabalho para a implantação.

    mkdir wireguard_webadmin && cd wireguard_webadmin
    
  2. Obtenha o Arquivo Docker Compose:

    Dependendo do seu cenário de implantação, escolha um dos comandos a seguir para baixar o arquivo docker-compose.yml apropriado diretamente no seu diretório de trabalho. Esse método garante que você está usando a versão mais recente da configuração de implantação.

    Com NGINX (Recomendado)

    Para uma implantação pronta para produção com NGINX como reverse proxy (recomendado para a maioria dos usuários), use:

    wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose.yml
    

    Este modo é recomendado para executar a interface web de administração. O deployment do contêiner gerará automaticamente um certificado autoassinado para você. Se desejar atualizar seus certificados, basta acessar o volume certificates e substituir nginx.pem e nginx.key pelos seus próprios certificados.

    Sem NGINX (Somente para Debug e Testes)

    Para um ambiente de depuração sem NGINX, adequado apenas para testes (não recomendado em produção), use:

    wget -O docker-compose.yml https://raw.githubusercontent.com/eduardogsilva/wireguard_webadmin/main/docker-compose-no-nginx.yml
    
  3. Crie o Arquivo .env:

    Crie um arquivo .env no mesmo diretório do seu docker-compose.yml com o conteúdo abaixo, ajustando my_server_address para o DNS ou endereço IP do seu servidor. Este passo é crucial para garantir o funcionamento correto da aplicação.

    # Configure SERVER_ADDRESS para coincidir com o endereço do servidor. Se não tiver um nome DNS, você pode usar o IP.
    # Um SERVER_ADDRESS configurado incorretamente causará erros de CSRF na aplicação.
    SERVER_ADDRESS=my_server_address
    DEBUG_MODE=False
    

    Substitua my_server_address pelo endereço real do seu servidor.

  4. Execute o Docker Compose:

    Com NGINX (Recomendado)

    docker compose up -d
    

    Acesse a interface web em https://seuservidor.exemplo.com. Se estiver usando um certificado autoassinado, será necessário aceitar a exceção de certificado apresentada pelo navegador.

    Sem NGINX (Somente para Debug e Testes)

    Caso tenha optado pela configuração sem NGINX, simplesmente execute o arquivo docker-compose-no-nginx.yml obtido anteriormente:

    docker compose -f docker-compose-no-nginx.yml up -d
    

    Acesse a interface web em http://127.0.0.1:8000.

Após concluir esses passos, o WireGuard WebAdmin deverá estar em execução. Inicie a configuração acessando a interface web do seu servidor.


Instruções de Upgrade

Manter sua instalação do WireGuard WebAdmin atualizada garante acesso aos recursos mais recentes, melhorias de segurança e correções de bugs. Siga estas instruções para um upgrade tranquilo:

Preparação para o Upgrade:

  1. Transição de um Workflow git clone:

    Navegue até o diretório wireguard_webadmin:

    cd path/to/wireguard_webadmin
    

    Se estiver atualizando a partir de uma instalação existente via git clone, navegue até o diretório do projeto atual.

    cd /path/to/wireguard_webadmin_git_clone
    
  2. Desligue os Serviços:

    Pare todos os serviços em execução para evitar perda de dados durante o upgrade.

    docker compose down
    
  3. Baixe as Imagens Mais Recentes:

    Atualize suas imagens locais:

    docker compose pull
    
  4. Faça Backup dos Seus Dados:

    Antes de qualquer alteração, faça backup do banco de dados e de outros dados importantes. Este passo é essencial para restaurar sua configuração, se necessário.

    tar cvfz wireguard-webadmin-backup-$(date +%Y-%m-%d-%H%M%S).tar.gz /var/lib/docker/volumes/wireguard_webadmin_wireguard/_data/
    

    Substitua /var/lib/docker/volumes/wireguard_webadmin_wireguard/_data/ pelo caminho real do volume Docker, se diferente. O comando salva o backup no diretório atual.

  5. Implante Usando Docker Compose:

    Siga as Instruções de Implantação descritas anteriormente.

Observação: Não se esqueça de atualizar o arquivo docker-compose.yml para a versão mais recente, baixando-o novamente do repositório.

Verificações PósUpgrade:

  • Verifique a Operação: Após iniciar os serviços, acesse a interface web para garantir que o WireGuard WebAdmin esteja funcionando como esperado. Examine os logs da aplicação para possíveis problemas.
  • Suporte e Solução de Problemas: Em caso de complicações ou para mais informações, consulte a página de Discussions do projeto ou a documentação pertinente.

Seguindo estas instruções, você atualizará seu WireGuard WebAdmin para a versão mais recente, incorporando todas as melhorias e atualizações de segurança disponíveis. Lembrese, backups regulares e o cumprimento destes passos de upgrade ajudam a manter a saúde e a segurança da sua implantação.


Contribuindo

Contribuições tornam a comunidade opensource um lugar incrível para aprender, inspirar e criar. Suas contribuições são muito bemvindas.

Suporte

Se encontrar qualquer problema ou precisar de assistência, abra uma issue na página GitHub do projeto.