We've released a new version today — RC3 — which introduces a new, simpler method of domain resolution.
A quick background primer: when you enter a URL into Safari, let's say https://hello.test
, your Mac needs to "resolve" that domain name to an IP address in order to know where to send the request. Your Mac has a bunch of methods to accomplish this domain name resolution, and uses any or all of them. It's complex.
Indigo previously ran a service called Dnsmasq which your Mac could talk to when it wanted to know where hello.test
requests should go.
In RC3 that is replaced with simple hosts file entries. Many of you will be familiar with hand-editing your /etc/hosts
file, where an entry such as 127.0.0.1 hello.test
will tell your Mac to send hello.test
requests to your localhost. Indigo now automatically creates these kinds of entries in /etc/hosts
for all the domains you are using in your running Indigo stacks. When a stack is stopped or Indigo shuts down, it cleans up after itself, by removing these entries.
Some of the rationale for this change:
- some users may already be running a DNS service of some kind on their Mac, and Macs can't run two at once (it's all on port 53), so Indigo could not start up Dnsmasq
- some users' Macs still did not resolve their Indigo domains properly even when Dnsmasq was running fine
- sometimes conflicts could occur with Apple's virtualisation framework, which could lead to problems when running apps such as UTM on Apple Silicon Macs
- hosts file entries should avoid previous issues with services such as NextDNS
- switching to the hosts file means one less service Indigo has to bundle, start and manage, which is a win for simplicity & resilience
There is a downside, which is that Dnsmasq allows you to configure wildcard domains. For example, it could be configured to point *.test
to your localhost, meaning you could code an app which dynamically generates subdomains and they would all automatically point at Indigo. By switching to the hosts file mechanism, we lose this ability.
It is still possible, by installing and configuring Dnsmasq yourself. It's not super difficult, so if you ever find yourself needing this and aren't sure how, by all means throw an issue into these forums. We've added a checkbox in the advanced prefs pane, which allows you to disable Indigo's hosts file management altogether, thereby allowing you to do so yourself without interference. This may also be handy for anyone running hosts-file-management apps such as Gas Mask.
Overall, our testing indicates that for the vast majority of users this should be a transparent change, but please let us know if you come across any oddities.