Skip to content

ip-fetch

IP Geolocation data fetcher for Kodachi OS - Fetches and displays IP address information including geolocation, ISP, and network details

Version: 9.0.1 | Size: 10.4MB | Author: Warith Al Maawali

License: Proprietary | Website: https://www.digi77.com


File Information

Property Value
Binary Name ip-fetch
Version 9.0.1
Build Date 2025-09-23T19:20:07.298883446Z
Rust Version 1.82.0
File Size 10.4MB
JSON Data View Raw JSON

SHA256 Checksum

60de1c899d1aa556e24319f1262337dbfbf5829ac92928007a06843b86db268d

Features

Feature Description
Feature Multi-source IP geolocation with fallback support
Feature IPv4 and IPv6 dual-stack support
Feature Bulk IP lookup with optimized performance
Feature Offline mode with cached data
Feature VPN and proxy detection
Feature ISP and organization information
Feature Secure API communication with certificate pinning
Feature Rate limiting and retry logic
Feature Comprehensive error handling

Security Features

Feature Description
Authentication Secure authentication with certificate pinning
Encryption TLS 1.3 for all network communications
Inputvalidation All inputs are validated and sanitized
Ratelimiting Built-in rate limiting for network operations

System Requirements

Requirement Value
OS Linux (Debian-based)
Privileges root/sudo for system operations
Dependencies OpenSSL, libcurl

Global Options

Flag Description
-h, --help Print help information
-v, --version Print version information
-n, --info Display detailed information
-e, --examples Show usage examples
--json Output in JSON format
--json-pretty Pretty-print JSON output with indentation
--json-human Enhanced JSON output with improved formatting (like jq)
--verbose Enable verbose output
--quiet Suppress non-essential output
--no-color Disable colored output
--config <FILE> Use custom configuration file
--timeout <SECS> Set timeout (default: 30)
--retry <COUNT> Retry attempts (default: 3)

Commands

Authentication

auth-status

Check authentication status

Usage:

ip-fetch auth-status [OPTIONS]

Basic Operations

plain-ip

Simple plain text IP address retrieval

Usage:

ip-fetch plain-ip [OPTIONS]

Cache Management

cache

Manage IP cache for improved performance

Usage:

ip-fetch cache [OPTIONS]

Comprehensive Testing

test-all

Complete test suites for all functionality

Usage:

ip-fetch test-all [OPTIONS]

DNS Operations

dns

DNS-based IP resolution and testing

Usage:

ip-fetch dns [OPTIONS]

Debugging

debug-auth

Create authentication debug script

Usage:

ip-fetch debug-auth [OPTIONS]

Geolocation Services

geo

Geolocation API testing with various IPs

Usage:

ip-fetch geo [OPTIONS]

IP Operations

fetch

Fetch IP geolocation information (default command)

Usage:

ip-fetch fetch [OPTIONS]

Network Testing

tor

Test IP lookup through Tor SOCKS proxy

Usage:

ip-fetch tor [OPTIONS]

check-tor

Check if connection is using Tor network

Usage:

ip-fetch check-tor [OPTIONS]

Testing Operations

test-fallback

Test fallback mechanisms and multiple source verification

Usage:

ip-fetch test-fallback [OPTIONS]

verify-multi

Verify multiple sources

Usage:

ip-fetch verify-multi [OPTIONS]

random

Test random server selection functionality

Usage:

ip-fetch random [OPTIONS]

Examples

Usage Examples

Common usage patterns for ip-fetch

Get your current public IP

ip-fetch
Expected Output: Current IP with geolocation data

Show usage examples

ip-fetch --examples
Expected Output: Display all usage patterns

Basic Usage

Common IP lookup operations

Get your current public IP from Kodachi Cloud (primary) with automatic fallback

ip-fetch
Expected Output: Current IP with geolocation data

Look up specific IP address

ip-fetch 8.8.8.8
Expected Output: Geolocation data for 8.8.8.8

Look up multiple IP addresses

ip-fetch 8.8.8.8 1.1.1.1
Expected Output: Bulk lookup results

Note

Automatically uses bulk mode for better performance

Force refresh cache and get latest IP data

ip-fetch --refresh-cache
Expected Output: Fresh IP data bypassing cache

Output Formats

Different ways to format output

Get your current IP in JSON format from primary source with fallback

ip-fetch --json
Expected Output: JSON object with complete IP information

Formatted JSON with indentation

ip-fetch --json-pretty
Expected Output: Pretty-printed JSON output

Enhanced human-readable JSON output with colors (like jq)

