{"id":22289963,"url":"https://github.com/mersinvald/batch_resolve","last_synced_at":"2025-07-28T23:30:56.233Z","repository":{"id":18942233,"uuid":"85393906","full_name":"mersinvald/batch_resolve","owner":"mersinvald","description":"Fast asynchronous DNS batch resolver","archived":false,"fork":false,"pushed_at":"2022-03-01T01:49:16.000Z","size":480,"stargazers_count":28,"open_issues_count":4,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-01T12:43:39.451Z","etag":null,"topics":["async","batch-processing","dns","dns-client","futures","resolve","rust","tokio"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mersinvald.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-18T10:43:12.000Z","updated_at":"2024-04-12T13:51:00.000Z","dependencies_parsed_at":"2022-08-07T09:01:02.344Z","dependency_job_id":null,"html_url":"https://github.com/mersinvald/batch_resolve","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mersinvald%2Fbatch_resolve","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mersinvald%2Fbatch_resolve/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mersinvald%2Fbatch_resolve/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mersinvald%2Fbatch_resolve/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mersinvald","download_url":"https://codeload.github.com/mersinvald/batch_resolve/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227962275,"owners_count":17847912,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async","batch-processing","dns","dns-client","futures","resolve","rust","tokio"],"created_at":"2024-12-03T17:10:56.338Z","updated_at":"2024-12-03T17:10:56.893Z","avatar_url":"https://github.com/mersinvald.png","language":"Rust","readme":"[![Crates.io](https://img.shields.io/crates/v/batch_resolve_cli.svg)](https://crates.io/crates/batch_resolve_cli)\n[![Gitter](https://img.shields.io/badge/GITTER-join%20chat-green.svg)](https://gitter.im/batch_resolve/Lobby?utm_source=share-link\u0026utm_medium=link\u0026utm_campaign=share-link)\n[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.me/mersinvald)\n\nThis page in [Russian](README_RUS.md)\n\n# Batch Resolve\n\nFast asynchronous DNS resolver\n\n## Support notice\n\n`batch-resolve` isn't actively maintained anymore, but I'll be happy to accept Pull Requests and release new versions, if anyone would be desperate enough to try and dig through the futures 0.1 spaghetti :) \n\nIf you use this tool and encounter critical bugs, let me know in the issues -- I'll try to find time to take a look.\n\n## Install\n### Distro packages\nThere are prebuilt *deb* and *rpm* packages for x86_64 you can find within the releases in [the list of versions](https://github.com/mersinvald/batch_resolve/tags)\n\nArch Linux users can install the package [from AUR](https://aur.archlinux.org/packages/batch_resolve/)\n\nPackages install the config file into /etc/batch_resolve.toml\n### Static binary\nEvery release binary can be found in the [the list of versions](https://github.com/mersinvald/batch_resolve/tags). Just place it to one of directories in your PATH (e.g. /usr/bin)\n\n### Install from crates.io\nIf you have rust toolkit installed, you can install *batch_resolve* with\n```\ncargo install batch_resolve_cli\n```\n\n## Usage\n\nInput and output format is list delimited with new line.\nConsider such input `domains.txt`\n```\ngoogle.com\nrust-lang.org\nmozilla.org\n```\n\nResolve all `A` records:\n```\nbatch_resolve --in domains.txt --out hosts.txt --query A\n```\n\nResolve `A` and `AAAA` records:\n```\nbatch_resolve -i domains.txt -o hosts.txt -q A\n              -i domains.txt -o hosts.txt -q AAAA  \n```\n\n### Configuration\nBy default batch_resolve uses Google DNS servers `8.8.8.8` and `8.8.4.4` and retries `10` times on Connection Timeout error.\nThese and Queries Per Second parameters may be altered in configuration file.\n\nConfiguration file may be placed in the following locations (priority descending):\n```\nbatch_resolve.toml\n$HOME/.config/batch_resolve.toml\n/etc/batch_resolve.toml\n```\n\nConfiguration includes DNS servers, queries per second amount and retries on failure count\n```toml\n# DNS servers are only accepted as socket addresses\n# If port is not specified default DNS :53 port will be used\ndns = [\n    \"8.8.8.8\",\n    \"8.8.4.4\"\n]\n\n# How many queries to perform per second\n# WARNING: Google Public DNS guaranteed to handle 500 requests per second max\n# Please make sure that resolve results do not vary with higher request rates\n# before using high QPS configuration in production.\n# Alternatively you can use your own local caching DNS server.\nqueries_per_second = 500\n\n# Times to retry on connection timeout\nretry = 5\n```\n\nConfiguration template can also be found [here](batch_resolve.toml)\n\n## Contributing\n\nTo build project please clone the repo\n```\ngit clone git@github.com:mersinvald/batch_resolve.git\n```\nAnd run `cagro build`\n```\ncd batch_resolve\ncargo build\n```\n`batch_resolve` can be build with stable rust\n\nPlease file an issue if you have any improvement suggestion or bug report.\n\nPull Requests are welcome also!\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details\n\n## Acknowledgement\n* [TRust-DNS: A Rust based DNS client and server, built to be safe and secure from the ground up](https://github.com/bluejekyll/trust-dns)\n* [rust-musl-builder: Docker container for easily building static Rust binaries](https://github.com/emk/rust-musl-builder)gi\n\n## Donate\n\nIf you feel that this work is worth something and that it saved your time you can give me a cup of coffee :)\n\n* [Donate with PayPal](https://www.paypal.me/mersinvald)\n* [Donate with yandex.money](http://yasobe.ru/na/batch_resolve_coffee)\n","funding_links":["https://www.paypal.me/mersinvald"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmersinvald%2Fbatch_resolve","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmersinvald%2Fbatch_resolve","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmersinvald%2Fbatch_resolve/lists"}