DNS tools for name.com is a DNS record management utility (the namecom_dns command) and a dynamic DNS client (the namecom_dyndns command).
The development of these utilities took numerous hours of development and testing. If you found that they are useful to you, then please consider making a donation of bitcoin to 3A5M1m2BNSBgo9V7B8wf6VtWQDMMgp5abZ
All donations help cover maintenance costs.
- Install dependencies:
apt install -y autoconf automake libtool
- Build source code by running:
make
- Install HomeBrew by running:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Install dependencies:
brew install automake autoconf libtool
- Build source code by running:
make
The namecom_dns utility allows the management of DNS records for domains registered at https://name.com/.
Features at a glance
- The ability to add or update A, CNAME, MX, NS, and TXT records.
- The ability to remove existing DNS records.
- The ability to list out all of the existing DNS records for a domain registered at https://name.com.
You can request an API token from https://www.name.com/reseller
To use the namecom_dns utility, you will need to setup the NAMECOM_USERNAME and NAMECOM_API_TOKEN environment variables.
On Linux and Mac OS X, if your username is dummyuser, then you can do this like this:
export NAMECOM_USERNAME="dummyuser"
export NAMECOM_API_TOKEN="hfS$sdk34lHMkj43nml2jn*71!hqokmGhdsfokmOqMsKSAhqOK98FMMASOOIQM"
Make sure to set the correct API token that name.com assigned to your account.
To list out all records for example.com, you can use the -l or --list command line argument like this:
$ namecom_dns --list example.com
_ __ __ _ _ __ ___ ___ ___ ___ _ __ ___
| '_ \ / _` | '_ ` _ \ / _ \ / __/ _ \| '_ ` _ \
| | | | (_| | | | | | | __/ | (_| (_) | | | | | |
|_| |_|\__,_|_| |_| |_|\___|(_)___\___/|_| |_| |_|
DNS Record Manager
+-----------------------------------------------------------------------------+
| Type Host Answer TTL Created |
+-----------------------------------------------------------------------------+
| A xen.example.com 10.15.70.173 60 2017-03-09 14:58:13 |
| CNAME abc.example.com example.com 300 2017-02-15 21:34:55 |
| A test.example.com 10.15.65.191 300 2017-08-24 10:54:58 |
| A example.com 12.34.56.78 300 2015-07-23 23:15:59 |
| MX example.com mail.example.com 300 2010-11-03 16:35:15 |
| CNAME www.example.com example.com 300 2010-11-01 11:59:43 |
+-----------------------------------------------------------------------------+
To add or update a record, you can us the -s or --set command line argument like this:
$ namecom_dns --set A pizza.example.com 10.0.0.1 300
_ __ __ _ _ __ ___ ___ ___ ___ _ __ ___
| '_ \ / _` | '_ ` _ \ / _ \ / __/ _ \| '_ ` _ \
| | | | (_| | | | | | | __/ | (_| (_) | | | | | |
|_| |_|\__,_|_| |_| |_|\___|(_)___\___/|_| |_| |_|
DNS Record Manager
Record created.
To remove a record, you can use the -d or --delete command line argument like this:
$ namecom_dns --delete pizza.example.com
_ __ __ _ _ __ ___ ___ ___ ___ _ __ ___
| '_ \ / _` | '_ ` _ \ / _ \ / __/ _ \| '_ ` _ \
| | | | (_| | | | | | | __/ | (_| (_) | | | | | |
|_| |_|\__,_|_| |_| |_|\___|(_)___\___/|_| |_| |_|
DNS Record Manager
Record deleted.
The namecom_dyndns utility allows for dynamic DNS address records (i.e A records) to be created or updated.
$ namecom_dyndns --host dynamic.example.com
_ __ __ _ _ __ ___ ___ ___ ___ _ __ ___
| '_ \ / _` | '_ ` _ \ / _ \ / __/ _ \| '_ ` _ \
| | | | (_| | | | | | | __/ | (_| (_) | | | | | |
|_| |_|\__,_|_| |_| |_|\___|(_)___\___/|_| |_| |_|
Dynamic DNS Updater
Record updated.
$ namecom_dyndns --host test.unitserver.com --ip-address 10.0.0.1
_ __ __ _ _ __ ___ ___ ___ ___ _ __ ___
| '_ \ / _` | '_ ` _ \ / _ \ / __/ _ \| '_ ` _ \
| | | | (_| | | | | | | __/ | (_| (_) | | | | | |
|_| |_|\__,_|_| |_| |_|\___|(_)___\___/|_| |_| |_|
Dynamic DNS Updater
Record updated.
Copyright (C) 2016 by Joseph A. Marrero. http://www.joemarrero.com/
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.