ip-fetch --json-human
Expected Output: Colorized JSON output for better readability

Basic IP Lookups

Own IP lookup and single IP lookup operations

Explicitly request IPv4 from primary source with fallback

ip-fetch --ipv4
Expected Output: Shows your IPv4 address with geolocation data

Get your current public IPv6 from Kodachi Cloud (primary) with automatic fallback

ip-fetch --ipv6
Expected Output: Shows your IPv6 address with geolocation data

Get your IPv6 in JSON format from primary source with fallback

ip-fetch --ipv6 --json
Expected Output: JSON object with IPv6 geolocation data

Get both IPv4 and IPv6 information from primary sources with fallback

ip-fetch --both
Expected Output: Shows both IPv4 and IPv6 with full details

Get both IPs in JSON format from primary sources with fallback

ip-fetch --both --json
Expected Output: JSON object with both IPv4 and IPv6 data

Fallback and Multi-Source Testing

Testing fallback mechanisms and multiple source verification

Test IPv4 JSON sources with automatic fallback

ip-fetch test-fallback ipv4 json
Expected Output: IPv4 JSON fallback test results

Test IPv6 JSON sources with automatic fallback

ip-fetch test-fallback ipv6 json --json
Expected Output: IPv6 JSON fallback test results in JSON format

Test IPv4 plain text sources with automatic fallback

ip-fetch test-fallback ipv4 plain
Expected Output: IPv4 plain text fallback results

Test IPv6 plain text sources with automatic fallback

ip-fetch test-fallback ipv6 plain
Expected Output: IPv6 plain text fallback results

Test ALL IPv4 sources to verify consistency

ip-fetch verify-multi ipv4
Expected Output: IPv4 multi-source verification report

Test ALL IPv6 sources with JSON output

ip-fetch verify-multi ipv6 --json
Expected Output: JSON IPv6 multi-source verification

Tor Detection

Check if your connection is using Tor

Check if connection is using Tor and show IP

ip-fetch check-tor
Expected Output: Tor status and current IP address

Get just the IP address

ip-fetch check-tor --ip-only
Expected Output: Your current IP address

Get just the Tor status

ip-fetch check-tor --status-only
Expected Output: true or false

Get Tor status and IP in JSON format

ip-fetch check-tor --json
Expected Output: JSON object with IsTor and IP fields

Pretty-printed JSON output

ip-fetch check-tor --json-pretty
Expected Output: Formatted JSON with Tor status

Colorized JSON output (like jq)

ip-fetch check-tor --json-human
Expected Output: Colored JSON with Tor status

Tor Network Testing

Testing IP lookup through Tor SOCKS proxy

Get IPv4 through Tor SOCKS5 proxy from ONE random source

ip-fetch tor ipv4
Expected Output: IP address via Tor proxy

Test ALL IPv4 sources through Tor SOCKS5 proxy

ip-fetch tor ipv4 all
Expected Output: Comprehensive Tor IPv4 test results

Test ALL IPv6 sources through Tor SOCKS5 proxy with JSON output

ip-fetch tor ipv6 all --json
Expected Output: JSON array with all Tor IPv6 results

Get IPv4 JSON response through Tor SOCKS5 proxy

ip-fetch tor ipv4 --json
Expected Output: JSON IPv4 data via Tor

Random source through Tor SOCKS5 proxy

ip-fetch tor random
Expected Output: Random IP source via Tor

Use custom Tor port with ONE random IPv4 source

ip-fetch tor ipv4 --socks-port 9150
Expected Output: IPv4 via custom Tor port

Use custom Tor port with ALL IPv4 sources

ip-fetch tor ipv4 all --socks-port 9150
Expected Output: All IPv4 sources via custom Tor port

DNS Resolution Testing

DNS-based IP resolution and testing

Test DNS-based IPv4 resolution using ONE random DNS query

ip-fetch dns ipv4
Expected Output: IPv4 address from DNS query

Test DNS-based IPv6 resolution using ONE random DNS query

ip-fetch dns ipv6
Expected Output: IPv6 address from DNS query

Test specific DNS query by index

ip-fetch dns ipv4 --query-index 0
Expected Output: IPv4 from specific DNS query

Test ALL available IPv6 DNS queries with JSON output

ip-fetch dns ipv6 --query-index all --json
Expected Output: JSON array with all IPv6 DNS results

Comprehensive Testing Suite

Complete test suites for all functionality

Complete test suite results

ip-fetch test-all
Expected Output: Full functionality test report

Complete test suite including Tor tests

ip-fetch test-all --include-tor
Expected Output: Comprehensive test results with Tor

