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.
Welche Version Sie installieren
Die öffentliche Version ist eine Entwicklungsversion mit dem Namen 0.3.0-dev. Ihr Name bleibt gleich: Jede Veröffentlichung ersetzt die vorherige, und eine Build-Kennung unterscheidet zwei Builds. Eine stabile Version gibt es noch nicht: Sie wird erst veröffentlicht, wenn jedes System und jedes Paket durchgängig getestet wurde. Die Befehle auf dieser Seite installieren deshalb aus dem Kanal dev. Eine Entwicklungsversion kann Fehler enthalten: Probieren Sie sie auf einer Test-Site aus, bevor Sie sich darauf verlassen.
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
PowerShell als Administrator öffnen und den Installer ausführen
Installiert die nativen Binaries, registriert den Windows-Dienst ToutWAF für die Data Plane und eine Startaufgabe für die Konsole und öffnet die Firewall-Ports. Der Installer wurde noch nicht auf einem echten Windows-Host ausgeführt.
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
irm https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.ps1 | iexFirewall öffnen
Der Installer öffnet diese Ports standardmäßig, wenn firewalld oder ufw aktiv ist: 80 und 443 sowie den Konsolenport 9443 (mit --console-from auf Ihr Admin-Netz beschränken). Der Agent-Port 9444 wird nie öffentlich geöffnet. Diese Befehle brauchen Sie nur mit --no-firewall, bei einer anderen Firewall oder für die manuelle Einrichtung.
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 AllowDienste prüfen
Get-Service ToutWAF
toutwafctl doctor
Test-NetConnection 127.0.0.1 -Port 9443Aktualisieren
Konfiguration und Daten sichern und den Installer erneut ausführen: Er behält Ihre Einstellungen und macht selbst ein Rollback, wenn die neue Version nicht gesund startet. Die gezeigten Pfade gelten für eine neue Installation (/var/toutwaf); eine ältere Installation behält /etc/toutwaf und /var/lib/toutwaf. Sie können auch in der Konsole auf der Seite Updates aktualisieren.
Copy-Item "$env:ProgramData\ToutWAF" "$env:ProgramData\ToutWAF.bak" -Recurse
& ([scriptblock]::Create((irm https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.ps1))) -Update -YesDeinstallieren
Der erste Block entfernt die Dienste, die Binaries und die von ToutWAF angelegten Firewall-Regeln und behält Ihre Daten. Der zweite löscht zusätzlich Konfiguration, Daten und Logs.
& ([scriptblock]::Create((irm https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.ps1))) -Uninstall& ([scriptblock]::Create((irm https://repo.qu3ntin.com/toutwaf/toutwaf/-/raw/dev/install.ps1))) -Uninstall -PurgeWhat 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.