batch_resolve | Fast asynchronous DNS batch resolver | DNS library

 by   mersinvald Rust Version: v0.3.7 License: MIT

kandi X-RAY | batch_resolve Summary

kandi X-RAY | batch_resolve Summary

batch_resolve is a Rust library typically used in Networking, DNS, Docker applications. batch_resolve has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

This page in Russian.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              batch_resolve has a low active ecosystem.
              It has 24 star(s) with 2 fork(s). There are 1 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 4 open issues and 8 have been closed. On average issues are closed in 11 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of batch_resolve is v0.3.7

            kandi-Quality Quality

              batch_resolve has no bugs reported.

            kandi-Security Security

              batch_resolve has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              batch_resolve is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              batch_resolve releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of batch_resolve
            Get all kandi verified functions for this library.

            batch_resolve Key Features

            No Key Features are available at this moment for batch_resolve.

            batch_resolve Examples and Code Snippets

            Batch Resolve,Usage,Configuration
            Rustdot img1Lines of Code : 19dot img1License : Permissive (MIT)
            copy iconCopy
            batch_resolve.toml
            $HOME/.config/batch_resolve.toml
            /etc/batch_resolve.toml
            
            # DNS servers are only accepted as socket addresses
            # If port is not specified default DNS :53 port will be used
            dns = [
                "8.8.8.8",
                "8.8.4.4"
            ]
            
            # How many queries t  
            Batch Resolve,Usage
            Rustdot img2Lines of Code : 6dot img2License : Permissive (MIT)
            copy iconCopy
            google.com
            rust-lang.org
            mozilla.org
            
            batch_resolve --in domains.txt --out hosts.txt --query A
            
            batch_resolve -i domains.txt -o hosts.txt -q A
                          -i domains.txt -o hosts.txt -q AAAA  
              
            Batch Resolve,Contributing
            Rustdot img3Lines of Code : 3dot img3License : Permissive (MIT)
            copy iconCopy
            git clone git@github.com:mersinvald/batch_resolve.git
            
            cd batch_resolve
            cargo build
              

            Community Discussions

            QUESTION

            How do you wrap synchronous network I/O trivially with Tokio?
            Asked 2020-Aug-24 at 14:12

            There is an evident lapse in my understanding on concurrent development in Rust unfortunately. This question stems from weeks repeated struggles to solve a seemingly "trivial" problem.

            Problem Domain

            Developing a Rust library, named twistrs that is a domain name permutation and enumeration library. The aim and objective of the library, is to be provide a root domain (e.g. google.com) and generate permutations of that domain (e.g. guugle.com) and enrichment that permutation (e.g. it resolves to 123.123.123.123).

            One of its objectives, is to perform substantially faster than its Python counterpart. Most notably, network calls such as, but not limited to, DNS lookups.

            Currently Design Proposal

            The idea behind the library (apart from being a learning ground) is to develop a very trivial security library that can be implemented to meet various requirements. You (as a client) can choose to interact directly to the permutation or enrichment modules internally, or use the library provided async/concurrent implementation.

            Note that there is no shared state internally. This is probably very inefficient, but somewhat meaningless for the time being as it prevents a lot of issues.

            Current Problem

            Internally the DNS lookup is done synchronously and blocks by nature. I'm having trouble turning this into concurrent code. The closest I could get was to use tokio mpsc channels, and perform spawn a single tokio task:

            ...

            ANSWER

            Answered 2020-Aug-23 at 17:44

            Edit: I misinterpreted your question and didn't realize that the DNS resolution itself wasn't asynchronous. The following approach won't actually work with synchronous code and will just result in the executor stalling because of the blocking code, but I'll leave it up in case you switch to an asynchronous resolution method. I'd recommend using tokio's asynchronous lookup_host() if that fits your needs.

            Async executors are designed to handle large numbers of parallel tasks, so you could try spawning a new task for every request, using a Semaphore to create an upper bound on the number of running tasks at once. The code for that might look like this:

            Source https://stackoverflow.com/questions/63548625

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install batch_resolve

            If you have rust toolkit installed, you can install batch_resolve with.

            Support

            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 :). If you use this tool and encounter critical bugs, let me know in the issues -- I'll try to find time to take a look.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/mersinvald/batch_resolve.git

          • CLI

            gh repo clone mersinvald/batch_resolve

          • sshUrl

            git@github.com:mersinvald/batch_resolve.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular DNS Libraries

            AdGuardHome

            by AdguardTeam

            coredns

            by coredns

            sealos

            by fanux

            sshuttle

            by sshuttle

            dns

            by miekg

            Try Top Libraries by mersinvald

            aquamarine

            by mersinvaldRust

            Reed-Solomon

            by mersinvaldC++

            reed-solomon-rs

            by mersinvaldRust

            tdjson-rs

            by mersinvaldRust

            rustyrobot

            by mersinvaldRust