Complete test suite including Tor tests using custom SOCKS port 9150

ip-fetch test-all --include-tor --socks-port 9150 --json
Expected Output: JSON formatted test results with custom Tor port

JSON formatted complete test results

ip-fetch test-all --json
Expected Output: Structured test suite results

Random Source Testing

Test random IP sources for reliability

Test ONE random IPv4 plain text source

ip-fetch random plain-ipv4
Expected Output: Random IPv4 source test result

Test ONE random IPv4 JSON source with JSON output

ip-fetch random json-ipv4 --json
Expected Output: Random IPv4 JSON source test result

Test ONE random DNS IPv4 query

ip-fetch random dns-ipv4
Expected Output: Random DNS IPv4 query result

Test ONE random DNS IPv6 query with JSON output

ip-fetch random dns-ipv6 --json
Expected Output: Random DNS IPv6 query result in JSON

Geolocation API Testing

Test geolocation APIs with various IPs

Test geo APIs with current IP

ip-fetch geo
Expected Output: Geolocation test results for your IP

Test geo APIs with specific IP

ip-fetch geo --ip 8.8.8.8
Expected Output: Geolocation test results for 8.8.8.8

Show raw JSON responses

ip-fetch geo --verbose
Expected Output: Detailed geo API responses

Geo data for IP in JSON

ip-fetch geo --ip 1.1.1.1 --json
Expected Output: JSON geolocation data for 1.1.1.1

Plain Text IP Retrieval

Get IP addresses in plain text format

Get IPv4 plain text

ip-fetch plain-ip ipv4
Expected Output: Your IPv4 address as plain text

Get IPv6 plain text

ip-fetch plain-ip ipv6
Expected Output: Your IPv6 address as plain text

Use specific server by index

ip-fetch plain-ip ipv4 --server-index 5
Expected Output: IPv4 from server index 5

Authentication Commands

Authentication and API status commands

Check authentication status

ip-fetch auth-status
Expected Output: Current authentication status

Auth status in JSON format

ip-fetch auth-status --json
Expected Output: JSON authentication status

Create authentication debug script

ip-fetch debug-auth
Expected Output: Debug script created

Bulk Operations

Efficient bulk IP lookups

Efficient bulk lookup of multiple IPs

ip-fetch --bulk 1.1.1.1 9.9.9.9 8.8.8.8
Expected Output: Bulk results for all IPs

Bulk lookup with JSON output

ip-fetch --bulk 1.1.1.1 9.9.9.9 --json
Expected Output: JSON array with all IP data

Disable bulk mode for individual lookups

ip-fetch --nobulk 1.1.1.1 9.9.9.9
Expected Output: Individual lookup results

Bulk IPv4-only lookups

ip-fetch --bulk --ipv4 1.1.1.1 9.9.9.9
Expected Output: Bulk IPv4 results

Bulk lookup without saving to history

ip-fetch --bulk --nohistory 1.1.1.1 9.9.9.9 8.8.8.8
Expected Output: Bulk results (not saved)

Basic Usage

Common IP lookup operations

Get your current public IP from Kodachi Cloud (primary) with automatic fallback

ip-fetch
Expected Output: Current IP with geolocation data

Look up specific IP address

ip-fetch 8.8.8.8
Expected Output: Geolocation data for 8.8.8.8

Look up multiple IP addresses

ip-fetch 8.8.8.8 1.1.1.1
Expected Output: Bulk lookup results

Note

Automatically uses bulk mode for better performance

Force refresh cache and get latest IP data

ip-fetch --refresh-cache
Expected Output: Fresh IP data bypassing cache

Output Formats

Different ways to format output

Get your current IP in JSON format from primary source with fallback

ip-fetch --json
Expected Output: JSON object with complete IP information

Formatted JSON with indentation

ip-fetch --json-pretty
Expected Output: Pretty-printed JSON output

Enhanced human-readable JSON output with colors (like jq)

ip-fetch --json-human
Expected Output: Colorized JSON output for better readability

Basic IP Lookups

Own IP lookup and single IP lookup operations

Explicitly request IPv4 from primary source with fallback

ip-fetch --ipv4
Expected Output: Shows your IPv4 address with geolocation data

Get your current public IPv6 from Kodachi Cloud (primary) with automatic fallback

ip-fetch --ipv6
Expected Output: Shows your IPv6 address with geolocation data

Get your IPv6 in JSON format from primary source with fallback

ip-fetch --ipv6 --json
Expected Output: JSON object with IPv6 geolocation data

Get both IPv4 and IPv6 information from primary sources with fallback

