All Projects β†’ magiclen β†’ whois-rust

magiclen / whois-rust

Licence: MIT license
This is a WHOIS client library for Rust, inspired by https://github.com/hjr265/node-whois

Programming Languages

rust
11053 projects

Labels

Projects that are alternatives of or similar to whois-rust

Python Whois
Python module/library for retrieving WHOIS information of domains πŸ’»β€
Stars: ✭ 128 (+652.94%)
Mutual labels:  whois
Whois
Intelligent WHOIS client
Stars: ✭ 244 (+1335.29%)
Mutual labels:  whois
WhoEnum
Mass querying whois records
Stars: ✭ 24 (+41.18%)
Mutual labels:  whois
Zonedb
Public Zone Database
Stars: ✭ 139 (+717.65%)
Mutual labels:  whois
Php Whois
PHP WHOIS provides parsed and raw whois lookup of domains and ASN routes. PHP 5.4+ and 7+ compatible
Stars: ✭ 179 (+952.94%)
Mutual labels:  whois
cli-domain-hunt
πŸ–₯ πŸ•΅οΈβ€β™‚οΈ A command line interface for domain-hunt
Stars: ✭ 29 (+70.59%)
Mutual labels:  whois
Domain Check 2
Domain Expiration Check Shell Script Forked and Maintained by nixCraft
Stars: ✭ 107 (+529.41%)
Mutual labels:  whois
convey
CSV processing and web related data types mutual conversion
Stars: ✭ 16 (-5.88%)
Mutual labels:  whois
Mylg
Network Diagnostic Tool
Stars: ✭ 2,538 (+14829.41%)
Mutual labels:  whois
domain-monitor
Self-hosted server to monitor WHOIS records for specified domains.
Stars: ✭ 36 (+111.76%)
Mutual labels:  whois
Pyfunceble
The tool to check the availability or syntax of domain, IP or URL.
Stars: ✭ 143 (+741.18%)
Mutual labels:  whois
Ip Attack
Auto IP or Domain Attack Tool ( #1 )
Stars: ✭ 162 (+852.94%)
Mutual labels:  whois
available
Domain availability checking for Golang
Stars: ✭ 30 (+76.47%)
Mutual labels:  whois
Graylog Plugin Threatintel
Graylog Processing Pipeline functions to enrich log messages with IoC information from threat intelligence databases
Stars: ✭ 132 (+676.47%)
Mutual labels:  whois
Malicious Domain Whois
πŸ”° ιžζ³•εŸŸεζŒ–ζŽ˜δΈŽη”»εƒη³»η»Ÿ
Stars: ✭ 69 (+305.88%)
Mutual labels:  whois
Whois Parser
Go(Golang) module for domain whois information parsing.
Stars: ✭ 123 (+623.53%)
Mutual labels:  whois
osint
Docker image for osint
Stars: ✭ 92 (+441.18%)
Mutual labels:  whois
Pois
Whois lookup behind proxy using Python
Stars: ✭ 41 (+141.18%)
Mutual labels:  whois
WHOis
Whois Online Domain Database for check domains are reserved or not as parallel
Stars: ✭ 18 (+5.88%)
Mutual labels:  whois
domnibus
Access domain information via python and command line.
Stars: ✭ 16 (-5.88%)
Mutual labels:  whois

WHOIS Rust

CI

This is a WHOIS client library for Rust, inspired by https://github.com/hjr265/node-whois

Usage

You can make a servers.json file or copy one from https://github.com/hjr265/node-whois

This is a simple example of servers.json.

{
    "org": "whois.pir.org",
    "": "whois.ripe.net",
    "_": {
        "ip": {
            "host": "whois.arin.net",
            "query": "n + $addr\r\n"
        }
    }
}

Then, use the from_path (or from_string if your JSON data is in-memory) associated function to create a WhoIs instance.

use whois_rust::WhoIs;

let whois = WhoIs::from_path("/path/to/servers.json").unwrap();

Use the lookup method and input a WhoIsLookupOptions instance to lookup a domain or an IP.

use whois_rust::{WhoIs, WhoIsLookupOptions};

let whois = WhoIs::from_path("/path/to/servers.json").unwrap();

let result: String = whois.lookup(WhoIsLookupOptions::from_string("magiclen.org").unwrap()).unwrap();

Asynchronous APIs

You may want to use async APIs with your async runtime. This crate supports tokio, currently.

[dependencies.whois-rust]
version = "*"
features = ["tokio"]

After enabling the async feature, the from_path_async function and the lookup_async function are available.

Testing

# git clone --recurse-submodules git://github.com/magiclen/whois-rust.git

git clone git://github.com/magiclen/whois-rust.git

git submodule init
git submodule update --recursive

cd whois-rust

cargo test

Crates.io

https://crates.io/crates/whois-rust

Documentation

https://docs.rs/whois-rust

License

MIT

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