{ "info": { "author": "Sigurd Kolltveit", "author_email": "sigurd.kolltveit@gmx.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# ludicrousdns\n[![pipeline status](https://gitlab.com/sheddow/ludicrousdns/badges/master/pipeline.svg)](https://gitlab.com/sheddow/ludicrousdns/commits/master) [![coverage report](https://gitlab.com/sheddow/ludicrousdns/badges/master/coverage.svg)](https://gitlab.com/sheddow/ludicrousdns/commits/master)\n\nLudicrously speedy, infectious with the async. `ludicrousdns` is designed to be a cleaner, more accurate and more rate-limited version of [massdns](https://github.com/blechschmidt/massdns). \n\n## Installation\n```\npip install ludicrousdns\n```\n\n## Usage\n`ludicrousdns` can be used both as a library and a binary:\n```python\nfrom ludicrousdns import ResolverPool\nr = ResolverPool()\nr.resolve_hosts([\"example.com\", \"google.com\"])\n```\nor\n```shell\necho -e \"example.com\\ngoogle.com\" > hosts.txt\nludicrousdns resolve -d hosts.txt\n```\nor simply\n```shell\necho -e \"example.com\\ngoogle.com\" | ludicrousdns resolve\n```\n\n## Features\n- Rate-limited\n- Detects wildcard DNS\n- Ludicrously speedy\n\n## TODO\n- Add benchmark to measure CPU- and network usage\n- Add benchmark to measure overall speed (use randomized subdomains to avoid effects of caching)\n- Add timeout to connections, for example with [async_timeout](https://github.com/aio-libs/async-timeout)\n- Add option to adjust rate-limiting", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/sheddow/ludicrousdns", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ludicrousdns", "package_url": "https://pypi.org/project/ludicrousdns/", "platform": "", "project_url": "https://pypi.org/project/ludicrousdns/", "project_urls": { "Homepage": "https://gitlab.com/sheddow/ludicrousdns" }, "release_url": "https://pypi.org/project/ludicrousdns/0.4.0/", "requires_dist": null, "requires_python": ">=3.5", "summary": "A ludicrously speedy DNS resolver", "version": "0.4.0" }, "last_serial": 5174841, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "ba563836aba442a7123da643151261fd", "sha256": "c5b5a9a442ef96f1537fa187ab95d541f52223aeef71a6fc440b330ee73aa87f" }, "downloads": -1, "filename": "ludicrousdns-0.1.tar.gz", "has_sig": false, "md5_digest": "ba563836aba442a7123da643151261fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1792, "upload_time": "2018-09-04T22:42:31", "url": "https://files.pythonhosted.org/packages/19/ba/8448610e988920cae94bc2c54801274a7fd919b58b8bec409faaa6e5be63/ludicrousdns-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "76ec1b16a48f4953b33bd2e9b65e8959", "sha256": "80caf4425aa46b3f9cd5487b92afd1350e56548b4e8414daee4ac65a6178bfb5" }, "downloads": -1, "filename": "ludicrousdns-0.1.1.tar.gz", "has_sig": false, "md5_digest": "76ec1b16a48f4953b33bd2e9b65e8959", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1978, "upload_time": "2018-09-04T23:32:02", "url": "https://files.pythonhosted.org/packages/9a/a9/59c6b3c1fd5a727905c53afedc64213929296c7042ea113a18918f8e4280/ludicrousdns-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "f18a7e117bdc413b08fb69eecb5d4403", "sha256": "df64edb3bb5f5311d64705da4deb54ac9dfca0dc7dcb4397689d56a9dd22f95e" }, "downloads": -1, "filename": "ludicrousdns-0.1.2.tar.gz", "has_sig": false, "md5_digest": "f18a7e117bdc413b08fb69eecb5d4403", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 2109, "upload_time": "2018-09-05T11:24:53", "url": "https://files.pythonhosted.org/packages/86/6e/7c4cc9c3fb6bf73c0d31285aa4cfd92aa6f7814cb4a4cbaae0afde000d07/ludicrousdns-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "c288002143d89711bab1311429f1a055", "sha256": "ba6c4986e6898d063723fc2f30868823bfac798af8a5b4c2a252c2ee524eeab0" }, "downloads": -1, "filename": "ludicrousdns-0.1.3.tar.gz", "has_sig": false, "md5_digest": "c288002143d89711bab1311429f1a055", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 2529, "upload_time": "2018-09-06T00:00:33", "url": "https://files.pythonhosted.org/packages/97/09/d10ec8d6f4567c5402eacc339687bf12a3e4b22d4e2010b145b1604f2c97/ludicrousdns-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "a26db2a57cd06a45e35794a944ab1fa8", "sha256": "1b6a460b67cb85db5b5d64c756501eb7ceaf9575a64402baa7bc33fce23cdeec" }, "downloads": -1, "filename": "ludicrousdns-0.2.0.tar.gz", "has_sig": false, "md5_digest": "a26db2a57cd06a45e35794a944ab1fa8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3257, "upload_time": "2018-09-08T23:08:07", "url": "https://files.pythonhosted.org/packages/19/4c/2e16d1f72a06c5768835b546e03d6da82fb1cfcc2180e5cf0f546f32824f/ludicrousdns-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "885c21a38439472e624a480f91f54d41", "sha256": "51a85841272e2e8e6cc5fc552f03b419fd57f791a72d938ffb627854482ff532" }, "downloads": -1, "filename": "ludicrousdns-0.3.0.tar.gz", "has_sig": false, "md5_digest": "885c21a38439472e624a480f91f54d41", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3860, "upload_time": "2018-09-11T10:56:59", "url": "https://files.pythonhosted.org/packages/6b/41/8feec5f68f7cb9264dc770cb1c0c1f870cd1dd8f50c8e568263103e06abe/ludicrousdns-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "4a332289528ec37da540eb30f3822d98", "sha256": "0b7fa7547d095db60fd4ca4a665e78c34d35b824820c6046f91cec7fa9e81b97" }, "downloads": -1, "filename": "ludicrousdns-0.3.1.tar.gz", "has_sig": false, "md5_digest": "4a332289528ec37da540eb30f3822d98", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 4017, "upload_time": "2018-09-11T20:08:20", "url": "https://files.pythonhosted.org/packages/72/62/0423592e40cb7538824ed49480459383c1d3759910e254ca6df653e048f1/ludicrousdns-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "9eaae745696def0b655e94c5903c0c12", "sha256": "1e2f8184622092d571a5840e024ccef02bc76b89cb7bb889aa5494afc03b7c8e" }, "downloads": -1, "filename": "ludicrousdns-0.4.0.tar.gz", "has_sig": false, "md5_digest": "9eaae745696def0b655e94c5903c0c12", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 4536, "upload_time": "2019-04-22T22:34:14", "url": "https://files.pythonhosted.org/packages/47/b5/26badfa18060bc0b3d6eef2ebcfbc4f1e3defece537d810c7812c6673e66/ludicrousdns-0.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9eaae745696def0b655e94c5903c0c12", "sha256": "1e2f8184622092d571a5840e024ccef02bc76b89cb7bb889aa5494afc03b7c8e" }, "downloads": -1, "filename": "ludicrousdns-0.4.0.tar.gz", "has_sig": false, "md5_digest": "9eaae745696def0b655e94c5903c0c12", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 4536, "upload_time": "2019-04-22T22:34:14", "url": "https://files.pythonhosted.org/packages/47/b5/26badfa18060bc0b3d6eef2ebcfbc4f1e3defece537d810c7812c6673e66/ludicrousdns-0.4.0.tar.gz" } ] }