Commit Graph

23 Commits

Author SHA1 Message Date
31b2ba1e0a Tell dnsmasq not to pass requests upstream (#223)
* Tell dnsmasq not to pass requests upstream

The behavior of dnsmasq changed in version 2.86 -- before then, if a record was set for a domain name with dnsmasq, and a record for a type not specified for that domain was requested, dnsmasq would indicate no data existed for that record type. After 2.86, record types that are not specified are instead passed upstream. The latter behavior causes problems for, e.g., the Steam client, which will disregard a correctly set A-record for lancache.steamcontent.com, if no AAAA is set with dnsmasq and dnsmasq passes the AAAA query upstream. The documentation for dnsmasq indicates the correct way to restore the old behavior is to use the local=/host/ syntax -- emit this syntax for each of our lancache-hosted DNS entries.

* Update scripts/create-dnsmasq.sh

Co-authored-by: Amir Zarrinkafsh <nightah@me.com>

---------

Co-authored-by: Amir Zarrinkafsh <nightah@me.com>
2023-03-28 11:36:46 +01:00
fb80d7a16a Added bare IP example in config.example.json 2022-08-18 19:38:56 +07:00
885cea3899 added AdGuard Home scripts 2022-07-19 19:23:56 +07:00
df6d36d1b7 Script Support for RPZ Domains (#180)
* add script to generate bind response policy zone for dns manipulation/filtering
* rpz: support custom basedomain via cli arg
* Update create-rpz.sh
* changed times to match current lanacache_dns
2022-04-03 15:53:00 +01:00
faaff8b2f7 Added some commentry to create-squid.sh 2021-10-10 12:44:18 +00:00
6730915c73 Add script to create the acl files for squid
Importing these files into squid and creating the relevant
upstream proxies is left as an exercise for the user!
2021-10-10 12:29:07 +00:00
9ea56243de Simplify Dnsmasq script
[Dnsmasq version >= 2.86](https://thekelleys.org.uk/dnsmasq/CHANGELOG) supports passing multiple IP addresses via the `address=` syntax now.

>Major rewrite of the DNS server and domain handling code. The change makes multiple addresses associated with a domain work address=/example.com/1.2.3.4 address=/example.com/5.6.7.8.

This allows us to simplify the script and the `.hosts` file workaround is no longer necessary.
2021-09-12 10:15:11 +10:00
1cbdc8dbf4 Remove duplicates in Unbound generation script
#149 introduced a minor regression which included duplicates for the Unbound generation script.
While this does not have a technical impact it may cause confusion for users, this PR will ignore duplicate entries.
2021-06-15 13:14:49 +10:00
8fbf55bdbe Handle newlines in generation scripts
The generation scripts will now properly handle/ignore empty lines as this previously would cause issues with the generated Unbound output.
2021-01-28 10:16:44 +11:00
14ccfecb1f Include advice for unbound script 2021-01-15 21:43:21 +11:00
634b7dfff8 Provide advice to users upon completion of script 2021-01-15 20:09:32 +11:00
c05d2cfec4 Output *.hosts file in output/dnsmasq/hosts/ directory 2021-01-15 19:01:02 +11:00
654d19ce84 Change Dnsmasq *.hosts reference to /etc/dnsmasq/ 2021-01-15 10:20:51 +11:00
3e649ab5d7 Add README.md for DNS generation scripts
Also fix up some typos in the main README.md.
2021-01-15 08:48:31 +11:00
74cab757af Fix generation scripts
This change leverages #130 and also applies this to the dnsmasq script.

As it currently stands both generation scripts (unbound and dnsmasq) have a condition where a domain will be skipped if it fuzzy matches a domain already parsed that is higher in the CDN domain list.

For example the latter of the below two samples would never be added.
8793ce1531/steam.txt (L20) 8793ce1531/steam.txt (L29)

I've also taken the liberty to sort the output of said scripts for readability and troubleshooting purposes.

Closes #130.
2020-10-29 23:05:45 +11:00
b4431bcfaa Fix wildcard domains in dnsmasq script (#143)
While #140 added support for round-robin DNS the script needs a slight modification to ensure that wildcard domains are still added with the old method due to dnsmasq limitations.
This change will include all wildcard domains in the generated `lancache.conf` along with all the `addn-hosts=` entries.
2020-10-22 09:56:07 +01:00
494a89f181 Generate lancache.conf based on specified cache entries 2020-06-25 09:15:42 +10:00
85f05fcc77 Refactor Dnsmasq script to support multiple cache ips
This change is a continuation of #54, it modifies the output of the dnsmasq script to host file format which allows round robin DNS entries.

There is a caveat with round robin DNS entries in dnsmasq, they only supports a single address for wildcard domains, for example: *.cdn.blizzard.com.

If previously you had the generated .conf files dumped into a directory where dnsmasq automatically loaded on start-up, you will need to create config that loads all the host files, for example:

**lancache.conf**
```conf
addn-hosts=/etc/dnsmasq/conf.d/blizzard.hosts
addn-hosts=/etc/dnsmasq/conf.d/steam.hosts
addn-hosts=/etc/dnsmasq/conf.d/uplay.hosts
```

Closes #107.
2020-06-06 20:32:24 +10:00
6557fda4d6 create-dnsmasq: Run through shellcheck
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-10-11 12:56:40 -07:00
66194b3db5 Support passing multiple IP addresses
Signed-off-by: Christophe Vanlancker <carroarmato0@inuits.eu>
2019-06-15 23:27:16 +02:00
88a2026b5c Add executable bit for create-dnsmasq.sh 2019-01-30 10:47:31 +11:00
1525b5e243 Add Dnsmasq variant of Unbound generation script 2019-01-29 15:05:28 +11:00
b365bb205c Add unbound generation script (#16) 2018-06-23 18:25:18 +01:00