[package] name = "public-ip" version = "0.2.2" authors = ["avitex "] edition = "2018" rust-version = "1.52.0" description = "Find the public IP address of a device" documentation = "https://docs.rs/public-ip" homepage = "https://github.com/avitex/rust-public-ip" repository = "https://github.com/avitex/rust-public-ip" license = "MIT" categories = ["network-programming"] include = ["src/**/*", "examples/**/*", "README.md", "LICENSE", "Cargo.toml"] keywords = ["public", "external", "ip", "async"] [features] default = ["all-providers", "tokio-dns-resolver", "tokio-http-resolver"] dns-resolver = ["trust-dns-proto"] http-resolver = ["http", "hyper", "hyper-system-resolver", "dns-lookup"] tokio-dns-resolver = ["dns-resolver", "tokio", "trust-dns-client", "trust-dns-proto/tokio-runtime"] tokio-http-resolver = ["http-resolver", "tokio", "hyper/runtime"] all-providers = ["google", "opendns", "whatismyipaddress-com", "ipify-org"] ipify-org = [] google = [] opendns = [] whatismyipaddress-com = [] [dependencies] thiserror = "1" tracing = "0.1" tracing-futures = { version = "0.2", features = ["futures-03"] } pin-project-lite = "0.2" futures-core = { version = "0.3", default-features = false } futures-util = { version = "0.3", default-features = false, features = ["alloc"] } tokio = { version = "1", optional = true } # DNS Resolver trust-dns-client = { version = "0.20", optional = true } trust-dns-proto = { version = "0.20", optional = true, default-features = false } # HTTP Resolver http = { version = "0.2", optional = true } dns-lookup = { version = "1", optional = true } hyper = { version = "0.14", features = ["client", "http1"], optional = true } hyper-system-resolver = { version = "0.5", default-features = false, optional = true } [dev-dependencies] tokio = { version = "~1", features = ["macros"] } [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]