wireguard_webadmin/docs/README.pt-br.md

207 lines
10 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 🌍 Leia em outros idiomas:
- 🇬🇧 [English](../README.md)
- 🇧🇷 [Português](README.pt-br.md)
- 🇪🇸 [Español](README.es.md)
- 🇫🇷 [Français](README.fr.md)
- 🇩🇪 [Deutsch](README.de.md)
✨ Se encontrar algum problema na tradução ou quiser solicitar um novo idioma, por favor abra uma [issue](https://github.com/eduardogsilva/wireguard_webadmin/issues).
# 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](../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](../screenshots/peerlist.png)
### 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](../screenshots/peerinfo.png)
### 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](../screenshots/vpninvite.png)
### 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](../screenshots/dns.png)
### 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](../screenshots/firewall-rule-list.png)
![Gerenciador de Regras de Firewall](../screenshots/firewall-manage-rule.png)
### 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](../screenshots/serverconfig.png)
### 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](../screenshots/console.png)
### 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](../screenshots/usermanager.png)
---
## 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.
```bash
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:
```bash
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:
```bash
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.
```env
# 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)
```bash
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:
```bash
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`:
```bash
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.
```bash
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.
```bash
docker compose down
```
3. **Baixe as Imagens Mais Recentes:**
Atualize suas imagens locais:
```bash
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.
```bash
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](#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](https://github.com/eduardogsilva/wireguard_webadmin/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.