Skip to content

Manipulate DNS records on various DNS providers in a standardized way.

License

Notifications You must be signed in to change notification settings

AnalogJ/lexicon

Repository files navigation

Lexicon

Manipulate DNS records on various DNS providers in a standardized/agnostic way.

build_status coverage_status docker_pulls pypy_version pypy_python_support github_license

Lexicon provides a way to manipulate DNS records on multiple DNS providers in a standardized way.

Lexicon can be used as:

  • a CLI tool:
# Create a TXT entry in domain.net zone hosted by CloudFlare
lexicon cloudflare create domain.net TXT --name foo --content bar
  • or a Python library:
# Create a TXT entry in domain.net zone hosted by CloudFlare
from lexicon.client import Client
from lexicon.config import ConfigResolver

config = ConfigResolver().with_env().with_dict({
    "provider_name" : "cloudflare",
    "domain": "domain.net",
})

with Client(config) as operations:
    operations.create_record("TXT", "foo", "bar")

Lexicon was designed to be used in automation, specifically letsencrypt.

Only DNS providers who have an API can be supported by lexicon.

The current supported providers are:

aliyun arvancloud aurora azure cloudflare
cloudns cloudxns conoha constellix ddns
digitalocean dinahosting directadmin dnsimple dnsmadeeasy
dnspark dnspod dnsservices dreamhost duckdns
dynu easydns easyname euserv exoscale
flexibleengine gandi gehirn glesys godaddy
googleclouddns gransy gratisdns henet hetzner
hostingde hover infoblox infomaniak internetbs
inwx ionos joker linode linode4
localzone luadns memset misaka mythicbeasts
namecheap namecom namesilo netcup nfsn
njalla nsone oci onapp online
ovh plesk pointhq porkbun powerdns
qcloud rackspace rage4 rcodezero regfish
route53 safedns sakuracloud softlayer timeweb
transip ultradns valuedomain vercel vultr
webgo wedos yandex yandexcloud zeit
zilore zonomi      

Online documentation (user guide, configuration reference) is available in the Lexicon documentation.

For a quick start, please have a look in particular at the User guide.

If you want to help in the Lexicon development, you are welcome!

Please have a look at the Developer guide page to know how to start.

  • MIT
  • Logo: transform by Mike Rowe from the Noun Project