WPF GUI suite for Windows Firewall rule management plus a headless deployment wrapper. The suite includes a live manager for your system firewall, an offline editor for safe rule manipulation on backup files, and a CLI wrapper for managed deployments.
Live firewall rule management:
- Browse all rules in a searchable DataGrid with Group column
- Inline editing (enabled, action, profile, protocol, ports)
- Backup rules to
.fwbackupfiles (netsh export wrapped in JSON with metadata) - Restore from backup
- Delete rules (multi-select)
- Export to CSV
- Filter by name, program, port, description
- Filter by Group via dropdown
- Find Duplicates - scans rules for matching program + direction + action + ports, shows report and filters grid
- Quick Block menu - one-click blocking for programs (file browser), ports (text input), or IP addresses (text input)
- Collapsible Stats Panel - total/inbound/outbound, enabled/disabled, allow/block, by profile counts
- Search Highlighting - bold + colored rows when search filter is active
- DNS Correlation - correlate recent blocked connections with Windows DNS Client event 3008 queries
Offline backup editor:
- Import
.fwbackupfiles created by FirewallManager - Browse, edit, and delete rules without touching your live firewall
- Export modified rulesets back to
.fwbackupor CSV - Merge Import - import a second backup and merge new rules into the current set (deduplicates by name)
- Show Changes - diff view comparing current state to the original import (added, deleted, modified rules)
- Fleet Compare - compare two or more endpoint backups and report consistent, drifted, and missing rules
- Rule count in title bar - always shows current rule count
- Safe sandbox for planning firewall changes
Headless deployment wrapper for Intune, Task Scheduler, and other managed rollout tools:
- Validate a declarative JSON profile without administrator privileges
- Create or update named firewall rules idempotently
- Optionally prune rules from the profile's managed group
Profiles use the fwprofile.schema.json format. A minimal profile looks like:
{
"Version": 1,
"Name": "Workstation baseline",
"Group": "FirewallForge:Workstation",
"Rules": [
{
"Name": "FirewallForge-Allow-DNS",
"DisplayName": "FirewallForge - Allow DNS",
"Direction": "Outbound",
"Action": "Allow",
"Protocol": "UDP",
"RemotePort": "53",
"Service": "Dnscache"
}
]
}# Live firewall management (requires Administrator)
.\FirewallManager.ps1
# Offline backup editing (no admin needed)
.\FirewallRulesEditor.ps1
# Validate a deployment profile (no admin needed)
.\FirewallForge.ps1 validate .\profile.json
# Apply a profile (requires Administrator); -Prune removes stale rules in its group
.\FirewallForge.ps1 apply .\profile.json -Prune- Windows 10/11
- PowerShell 5.1+
- Administrator privileges (FirewallManager and
FirewallForge.ps1 apply)