ip-fetch --both
Expected Output: Shows both IPv4 and IPv6 with full details

Get both IPs in JSON format from primary sources with fallback

ip-fetch --both --json
Expected Output: JSON object with both IPv4 and IPv6 data

Fallback and Multi-Source Testing

Testing fallback mechanisms and multiple source verification

Test IPv4 JSON sources with automatic fallback

ip-fetch test-fallback ipv4 json
Expected Output: IPv4 JSON fallback test results

Test IPv6 JSON sources with automatic fallback

ip-fetch test-fallback ipv6 json --json
Expected Output: IPv6 JSON fallback test results in JSON format

Test IPv4 plain text sources with automatic fallback

ip-fetch test-fallback ipv4 plain
Expected Output: IPv4 plain text fallback results

Test IPv6 plain text sources with automatic fallback

ip-fetch test-fallback ipv6 plain
Expected Output: IPv6 plain text fallback results

Test ALL IPv4 sources to verify consistency

ip-fetch verify-multi ipv4
Expected Output: IPv4 multi-source verification report

Test ALL IPv6 sources with JSON output

ip-fetch verify-multi ipv6 --json
Expected Output: JSON IPv6 multi-source verification

Random Source Testing

Test random IP sources for reliability

Test ONE random IPv4 plain text source

ip-fetch random plain-ipv4
Expected Output: Random IPv4 source test result

Test ONE random IPv4 JSON source with JSON output

ip-fetch random json-ipv4 --json
Expected Output: Random IPv4 JSON source test result

Test ONE random DNS IPv4 query

ip-fetch random dns-ipv4
Expected Output: Random DNS IPv4 query result

Test ONE random DNS IPv6 query with JSON output

ip-fetch random dns-ipv6 --json
Expected Output: Random DNS IPv6 query result in JSON

Tor Network Testing

Testing IP lookup through Tor SOCKS proxy

Get IPv4 through Tor SOCKS5 proxy from ONE random source

ip-fetch tor ipv4
Expected Output: IP address via Tor proxy

Test ALL IPv4 sources through Tor SOCKS5 proxy

ip-fetch tor ipv4 all
Expected Output: Comprehensive Tor IPv4 test results

Test ALL IPv6 sources through Tor SOCKS5 proxy with JSON output

ip-fetch tor ipv6 all --json
Expected Output: JSON array with all Tor IPv6 results

Get IPv4 JSON response through Tor SOCKS5 proxy

ip-fetch tor ipv4 --json
Expected Output: JSON IPv4 data via Tor

Random source through Tor SOCKS5 proxy

ip-fetch tor random
Expected Output: Random IP source via Tor

Use custom Tor port with ONE random IPv4 source

ip-fetch tor ipv4 --socks-port 9150
Expected Output: IPv4 via custom Tor port

Use custom Tor port with ALL IPv4 sources

ip-fetch tor ipv4 all --socks-port 9150
Expected Output: All IPv4 sources via custom Tor port

Tor Detection

Check if your connection is using Tor

Check if connection is using Tor and show IP

ip-fetch check-tor
Expected Output: Tor status and current IP address

Get just the IP address

ip-fetch check-tor --ip-only
Expected Output: Your current IP address

Get just the Tor status

ip-fetch check-tor --status-only
Expected Output: true or false

Get Tor status and IP in JSON format

ip-fetch check-tor --json
Expected Output: JSON object with IsTor and IP fields

Pretty-printed JSON output

ip-fetch check-tor --json-pretty
Expected Output: Formatted JSON with Tor status

Colorized JSON output (like jq)

ip-fetch check-tor --json-human
Expected Output: Colored JSON with Tor status

DNS Resolution Testing

DNS-based IP resolution and testing

Test DNS-based IPv4 resolution using ONE random DNS query

ip-fetch dns ipv4
Expected Output: IPv4 address from DNS query

Test DNS-based IPv6 resolution using ONE random DNS query

ip-fetch dns ipv6
Expected Output: IPv6 address from DNS query

Test specific DNS query by index

ip-fetch dns ipv4 --query-index 0
Expected Output: IPv4 from specific DNS query

Test ALL available IPv6 DNS queries with JSON output

ip-fetch dns ipv6 --query-index all --json
Expected Output: JSON array with all IPv6 DNS results

Geolocation API Testing

Test geolocation APIs with various IPs

Test geo APIs with current IP

ip-fetch geo
Expected Output: Geolocation test results for your IP

Test geo APIs with specific IP

ip-fetch geo --ip 8.8.8.8
Expected Output: Geolocation test results for 8.8.8.8

