Мой IP-адрес

- Чтобы просмотреть реальный IP-адрес посетителя, нажмите здесь
macOS, Linux, OpenWRT, Raspberry Pi, BSD
curl ipin.io

Стандартная команда curl работает в большинстве Unix-подобных систем. Для вывода в формате JSON:

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

Принудительное использование IPv4 в Termux. Альтернатива с таймаутом:

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)
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 браузера может возвращать IP, отличный от серверного, из-за прокси/VPN. Для получения точного клиентского IP в веб-приложениях используйте серверное определение.

Подробное описание инструмента проверки IP

Этот инструмент — это комплексное кроссплатформенное решение для определения публичных IP-адресов, созданное для разработчиков и системных администраторов. Он точно определяет публичный IP-адрес устройства в различных сложных сетевых средах. В отличие от традиционных сервисов, данное решение оптимизировано для разных операционных систем и обеспечивает стабильную работу в любых сценариях.

Поддерживаются такие платформы, как терминалы macOS/Linux, Windows PowerShell, Android Termux, iOS iSH, системы OpenWRT и среды Docker. Для каждой платформы предоставляются проверенные лучшие команды с учетом особенностей сетевого стека, инструментов и стандартных ограничений.

Особо стоит отметить наличие готовой реализации на стороне браузера на современном fetch API с поддержкой асинхронных вызовов Promise, что удобно для frontend-разработчиков. Решение учитывает CORS и реализует полноценную обработку ошибок.

Все интерфейсы поддерживают двойной стек IPv4 и IPv6 и автоматически выбирают оптимальный метод запроса. Результаты доступны как в текстовом, так и в формате 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 для предотвращения проблем с dual-stack. На iOS отключается проверка сертификата. Рекомендуется добавить логику повторов для надежности.

2. Продвинутые советы по использованию

  • Вывод в формате JSON:

    Добавьте путь /json к URL любой команды для получения структурированных данных:

    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 секунд.