私のIPアドレス

- 訪問者の実際のIPアドレス情報を見るには ここをクリック
macOS, Linux, OpenWRT, Raspberry Pi, BSD
curl ipin.io

標準のcurlコマンドは、ほとんどのUnix系システムで動作します。JSON形式で出力するには:

curl ipin.io/json
Android (Termux)
curl --ipv4 ipin.io

TermuxでIPv4接続を強制します。タイムアウトを設定する代替方法:

curl --connect-timeout 5 ipin.io
Windows PowerShell
(Invoke-WebRequest -Uri "http://ipin.io").Content

簡略化したPowerShell構文です。JSONレスポンスを得るには:

(Invoke-WebRequest -Uri "http://ipin.io/json").Content | ConvertFrom-Json
iOS (iSH Terminal)
wget -qO- ipin.io

サイレントモード(-q)でstdout(-O-)に出力します。Alpine Linux(iSH基盤)用:

apk add curl && curl ipin.io
OpenWRTルーター
wget -qO- --timeout=10 ipin.io

リソース制限のあるデバイス向けに推奨します。wgetが利用できない場合:

opkg install wget-ssl
Dockerコンテナ
curl --max-time 5 ipin.io

curlがない最小コンテナの場合:

docker run --rm alpine wget -qO- ipin.io
ブラウザJavaScript
fetch('https://ipin.io/get_client_ip')
  .then(r => r.ok ? r.json() : Promise.reject('APIエラー'))
  .then(data => console.log('IP:', data.ip))
  .catch(e => console.error('エラー:', e))

エラーハンドリング付きの基本実装です。運用環境で使用する場合:

  • AbortControllerを使ってタイムアウト処理を追加する
  • クロスオリジンリクエストの際にCORS要件を考慮する
  • レート制限を回避するために結果をキャッシュする

注意:

ブラウザAPIは、プロキシやVPNの影響で、サーバー側で確認したIPとは異なる場合があります。ウェブアプリで正確なクライアントIPを取得するには、サーバー側での検出を検討してください。

IPクエリツールの詳細説明

このツールは、開発者およびシステム管理者向けに設計された、公共IPアドレスのクロスプラットフォームでのクエリを行うための包括的なソリューションです。複雑なネットワーク環境でデバイスのパブリックIPアドレスを正確に取得できます。従来のIPクエリサービスとは異なり、このソリューションはさまざまなオペレーティングシステムおよび実行環境向けに最適化されており、さまざまなシナリオでも安定したパフォーマンスを保証します。

このツールは、macOS/Linux端末、Windows PowerShell、Android Termux端末、iOS iSH端末、OpenWRTルーターシステム、Dockerコンテナ環境など、複数のプラットフォームをサポートしています。各プラットフォームには、ネットワークスタックの実装の違いやデフォルトツールチェーンの特徴、一般的な設定制限を考慮した最適なコマンドが提供されています。

特に注目すべきは、最新のfetch APIを使用した完全なブラウザサイドJavaScript実装を提供している点です。これにより、フロントエンド開発者は簡単にWebアプリケーションに統合できます。このソリューションはCORS(クロスオリジンリソースシェアリング)問題を処理し、強力なエラーハンドリングを提供します。

すべてのクエリインターフェースは、IPv4およびIPv6のデュアルスタックプロトコルをサポートしており、ネットワーク環境に基づいて最適なクエリ方法を自動的に選択します。返された結果は、プレーンテキストとJSON形式の両方で提供され、JSON形式には、ジオロケーション、ネットワークオペレーターなどのIP関連情報が含まれます。

詳細な使用ガイド

1. 環境別のコマンド

実行環境に応じて、次の最適化されたコマンドを使用することをお勧めします:

  • Unix系システム(macOS/Linux/BSDなど):
    curl -s ipin.io

    curlツールを使用することで、簡潔かつ効率的に動作します。-sオプションでサイレントモードを有効にして、余分な出力を避けることができます。接続タイムアウトのパラメータを追加することをお勧めします:--connect-timeout 3

  • Windowsシステム:
    (Invoke-WebRequest -Uri "http://ipin.io" -UseBasicParsing).Content

    PowerShellの標準コマンドです。古いシステムの場合、次のコマンドも使用できます:(New-Object Net.WebClient).DownloadString("http://ipin.io")

  • モバイルデバイス:
    # Android Termux
    curl --ipv4 --silent ipin.io
    
    # iOS iSH
    wget -qO- --no-check-certificate ipin.io

    AndroidはIPv4を強制して、デュアルスタック環境の問題を避けます。iOSは証明書の検証をスキップします。信頼性を高めるためにリトライロジックを追加することをお勧めします。

2. 高度な使用のコツ

  • JSON形式での出力:

    コマンドのURLに/jsonパスを追加して、構造化データを取得できます:

    curl ipin.io/get_client_ip

    サンプルレスポンス:

    {"ip": "203.0.113.45"}
  • ネットワークデバッグのコツ:

    ネットワーク環境が複雑な場合、次のパラメータを使用することをお勧めします:

    curl --retry 2 --connect-timeout 5 --max-time 10 ipin.io

    このコマンドは、5秒以内に接続し、最大2回のリトライを行い、全体のリクエストが10秒以内に完了することを保証します。