cloudip
is a CLI tool that identifies which cloud provider (e.g., AWS, GCP, Azure, etc.) manages the given IP address. You can input a single or multiple IPs, and the results can be displayed in various formats, such as table, json.
🚨 Warning 🚨
This project is currently under development, and features and options may change without notice until the official release. The current version supports only AWS and GCP, with additional cloud providers planned for future updates.
- Single IP Check: Identify which cloud provider owns a specific IP.
- Multiple IP Check: Check multiple IP addresses at once.
- IPv4 and IPv6 Support: Supports both IPv4 and IPv6 addresses.
- Format Output: Display results in a formatted with the
--format
option.
cloudip is available as a package on the AUR.
You can install it using an AUR helper (e.g., yay
):
yay -S cloudip
Download the latest binary from the Releases page.
Supported Platforms:
- Linux (x86)
- Linux (x86_64)
- Linux (ARM64)
- macOS (x86_64)
- macOS (ARM64)
cloudip version
Output:
0.5.0
cloudip 54.230.176.25
Output:
54.230.176.25 aws
cloudip 54.230.176.25 54.230.176.30 54.230.176.45
Output:
54.230.176.25 aws
54.230.176.30 aws
54.230.176.45 aws
You can specify a custom delimiter for the output. The default delimiter is a space.
cloudip 54.230.176.25 --delimiter=','
Output:
54.230.176.25,aws
cloudip 54.230.176.25 --delimiter=$'\t'
Output:
54.230.176.25 aws
and any other custom delimiters can be used.
The output format can be specified using the --format
option. The following formats are supported:
text
(default)table
json
Text is the default output format.
cloudip 54.230.176.25
cloudip 54.230.176.25 --format=text
Output:
54.230.176.25 aws
Use --header
option to display the header.
cloudip 54.230.176.25 --header
Output:
IP Provider
54.230.176.25 aws
cloudip 54.230.176.25 --format=table
Output:
54.230.176.25 aws
--header
option can be used with the table format.
cloudip 54.230.176.25 --format=table --header
Output:
IP PROVIDER
54.230.176.25 aws
cloudip 54.230.176.25 --format=json
Output:
[{"IP":"54.230.176.25","Provider":"aws"}]
You can use with jq
to format the JSON output.
cloudip 54.230.176.25 --format=json | jq
Output:
[
{
"IP": "54.230.176.25",
"Provider": "aws"
}
]
csv format is not supported --format
option.
You can get output in CSV format using --format=text
and --delimiter=','
options.
If you want to get result with header, use --header
option.
cloudip 54.230.176.25 --format=text --delimiter=',' --header
Output:
IP,Provider
54.230.176.25,aws
You can use the --verbose
, -v
option to display detailed information.
cloudip --verbose 54.230.176.25
Output:
AWS IP ranges file not exists.
Downloading AWS IP ranges...
AWS IP ranges updated [2024-12-27 04:12:30]
54.230.176.25 aws
- Ensure that Go is installed (Go v1.20 or later is recommended).
- Use the
make
command to build the project:git clone https://github.com/jongwoo328/cloudip.git go mod tidy cd cloudip make build -j
- The binary will be generated in the
build/
directory.
This project is licensed under the Apache License 2.0.
You may use this project in compliance with the terms and conditions of the Apache 2.0 License. For more details, see the LICENSE file or visit the official Apache License website.