- Notifications
You must be signed in to change notification settings - Fork3
Simple local DNS server for using *.dev domains
License
7anshuai/masq
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Masq is a simple local dns server likeDNSMasq. The first version was extracted fromPow.
Please note: Masq is only worked on macOS right now.
As it is not possible to use wildcards in the/etc/hosts
file, we cannot specify something like:
127.0.0.1 *.dev.
To get around this problem, we will install a DNS proxy, like DNSMasq. If you are a JavaScript Developer, you can give a try with Masq.
Masq/Pow'sDnsServer
is designed to respond to DNSA
queries with127.0.0.1
for all subdomains of the specified top-level domain.When used in conjunction with Mac OS X's/etc/resolver system, there's no configuration needed to add and remove host names for local web development.
$ npm install -g masq
The user configuration file,~/.masqconfig
, is evaluated on boot. You can configure options such as the top-level domain, listening ports.
export MASQ_DOMAINS=dev,test
Then you can runmasq --print-config
, it will output like this:
$ masq --print-configMASQ_BIN='/path/to/masq/bin/masq'MASQ_DNS_PORT='20560'MASQ_DOMAINS='dev,test'
If all is ok, runmasq --install-system
to install DNS configuration files (needsudo
):
$ sudo masq --install-system
Then simply start it:
masq
Now, if we try to ping some any address ending in.dev
, it should return127.0.0.1
:
$ ping example.devPING example.dev (127.0.0.1): 56 data bytes
Generate daemon configuration file:
$ masq --install-local
Then:
launchctl load ~/Library/LaunchAgents/cx.masq.masqd.plist
- Pow - Zero-configuration Rack server for Mac OS X
- Serving Apps Locally with Nginx and Pretty Domains
- Using Dnsmasq for local development on OS X