Skip to main content

Small tool created for management of hetzner dns service from commandline

Project description

hrdns is shortcut from h(etzner)r(obot)dns. I chosen shorter version because of possible license/trademark issues.
Hetzner.de provides great hosting services in western europe. As their client, I wanted to automate some
parts of our(me & my current company) infrastracture.
This tool covers dns-management in Hetzner's Robot panel.

Installation
============
You need access to pstats module from python's standard library. On ubuntu it
can be installed by following command:
sudo apt-get installl python-profiler
Then you can install hrdns by typing:
easy_install hrdns

Examples of commandline usage
=============================

List of maintaned domains:
hrobot_dns.py list -u<user> -p<password>

Add new domain:
hrobot_dns.py add -u<user> -p<password> -d domain.com -i 8.8.8.8

Delete domain:
hrobot_dns.py delete -u<user> -p<password> -d domain.com

Dump dns records:
hrobot_dns.py show -u<user> -p<password> -d domain.com

Updating dns recods (from file):
hrobot_dns.py update -u<user> -p<password> -d domain.com -f dnsrecords.txt

== Storing username and password in safe way ==
There 3 ways to pass username/password to script:
1. Passing it through params which is unsafe.
2. Environment variables HRDNS_USER, HRDNS_PASSWORD like this:
export HRDNS_USER=<user>
export HRDNS_PASSWORD=<password>
hrobot_dns.py list

3. By creating file ~/.hrdnsrc with source like this:
[hrdns]
user=<user>
password=<password>

FAQ
===
Q: I've deleted domain but it's still in `hrobot_dns.py list`!
A: It's caused by delay of Hetzner's panel. I didn't find better solution than just wait.

License notes
=============
If you aren't monkey, horse, goat or any other extraterrestrial lifeform - use X11/BSD.
I'm not affiliated with the hetzner.de as a employee and i'm not representing them in any way.
Use this library/tool at your own risk. Don't be evil.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
hrdns-dev.tar.gz (4.4 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page