# Unbound Ads Generator A tool to generate Unbound DNS server configuration for blocking advertising domains. ## Overview This program fetches lists of advertising domains from multiple sources and generates a configuration file for the Unbound DNS server to block these domains. It supports multiple input formats and automatically deduplicates domains. ## Usage ```bash unbound-ads-generator ``` Where: - `url-list` is a URL pointing to a text file containing a list of URLs (one per line) that provide domain lists - `output-file` is the path where the Unbound configuration will be written ### Input Format The URL list file should contain URLs (one per line) pointing to domain lists. Lines starting with # are treated as comments. Example URL list file: ``` # Ad blocking lists https://raw.githubusercontent.com/PolishFiltersTeam/KADhosts/master/KADhosts.txt https://raw.githubusercontent.com/FadeMind/hosts.extras/master/add.Spam/hosts ``` The domain lists can be in either of these formats: ``` # IP and domain format 0.0.0.0 advertising.example.com # Plain domain format advertising.example.com ``` ### Output Format The program generates Unbound configuration in this format: ``` local-zone: "advertising.example.com" refuse local-zone: "another-ad.example.com" refuse ``` ## Features - Supports multiple domain list formats - Automatically deduplicates domains - Case-insensitive domain matching - Progress logging - Comment handling - Basic domain validation ## Building ```bash go build ``` ## Testing ```bash go test -v ```