{ "info": { "author": "Doug Winter", "author_email": "doug.winter@isotoma.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Framework :: Twisted", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Topic :: Internet :: Name Service (DNS)" ], "description": "=======\nminidns\n=======\n\n:Date: 2013-09-11\n:Author: Doug Winter \n:Website: http://github.com/yaybu/minidns\n\nDescription\n===========\n\nSmall DNS service to support local development. The server listens by default\non port 5053. iptables is used to forward requests to localhost:53 to localhost:5053 instead.\n\nThe DNS service provides recursive queries, so you can continue to use DNS as usual.\n\nYou can then set new authoritative domains and A records that are available\nlocally.\n\nFor example::\n\n $ minidns start\n $ host www.example.com\n www.example.com has address 93.184.216.119\n www.example.com has IPv6 address 2606:2800:220:6d:26bf:1447:1097:aa7\n $ minidns add example.com\n $ minidns record example.com a www 192.168.0.10\n $ minidns show example.com\n www 192.168.0.10\n $ host www.example.com\n www.example.com has address 192.168.0.10\n $ minidns stop\n $ host www.example.com\n www.example.com has address 93.184.216.119\n www.example.com has IPv6 address 2606:2800:220:6d:26bf:1447:1097:aa7\n\nUsage::\n\n Usage: minidns [options] command\n\n daemon control commands:\n start start the minidns server and forward localhost:53 to it\n stop stop the minidns server and remove iptables rules\n\n zone commands:\n add name add a new local authoritative zone \"name\"\n del name delete the local authoritative zones \"name\"\n list list all authoritative zones\n show name list records for the zone \"name\"\n\n record commands:\n record zone a host [data] create A record\n record zone del host delete record\n\n e.g. record example.com a www 192.168.0.1\n\n Options:\n -h, --help show this help message and exit\n -c CONFIG, --config=CONFIG\n path to configuration file\n -n, --no-divert Do not use iptables to divert port DNS locally\n\niptables\n========\n\nAs part of starting and stopping (unless the -n switch is provided), minidns\nmakes some changes to your iptables nat configuration. This only works as-is if\nyou are using localhost as your nameserver (which is quite a common\nconfiguration).\n\niptables commands are issued to reroute localhost:53 to the minidns ports, so\nthat it can transparently commandeer your local DNS.\n\nThis mechanism was chosen as the least intrusive way of doing this, in\nparticular it makes no changes to the files in /etc.\n\nAPI\n===\n\nMiniDNS is designed primarily to be used by automated deployment systems, and\nprovides a simple REST API for these systems.\n\nIn general you should expect the following response codes on a successful request:\n\n * GET requests return 200 on success\n * PUT requests return 201 on success\n * DELETE requests return 204 on success\n\nThe resources available on the web port are:\n\nRoot resource: /\n----------------\n\nGET\n~~~\n\nReturn a list of managed zones, one per line, separated by \\n. For example::\n\n GET /\n\n 200 OK\n example.com\n foo.com\n\nPossible status code responses are:\n\n * *200* Success\n\nDomain resource: /domain\n------------------------\n\nGET\n~~~\n\nReturn the list of records within this domain, one per line, separated by \\n. For example::\n\n GET /example.com\n\n 200 OK\n A www 192.168.0.1\n\nPossible status code responses are:\n\n * *200* Success\n * *404* Domain not found. The domain has not been created as an authoritative zone in minidns.\n\nPUT\n~~~\n\nCreate this domain. For example::\n\n PUT /example.com\n\n 201 Created\n\nPossible status code responses are:\n\n * *201* Created (success)\n * *200* Domain already exists, unchanged\n\nDELETE\n~~~~~~\n\nDelete this domain. For example::\n\n DELETE /example.com\n\n 204 No Content\n\nPossible status code responses are:\n\n * *204* Success\n * *404* Domain not found. The domain has not been created as an authoritative zone in minidns.\n\nRecord resource: /domain/host\n-----------------------------\n\nGET\n~~~\n\nReturn the value for the record. For example::\n\n GET /example.com/www\n\n 200 OK\n A 192.168.0.1\n\nPossible status code responses are:\n\n * *200* Success\n * *404* Record not found\n\nPUT\n~~~\n\nCreate the record. the payload should be the type and the data, separated by a space. For example::\n\n PUT /example.com/www\n A 192.168.0.1\n\n 201 Created\n\nPossible status code responses are:\n\n * *201* Created (success)\n * *404* Zone not found\n * *400* Malformed request. The reason message will provide more details.\n\nDELETE\n~~~~~~\n\nDelete the record. For example::\n\n DELETE /example.com/www\n\n 204 No Content\n\nPossible status code responses are:\n\n * *204* Success\n * *404* Domain or record not found\n\nConfiguration file\n==================\n\nA configuration file is not required - sensible defaults are provided. Note that Google's DNS servers are used as forwarders by default.\n\nIf you wish, you can provide a file with the following format::\n\n [minidns]\n forwarders = 8.8.8.8 8.8.4.4\n udp_port = 5053\n tcp_port = 5053\n www_port = 5080\n pidfile = minidns.pid\n logfile = minidns.log\n\nLICENSE\n=======\n\nCopyright 2013 Isotoma Limited\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/yaybu/minidns", "keywords": null, "license": "Apache Software License", "maintainer": null, "maintainer_email": null, "name": "minidns", "package_url": "https://pypi.org/project/minidns/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/minidns/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/yaybu/minidns" }, "release_url": "https://pypi.org/project/minidns/0.3/", "requires_dist": null, "requires_python": null, "summary": "Simple DNS Server with REST API, for localhost only", "version": "0.3" }, "last_serial": 862934, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "f1027c3bc89f841ce9f53343f070cfa3", "sha256": "310781fe58b548cb255b28ef8d357f0571dd9374ec6da41ed8d9683c84283a86" }, "downloads": -1, "filename": "minidns-0.1.zip", "has_sig": false, "md5_digest": "f1027c3bc89f841ce9f53343f070cfa3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24021, "upload_time": "2013-09-11T13:16:05", "url": "https://files.pythonhosted.org/packages/d3/15/7da6cd0d521aeed40017048fa3efab8e72501f900a4b4b9fc1a6c6b8131b/minidns-0.1.zip" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "fa2af5789d6c0fe6fb5295e05ae1bee1", "sha256": "ae16fe27672f87483e7e1785f39f2aff40110fadd349aa7b6a9c63e56da12b10" }, "downloads": -1, "filename": "minidns-0.2.zip", "has_sig": false, "md5_digest": "fa2af5789d6c0fe6fb5295e05ae1bee1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24436, "upload_time": "2013-09-11T14:05:13", "url": "https://files.pythonhosted.org/packages/04/10/43d462f13a8fe9a0da6e218c6f685dc30d0f9a41b7909faa540390be0159/minidns-0.2.zip" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "ef2e4a0dab393828115f6f541d6489f7", "sha256": "cb1157750328427f0505664a49da0a575e66c2b8f59999da399e76501a534575" }, "downloads": -1, "filename": "minidns-0.3.zip", "has_sig": false, "md5_digest": "ef2e4a0dab393828115f6f541d6489f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24458, "upload_time": "2013-09-11T17:40:54", "url": "https://files.pythonhosted.org/packages/0c/a8/acc8cbe472d69cf8bc8c38d61059b8efb1ddc59fb93e596f5c7ba5f65d7c/minidns-0.3.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ef2e4a0dab393828115f6f541d6489f7", "sha256": "cb1157750328427f0505664a49da0a575e66c2b8f59999da399e76501a534575" }, "downloads": -1, "filename": "minidns-0.3.zip", "has_sig": false, "md5_digest": "ef2e4a0dab393828115f6f541d6489f7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24458, "upload_time": "2013-09-11T17:40:54", "url": "https://files.pythonhosted.org/packages/0c/a8/acc8cbe472d69cf8bc8c38d61059b8efb1ddc59fb93e596f5c7ba5f65d7c/minidns-0.3.zip" } ] }