cache-domains/scripts
Amir Zarrinkafsh 0fb55395bb
fix: explicitly specify ipv4 addresses in adguard script (#265)
* fix: explicitly specify ipv4 addresses

This change fixes the AdGuard Home generation script by disabling the return of ipv6 addresses. This would have been causing issues for users who are running dual stack with the addresses that accept both ipv4 and ipv6 traffic.

* fix: explicitly block returning on ipv6 queries
2025-07-18 09:39:48 +01:00
..
config.example.json Update scripts and add combined_output flag (#251) 2024-10-25 09:13:50 +01:00
create-adguardhome.sh fix: explicitly specify ipv4 addresses in adguard script (#265) 2025-07-18 09:39:48 +01:00
create-dnsmasq.sh Update scripts and add combined_output flag (#251) 2024-10-25 09:13:50 +01:00
create-rpz.sh Update scripts and add combined_output flag (#251) 2024-10-25 09:13:50 +01:00
create-squid.sh Update scripts and add combined_output flag (#251) 2024-10-25 09:13:50 +01:00
create-unbound.sh Update scripts and add combined_output flag (#251) 2024-10-25 09:13:50 +01:00
README.md Update scripts and add combined_output flag (#251) 2024-10-25 09:13:50 +01:00

DNS Generation Scripts

Introduction

The respective shell scripts contained within this directory can be utilised to generate application specific compliant configuration which can be utilised with:

  • AdGuard Home
  • BIND9
  • Dnsmasq/Pi-hole
  • Squid
  • Unbound

Usage

  1. Copy config.example.json to config.json.
  2. Modify config.json to include your Cacheserver's IP(s) and the CDNs you plan to cache.

The following example assumes a single shared Cacheserver IP:

{
    "combined_output": false,
    "ips": {
        "monolithic":   ["10.10.10.200"]
    },
    "cache_domains": {
        "blizzard":     "monolithic",
        "epicgames":    "monolithic",
        "nintendo":     "monolithic",
        "origin":       "monolithic",
        "riot":         "monolithic",
        "sony":         "monolithic",
        "steam":        "monolithic",
        "uplay":        "monolithic",
        "wsus":         "monolithic"
    }
}
  1. Run generation script relative to your DNS implementation: bash create-dnsmasq.sh.
  2. If combined_output is set to true this will result in a single output file: lancache.conf with all your enabled services (applies to Adguard Home, Dnsmasq or Unbound).
  3. Copy files from output/{adguardhome,dnsmasq,rpz,squid,unbound}/* to the respective locations for Dnsmasq/Unbound.
  4. Restart the appropriate service.

Notes for Dnsmasq users

This also applies to users utilising the script alongside Pi-hole.

Multi-IP Lancache setups are only supported with Dnsmasq or Pi-hole versions >= 2.86 or 2021.09 respectively.

Notes for AdGuard Home users

  1. Utilising "combined_output": true is more convenient.
  2. Once you have run the script and uploaded the file to the appropriate location, you should navigate to Adguard Home -> Filters -> DNS blocklists -> Add blocklist -> Add a custom list.