IT
EUR
Edizione gratuitaGratuito Installa

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

Quale versione installi

La versione pubblica è una versione di sviluppo, chiamata 0.3.0-dev. Il suo nome non cambia: ogni pubblicazione sostituisce la precedente e un identificativo di build distingue due build. Non esiste ancora una versione stabile: sarà pubblicata solo quando ogni sistema e ogni pacchetto saranno stati testati end to end. I comandi di questa pagina installano quindi dal canale dev. Una versione di sviluppo può contenere difetti: provala su un sito di prova prima di farci affidamento.

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

Apri PowerShell come amministratore ed esegui l'installer

Installa i binari nativi, registra il servizio Windows ToutWAF per il data plane e un'attività di avvio per la console, e apre le porte del firewall. L'installer non è ancora stato eseguito su un vero host Windows.

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

Apri il firewall

L'installer apre queste porte per impostazione predefinita quando firewalld o ufw è attivo: 80 e 443, e la porta 9443 della console (limitala alla tua rete di amministrazione con --console-from). La porta 9444 degli agent non viene mai aperta al pubblico. Questi comandi servono solo con --no-firewall, con un altro firewall o per farlo a mano.

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

Verifica i servizi

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

Aggiorna

Fai il backup della configurazione e dei dati, poi riesegui l'installer: mantiene le tue impostazioni e torna indietro da solo se la nuova versione non diventa sana. I percorsi mostrati sono quelli di una nuova installazione (/var/toutwaf); un'installazione precedente mantiene /etc/toutwaf e /var/lib/toutwaf. Puoi anche aggiornare dalla console, nella pagina Aggiornamenti.

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

Disinstalla

Il primo blocco rimuove i servizi, i binari e le regole del firewall aggiunte da ToutWAF, e conserva i tuoi dati. Il secondo elimina anche configurazione, dati e log.

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