Найти в Дзене
avencores.

public-ip-address: Извлечение публичного IP и геолокации на Rust

public-ip-address — это простая и эффективная библиотека для языка Rust, предназначенная для получения внешнего IP-адреса устройства и подробных данных о его географическом местоположении. Она предоставляет единый интерфейс для взаимодействия с множеством популярных API-сервисов, обеспечивая высокую точность и отказоустойчивость. * Единый интерфейс для множества провайдеров: Библиотека поддерживает более 15 сервисов, таких как IpInfo, FreeIpApi, IfConfig, MyIp, IpApiCom, IpWhoIs, Ip2Location и другие. * Работа с геолокацией: Получение детальной информации, включая город, регион, страну, почтовый индекс, координаты (широта и долгота) и данные о провайдере (ASN). * Поддержка асинхронного и блокирующего режимов: Библиотека предоставляет как асинхронные (async), так и синхронные (blocking) интерфейсы для легкой интеграции в любую кодовую базу. * Кэширование результатов: Встроенная система кэширования позволяет снизить нагрузку на API-сервисы и повысить производительность при повторных запр
Оглавление

public-ip-address — это простая и эффективная библиотека для языка Rust, предназначенная для получения внешнего IP-адреса устройства и подробных данных о его географическом местоположении. Она предоставляет единый интерфейс для взаимодействия с множеством популярных API-сервисов, обеспечивая высокую точность и отказоустойчивость.

Основные возможности

* Единый интерфейс для множества провайдеров: Библиотека поддерживает более 15 сервисов, таких как IpInfo, FreeIpApi, IfConfig, MyIp, IpApiCom, IpWhoIs, Ip2Location и другие.

* Работа с геолокацией: Получение детальной информации, включая город, регион, страну, почтовый индекс, координаты (широта и долгота) и данные о провайдере (ASN).

* Поддержка асинхронного и блокирующего режимов: Библиотека предоставляет как асинхронные (async), так и синхронные (blocking) интерфейсы для легкой интеграции в любую кодовую базу.

* Кэширование результатов: Встроенная система кэширования позволяет снизить нагрузку на API-сервисы и повысить производительность при повторных запросах.

* Безопасность и приватность: Поддержка шифрования файла кэша с помощью специального флага функции (feature flag).

* Гибкая настройка провайдеров: Возможность использования собственных API-ключей для определенных сервисов и выполнения запросов для произвольных целевых IP-адресов.

Преимущества

* Удобство интеграции: Простая установка через Cargo и интуитивно понятный API позволяют начать работу с минимальным количеством кода.

* Надежность: Если один сервис недоступен, библиотека может автоматически переключиться на другой доступный источник данных.

* Поддержка IPv4 и IPv6: Корректная работа с различными протоколами сетевых адресов.

* Настраиваемое время жизни кэша: Пользователь может самостоятельно определять срок актуальности сохраненных данных.

Скачать с GitHub

⬇️Поддержать автора⬇️

✅SBER: 2202 2050 1464 4675