Masq - a simple local DNS server extracted from Pow (for pretty urls)

06-21 17:33

Masq

Masq is a simple local dns server like DNSMasq . The first version was extracted from Pow .

Please note: Masq is only worked on macOS right now.

中文说明

Local DNS

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.

Getting Started

Masq/Pow's DnsServer is designed to respond to DNS A queries with 127.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.

Installation

$ npm install -g masq

Usage

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 run masq --print-config , it will output like this:

$ masq --print-config
MASQ_BIN='/path/to/masq/bin/masq'
MASQ_DNS_PORT='20560'
MASQ_DOMAINS='dev,test'
MASQ_EXT_DOMAINS=''
MASQ_LOG_ROOT='/path/to/Library/Logs/Masq'

If all is ok, run masq --install-system to install DNS configuration files (need sudo ):

$ sudo masq --install-system

Then simply start it:

masq

Now, if we try to ping some any address ending in .dev , it should return 127.0.0.1 :

$ ping example.dev
PING example.dev (127.0.0.1): 56 data bytes

Run as daemon

Generate daemon configuration file:

$ masq --install-local

Then:

launchctl load ~/Library/LaunchAgents/cx.masq.masqd.plist

Inspiration

License

MIT

原文链接:https://github.com/7anshuai/masq?utm_source=tuicool&utm_medium=referral
标签: DNS服务器
© 2014 TuiCode, Inc.