Filtering processHow a query gets resolvedStrict-by-default fallbackThe castWhere each entity is documentedVerify it in the code
What is WardenOne install, every device coveredDifferent rules for different devicesYour data stays on your hardwareOne config filePart of purge.ccWhere Warden fits
Declarative configurationFile and folder structureThe master fileMerge rulesThe CLI writes the same filesHot reload — full re-read, atomic swap
Project principlesNo registration neededOpen codeSingle binary, zero dependenciesBuilt in RustNative TUI, not GUISecurity as a cornerstone
Security by DesignDefense in depthDevices can’t escape to a public resolverExternal lists are sandboxedSafe by defaultAppend-only audit logDaemon runs sandboxed, not as root
Quick startWhat the installer doesCheck the statusPoint your network at itConfirm it’s workingRunning warden as yourselfRemove Warden
Debian / UbuntuRequirementsWhat is specific to Debian and UbuntuIf a purge-warden package is already installedVerifyUpgradingRemoving
FedoraRequirementsWhat is specific to FedoraIf a purge-warden package is already installedVerifyUpgradingRemoving
UpgradeWhat this isBefore you upgradeRun the upgradeWhat the upgrade doesWhen the check finds something to reviewCluster secondaries on 0.41
InitializeWhat this step doesInteractive modeNon-interactive mode (--yes)What it writesCLI referenceWhat it creates
Basic configurationThe base pathWhere Warden reads the configBefore you reloadBeyond the base pathSee also
Create profilesWhat this step doesDecide which lists applyCreate a profileOne-off exceptions don’t need a profileProfiles are flatCLI reference
Create labelsWhat this step doesDeclare a vocabularyUse it on a deviceDisambiguate a shared idRemoving a labelThe TOML form
Custom rulesWhat this step doesThe fileThe rule grammarCreate one, then mount itWhich rule winsHosts upgraded from 0.41
systemd serviceWhat this isEveryday commandsWhich configuration the service readsWhat the daemon unit allowsRestart behaviorThe backup timer
Backup & restoreWhat this isWhen you reach for itWhere the configuration livesWhat’s includedCLIWhere archives go
Host tuningWhat this isHosts with a stateful firewallUDP receive bufferMore than 1,024 devicesQuery log on a busy networkVerify it in the code
TroubleshootingWhat this isDNS stops workingInstallUpgradeConfiguration changesMove the config to /etc
File pathsrefWhat this isProgram filesConfiguration: /etc/purge-wardenState: /var/lib/purge-wardenRuntime: /run/purge-wardenInstaller files
Environment variablesrefWhat this isDownload step (get.sh)Installer (install.sh)Upgrade checkThe warden commandSee also