All Projects → AnalogJ → Lexicon

AnalogJ / Lexicon

Licence: mit
Manipulate DNS records on various DNS providers in a standardized way.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Lexicon

Dnsrobocert
Orchestrate Certbot and Lexicon together to provide Let's Encrypt TLS certificates validated by DNS challenges
Stars: ✭ 420 (-59.14%)
Mutual labels:  dns, letsencrypt, ssl-certificate
Cloudflare Cli
CLI utility managing CloudFlare services using CloudFlare API
Stars: ✭ 61 (-94.07%)
Mutual labels:  cli, dns, cloudflare
Piholecloudflared
Raspberry Pi setup with Pi-Hole, CloudflareD, DHCP as the ultimate Ad-blocker
Stars: ✭ 57 (-94.46%)
Mutual labels:  dns, cloudflare, letsencrypt
Freenom Dns Updater
A tool to update freenom's dns records
Stars: ✭ 117 (-88.62%)
Mutual labels:  cli, dns, pypi
Bash Utils
A collection of hand-crafted bash scripts for various common tasks.
Stars: ✭ 124 (-87.94%)
Mutual labels:  dns, cloudflare, letsencrypt
Nginxconfig.io
⚙️ NGINX config generator on steroids 💉
Stars: ✭ 14,983 (+1357.49%)
Mutual labels:  digitalocean, letsencrypt, ssl-certificate
Warp Plus Cloudflare
Script for getting unlimited GB on Warp+ ( https://1.1.1.1/ )
Stars: ✭ 381 (-62.94%)
Mutual labels:  dns, cloudflare
Win Acme
A simple ACME client for Windows (for use with Let's Encrypt et al.)
Stars: ✭ 4,305 (+318.77%)
Mutual labels:  cli, letsencrypt
Encrypted Dns
Configuration profiles for DNS HTTPS and DNS over TLS for iOS 14 and MacOS Big Sur
Stars: ✭ 455 (-55.74%)
Mutual labels:  dns, cloudflare
Hostctl
Your dev tool to manage /etc/hosts like a pro!
Stars: ✭ 642 (-37.55%)
Mutual labels:  cli, dns
Pipx
Install and Run Python Applications in Isolated Environments
Stars: ✭ 4,398 (+327.82%)
Mutual labels:  cli, pypi
Yaspeller
🔍 Search tool typos in the text, files and websites
Stars: ✭ 554 (-46.11%)
Mutual labels:  cli, yandex
Hostess
An idempotent command-line utility for managing your /etc/hosts file.
Stars: ✭ 779 (-24.22%)
Mutual labels:  cli, dns
Pytg
Python package that wraps around Telegram messenger CLI. Send and receive messages, and more.
Stars: ✭ 365 (-64.49%)
Mutual labels:  cli, pypi
Rivalcfg
CLI tool and Python library to configure SteelSeries gaming mice
Stars: ✭ 430 (-58.17%)
Mutual labels:  cli, pypi
Vultr
🐧 Vultr CLI and API client library
Stars: ✭ 357 (-65.27%)
Mutual labels:  vultr, cli
Musicrepair
Fixes music metadata and adds album art.
Stars: ✭ 566 (-44.94%)
Mutual labels:  cli, pypi
Certbot Letencrypt Wildcardcertificates Alydns Au
certbot'renewing letencrypt certificate plugin - automatic verification aliyun/tencentyun/godaddy dns
Stars: ✭ 839 (-18.39%)
Mutual labels:  dns, letsencrypt
Git Repo
Git-Repo: CLI utility to manage git services from your workspace
Stars: ✭ 818 (-20.43%)
Mutual labels:  cli, pypi
V3n0m Scanner
Popular Pentesting scanner in Python3.6 for SQLi/XSS/LFI/RFI and other Vulns
Stars: ✭ 847 (-17.61%)
Mutual labels:  dns, cloudflare

============ |logo_named|

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|

.. |logo_named| image:: https://raw.githubusercontent.com/AnalogJ/lexicon/master/docs/images/logo_named.svg :alt: Lexicon

.. |build_status| image:: https://dev.azure.com/AnalogJ/lexicon/_apis/build/status/AnalogJ.lexicon?branchName=master :target: https://dev.azure.com/AnalogJ/lexicon/_build/latest?definitionId=1&branchName=master

.. |coverage_status| image:: https://coveralls.io/repos/github/AnalogJ/lexicon/badge.svg :target: https://coveralls.io/github/AnalogJ/lexicon?branch=master

.. |docker_pulls| image:: https://img.shields.io/docker/pulls/analogj/lexicon.svg :target: https://hub.docker.com/r/analogj/lexicon

.. |pypy_version| image:: https://img.shields.io/pypi/v/dns-lexicon.svg :target: https://pypi.python.org/pypi/dns-lexicon

.. |pypy_python_support| image:: https://img.shields.io/pypi/pyversions/dns-lexicon.svg :target: https://pypi.python.org/pypi/dns-lexicon

.. |github_license| image:: https://img.shields.io/github/license/AnalogJ/lexicon.svg :target: https://github.com/AnalogJ/lexicon/blob/master/LICENSE

.. contents:: Table of Contents :local:

.. tag:intro-begin

Why using Lexicon?

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

Lexicon can be used as:

  • a CLI tool:

.. code-block:: bash

# 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:

.. code-block:: python

# Create a TXT entry in domain.net zone hosted by CloudFlare
from lexicon.client import Client
from lexicon.config import ConfigResolver

action = {
    "provider_name" : "cloudflare",
    "action": "create",
    "domain": "domain.net",
    "type": "TXT",
    "name": "foo",
    "content": "bar",
}
config = ConfigResolver().with_env().with_dict(action)
Client(config).execute()

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

  • Generating Intranet & Private Network SSL Certificates using Lets Encrypt & Lexicon <http://blog.thesparktree.com/post/138999997429/generating-intranet-and-private-network-ssl>_

Supported providers

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

The current supported providers are:

  • Aliyun.com <https://help.aliyun.com/document_detail/29739.html>_
  • AuroraDNS <https://www.pcextreme.com/aurora/dns>_
  • AWS Route53 <https://docs.aws.amazon.com/Route53/latest/APIReference/Welcome.html>_
  • Azure DNS <https://docs.microsoft.com/en-us/rest/api/dns/>_
  • Cloudflare <https://api.cloudflare.com/#endpoints>_
  • ClouDNS <https://www.cloudns.net/wiki/article/56/>_
  • CloudXNS <https://www.cloudxns.net/Support/lists/cid/17.html>_
  • ConoHa <https://www.conoha.jp/docs/>_
  • Constellix <https://api-docs.constellix.com/?version=latest>_
  • DigitalOcean <https://developers.digitalocean.com/documentation/v2/#create-a-new-domain>_
  • Dinahosting <https://en.dinahosting.com/api>_
  • DirectAdmin <https://www.directadmin.com/features.php?id=504>_
  • DNSimple v1 <https://developer.dnsimple.com/>, v2 <https://developer.dnsimple.com/v2/>
  • DnsMadeEasy <https://api-docs.dnsmadeeasy.com/?version=latest>_
  • DNSPark <https://dnspark.zendesk.com/entries/31210577-REST-API-DNS-Documentation>_
  • DNSPod <https://support.dnspod.cn/Support/api>_
  • Dreamhost <https://help.dreamhost.com/hc/en-us/articles/217560167-API_overview>_
  • Dynu <https://www.dynu.com/Support/API>_
  • EasyDNS <http://docs.sandbox.rest.easydns.net/>_
  • Easyname <https://www.easyname.com/en>_
  • EUserv <https://support.euserv.com/api-doc/>_
  • ExoScale <https://community.exoscale.com/documentation/dns/api/>_
  • Gandi RPC (old) <http://doc.rpc.gandi.net>_ / LiveAPI <http://doc.livedns.gandi.net/>_
  • Gehirn <https://support.gehirn.jp/apidocs/gis/dns/index.html>_
  • Glesys <https://github.com/glesys/API/wiki/>_
  • GoDaddy <https://developer.godaddy.com/getstarted#access>_
  • Google Cloud DNS <https://cloud.google.com/dns/api/v1/>_
  • Gransy (sites subreg.cz, regtons.com and regnames.eu) <https://subreg.cz/manual/>_
  • Hover <https://hoverapi.docs.apiary.io/>_
  • Hurricane Electric DNS <https://dns.he.net/>_
  • Hetzner <https://dns.hetzner.com/api-docs/>_
  • Infoblox <https://docs.infoblox.com/display/ILP/Infoblox+Documentation+Portal>_
  • Internet.bs <https://internetbs.net/ResellerRegistrarDomainNameAPI>_
  • INWX <https://www.inwx.de/en/offer/api>_
  • Joker.com <https://joker.com/faq/index.php?action=show&cat=39>_
  • Linode <https://www.linode.com/api/dns>_
  • Linode v4 <https://developers.linode.com/api/docs/v4#tag/Domains>_
  • LuaDNS <http://www.luadns.com/api.html>_
  • Memset <https://www.memset.com/apidocs/methods_dns.html>_
  • Njalla <https://njal.la/api/>_
  • Namecheap <https://www.namecheap.com/support/api/methods.aspx>_
  • Namesilo <https://www.namesilo.com/api_reference.php>_
  • Netcup <https://ccp.netcup.net/run/webservice/servers/endpoint.php>_
  • NFSN (NearlyFreeSpeech)
  • NS1 <https://ns1.com/api/>_
  • OnApp <https://docs.onapp.com/display/55API/OnApp+5.5+API+Guide>_
  • Online
  • OVH <https://api.ovh.com/>_
  • Plesk <https://docs.plesk.com/en-US/onyx/api-rpc/about-xml-api.28709/>_
  • PointHQ <https://pointhq.com/api/docs>_
  • PowerDNS <https://doc.powerdns.com/md/httpapi/api_spec/>_
  • Rackspace <https://developer.rackspace.com/docs/cloud-dns/v1/developer-guide/>_
  • Rage4 <https://gbshouse.uservoice.com/knowledgebase/articles/109834-rage4-dns-developers-api>_
  • RcodeZero <https://my.rcodezero.at/api-doc>_
  • Sakura Cloud by SAKURA Internet Inc. <https://developer.sakura.ad.jp/cloud/api/1.1/>_
  • SafeDNS by UKFast <https://developers.ukfast.io/documentation/safedns>_
  • SoftLayer <https://sldn.softlayer.com/article/REST#HTTP_Request_Types>_
  • Subreg (deprecated, use Gransy)
  • Transip <https://www.transip.nl/transip/api/>_
  • UltraDNS <https://ultra-portalstatic.ultradns.com/static/docs/REST-API_User_Guide.pdf>_
  • Vultr <https://www.vultr.com/api/>_
  • Yandex <https://tech.yandex.com/domain/doc/reference/dns-add-docpage/>_
  • Zeit <https://zeit.co/api#post-domain-records>_
  • Zilore <https://zilore.com/en/help/api>_
  • Zonomi <http://zonomi.com/app/dns/dyndns.jsp>_

.. tag:intro-end

Documentation

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_.

.. _Lexicon documentation: https://dns-lexicon.readthedocs.io .. _User guide: https://dns-lexicon.readthedocs.io/en/latest/user_guide.html

Contributing

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.

.. _Developer guide: https://dns-lexicon.readthedocs.io/en/latest/developer_guide.html

Licensing

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

.. _Logo: https://thenounproject.com/term/transform/397964

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].