How to install RimuDNS
- Download and install ActivePython
- Open Command Prompt
- Type
pypm install rimudns
Lastest release
RimuDNS
[RimuHosting](http://rimuhosting.com) Python DNS tools
Documentation for the API can be found [here](https://rimuhosting.com/dns/dyndns.jsp) and [here](https://zonomi.com/app/dns/dyndns.jsp) for RimuHosting and Zonomi respectively.
The RimuDNS class is a wrapper around the REST API calls.
Installation
easy_install rimudns
or
pip install rimudns
Usage
The API key can be generated and replaced in the RimuHosting control panel from https://rimuhosting.com/cp/apikeys.jsp
Get started: `python #!/usr/bin/env python from rimudns import RimuDNS api_key = 'GETYOURAPIKEYFROMTHECONTROLPANEL' dns = RimuDNS(api_key) dns.use_rimuhosting() `
List all domains: ```python for domain in dns.list_zones():
print domain['name']
Create a new domain: `python dns.create_zone('example.com') `
Delete a domain: `python dns.delete_zone('example.com') ` Import a domain from a BIND zone file or string:: * IMPORT_AXFR = 1 * IMPORT_FILE = 2 * IMPORT_TEXT = 3 * IMPORT_DICT = 4 * IMPORT_GUESS = 5
_for more information about IMPORT_GUESS see [Guessing Feature] below._
`python from rimudns import ZoneHandle dns.import_zone('example.com', ZoneHandle.IMPORT_FILE, '/tmp/example.com.zone') `
Export a domain to file: `python dnsdns.to_file('/tmp/example.com.zone') ` Delete a domain: `python dns.delete_zone('example.com') ` List all records for a domain: ```python records = dns.list_records('example.com') for record_type in records:
print 'Type: ', record_type for record in records[record_type]
print 'name: %s -> %s' % (record['name'], record['content')
` Add/Update a record:: ```python dns.set_record('example.com', '127.0.0.1', record_type='A', ttl=600) ` Delete a record:: `python dns.delete_record('example.com', '127.0.0.1', 'A') ` Change an IP across all zones:: `python old_ip = '127.0.0.1' new_ip = '127.0.0.2' dns.change_ip(old_ip, new_ip) ` Convert a zone to slave/back to regular:: `python dns.convert_to_regular('example.com') dns.convert_to_slave('example.com') `
Web Interface
You can always use the RimuHosting/Zonomi tools to edit your DNS zones Try: https://rimuhosting.com/dns/
Guessing Feature
Most of the time you don't have access to AXFR or the Zone File to import the DNS zone directly. The import_zone offers a _guessing_ feature that tries to build the zone information from DNS queries. You can also provide extra guesses. ```python extra_guesses = ['mail2', 'test', 'test1'] records = dns.import_zone('funinc.org', ZoneHandle.IMPORT_GUESS, param=extra_guesses, dryrun=True) for record_type in records:
print 'Type: ', record_type for record in records[record_type]
print 'name: %s -> %s' % (record['name'], record['content')