Show raw JSON responses

ip-fetch geo --verbose
Expected Output: Detailed geo API responses

Geo data for IP in JSON

ip-fetch geo --ip 1.1.1.1 --json
Expected Output: JSON geolocation data for 1.1.1.1

Plain Text IP Retrieval

Get IP addresses in plain text format

Get IPv4 plain text

ip-fetch plain-ip ipv4
Expected Output: Your IPv4 address as plain text

Get IPv6 plain text

ip-fetch plain-ip ipv6
Expected Output: Your IPv6 address as plain text

Use specific server by index

ip-fetch plain-ip ipv4 --server-index 5
Expected Output: IPv4 from server index 5

Comprehensive Testing Suite

Complete test suites for all functionality

Complete test suite results

ip-fetch test-all
Expected Output: Full functionality test report

Complete test suite including Tor tests

ip-fetch test-all --include-tor
Expected Output: Comprehensive test results with Tor

Complete test suite including Tor tests using custom SOCKS port 9150

ip-fetch test-all --include-tor --socks-port 9150 --json
Expected Output: JSON formatted test results with custom Tor port

JSON formatted complete test results

ip-fetch test-all --json
Expected Output: Structured test suite results

Authentication Commands

Authentication and API status commands

Check authentication status

ip-fetch auth-status
Expected Output: Current authentication status

Auth status in JSON format

ip-fetch auth-status --json
Expected Output: JSON authentication status

Create authentication debug script

ip-fetch debug-auth
Expected Output: Debug script created

Bulk Operations

Efficient bulk IP lookups

Efficient bulk lookup of multiple IPs

ip-fetch --bulk 1.1.1.1 9.9.9.9 8.8.8.8
Expected Output: Bulk results for all IPs

Bulk lookup with JSON output

ip-fetch --bulk 1.1.1.1 9.9.9.9 --json
Expected Output: JSON array with all IP data

Disable bulk mode for individual lookups

ip-fetch --nobulk 1.1.1.1 9.9.9.9
Expected Output: Individual lookup results

Bulk IPv4-only lookups

ip-fetch --bulk --ipv4 1.1.1.1 9.9.9.9
Expected Output: Bulk IPv4 results

Bulk lookup without saving to history

ip-fetch --bulk --nohistory 1.1.1.1 9.9.9.9 8.8.8.8
Expected Output: Bulk results (not saved)

Custom Server Options

Use custom servers for IP lookup

Use custom server for IP lookup

ip-fetch --server https://api.ipify.org
Expected Output: IP from custom server

Custom server with JSON output

ip-fetch --server https://api.ipify.org --json
Expected Output: JSON from custom server

Custom IPv4 server

ip-fetch --server https://ipv4.icanhazip.com --ipv4
Expected Output: IPv4 from custom server

Custom IPv6 server

ip-fetch --server https://ipv6.icanhazip.com --ipv6
Expected Output: IPv6 from custom server

Output Formatting Options

Various output formatting options

Bulk lookup in JSON

ip-fetch --bulk 1.1.1.1 9.9.9.9 --json
Expected Output: JSON array with IP data

Lookup without saving to history

ip-fetch --nohistory 8.8.8.8
Expected Output: IP data (not saved)

No History Operations

Operations without saving to history

Get own IP without saving to history

ip-fetch --nohistory
Expected Output: Your IP (not saved)

IPv6 multi-source verification without history

ip-fetch --nohistory verify-multi ipv6 --json
Expected Output: IPv6 verification results (not saved)

DNS resolution without saving to history

ip-fetch --nohistory dns ipv4
Expected Output: DNS results (not saved)

Tor test (ONE random source) without saving results to history

ip-fetch --nohistory tor ipv4
Expected Output: Tor test result (not saved)

Tor test (ALL sources) without saving results to history

ip-fetch --nohistory tor ipv4 all
Expected Output: All Tor test results (not saved)

Random IP test without history in JSON

ip-fetch --nohistory random plain-ipv4 --json
Expected Output: Random test JSON (not saved)

Geo lookup without saving to history

ip-fetch --nohistory geo --ip 1.1.1.1
Expected Output: Geo data (not saved)

Comprehensive test without saving any results to history

ip-fetch --nohistory test-all --json
Expected Output: Full test results (not saved)

Environment Variables

Variable Description Default Values
RUST_LOG Set logging level info error
NO_COLOR Disable all colored output when set unset 1

Exit Codes

Code Description
0 Success
1 General error
2 Invalid arguments
3 Permission denied
4 Network error
5 File not found

Back to top