#ip-address #check #ipv6 #command-line-tool #global #provider #ipv4

bin+lib gip

A library and command-line frontend to check global IP address

16 releases

0.7.1 Mar 7, 2022
0.7.0 Nov 24, 2020
0.6.0 Sep 19, 2018
0.5.1 May 30, 2018
0.1.0 Feb 22, 2016

#22 in #ipv4

MIT/Apache

48KB
1K SLoC

gip

Actions Status Crates.io Docs.rs codecov

gip is a command-line tool and Rust library to check global IP address.

Install

Download from release page, and extract to the directory in PATH.

Alternatively you can install by cargo.

cargo install gip

Usage

gip 0.3.2-pre
dalance <dalance@gmail.com>
A library and command-line frontend to check global IP address

USAGE:
    gip [FLAGS] [OPTIONS]

FLAGS:
    -4, --v4         IPv4 address ( default )
    -6, --v6         IPv6 address
    -p, --plane      Show by plane text ( default )
    -s, --string     Show by plane text without line break
    -j, --json       Show by JSON
    -l, --list       Show provider list
    -v, --verbose    Show verbose message
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
        --timeout <timeout>      Timeout per each provider by milliseconds [default: 1000]
        --json-key <json_key>    Key string of JSON format [default: ip]
        --proxy <proxy>          Proxy for HTTP access ( "host:port" )

Providers

Currently built-in service providers are the followings.

If you want to change providers, providers can be set by $HOME/.gip.toml like the following.

[[providers]]
    name     = "ident.me"
    ptype    = "IPv4"
    protocol = "HttpPlane"
    url      = "http://v4.ident.me/"
    key      = []

[[providers]]
    name     = "test-ipv6"
    ptype    = "IPv4"
    protocol = "HttpJson"
    url      = "http://ipv4.test-ipv6.com/ip/"
    key      = ["ip"]
    padding  = "callback"

[[providers]]
    name     = "opendns.com"
    ptype    = "IPv4"
    protocol = "Dns"
    url      = "myip.opendns.com@resolver1.opendns.com"
    key      = []

Library

gip is provided as Rust library.

gip = "0.7.1"

Documentation

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~14–28MB
~425K SLoC