PT
EUR
Edição gratuitaGratuito Instalar

Windows

The PowerShell installer for Windows 10, 11 and Windows Server: a Windows service for the data plane, a startup task for the console, firewall rules, check, upgrade and uninstall.

All ways to install

A versão que instala

A versão pública é uma versão de desenvolvimento, chamada 0.3.0-dev. O nome não muda: cada publicação substitui a anterior e um identificador de compilação distingue duas compilações. Ainda não existe nenhuma versão estável: só será publicada quando cada sistema e cada pacote tiverem sido testados de ponta a ponta. Por isso, os comandos desta página instalam a partir do canal dev. Uma versão de desenvolvimento pode conter erros: experimente-a num site de teste antes de depender dela.

At a glance

  • Windows Server 2016 and later, Windows 10 version 1809 and later, Windows 11, amd64 and arm64. 32-bit Windows is not supported.
  • Run it in an elevated PowerShell (Run as Administrator), version 5.1 or later.
  • The data plane runs as the Windows service “ToutWAF”; the control plane as a startup scheduled task “ToutWAF-ControlPlane”.
  • The script verifies the SHA-256, installs in Program Files, keeps everything mutable in ProgramData, opens the firewall and starts; run again it upgrades in place and goes back to the previous binary if the new one fails the health check.

The commands, step by step

Abra o PowerShell como administrador e execute o instalador

Instala os binários nativos, regista o serviço Windows ToutWAF para o plano de dados e uma tarefa de arranque para a consola, e abre as portas da firewall. O instalador ainda não foi executado num anfitrião Windows real.

PowerShell (Admin)
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
irm https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.ps1 | iex

Abra a firewall

O instalador abre estas portas por padrão quando o firewalld ou o ufw está ativo: 80 e 443, e a porta 9443 da console (restrinja-a à sua rede de administração com --console-from). A porta 9444 dos agentes nunca é aberta ao público. Estes comandos só são necessários com --no-firewall, com outro firewall ou para fazer à mão.

PowerShell (Admin)
New-NetFirewallRule -DisplayName "ToutWAF Web" -Direction Inbound -Protocol TCP -LocalPort 80,443 -Action Allow
New-NetFirewallRule -DisplayName "ToutWAF Console" -Direction Inbound -Protocol TCP -LocalPort 9443 -RemoteAddress 203.0.113.0/24 -Action Allow

Verifique os serviços

PowerShell
Get-Service ToutWAF
toutwafctl doctor
Test-NetConnection 127.0.0.1 -Port 9443

Atualizar

Faça uma cópia da configuração e dos dados e execute o instalador de novo: ele mantém as suas definições e reverte sozinho se a nova versão não ficar saudável. Os caminhos mostrados são os de uma instalação nova (/var/toutwaf); uma instalação anterior mantém /etc/toutwaf e /var/lib/toutwaf. Também pode atualizar a partir da console, na página Atualizações.

PowerShell (Admin)
Copy-Item "$env:ProgramData\ToutWAF" "$env:ProgramData\ToutWAF.bak" -Recurse
& ([scriptblock]::Create((irm https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.ps1))) -Update -Yes

Desinstalar

O primeiro bloco remove os serviços, os binários e as regras de firewall adicionadas pelo ToutWAF, e mantém os seus dados. O segundo apaga também a configuração, os dados e os registos.

PowerShell (Admin)
& ([scriptblock]::Create((irm https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.ps1))) -Uninstall
purge
& ([scriptblock]::Create((irm https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.ps1))) -Uninstall -Purge

What is not verified

We prefer to say it plainly.

  • The installer has not been run on a real Windows host: every version has the status “expected”, not “tested”. The arm64 build was only cross-compiled, never run, not even under emulation.
  • Differences from Linux: one accept loop per listener, no systemd watchdog (the service recovery replaces it), and SELinux, firewalld, sysctl and logrotate do not apply.

Other ways to install

Learn more in the documentation